Openfe - Alchemical free energy calculations for the masses

Related tags

Miscellaneous openfe
Overview

build coverage

The Open Free Energy library

Alchemical free energy calculations for the masses.

See our website for more information.

License

This library is made available under the MIT open source license.

Important note

This is pre-alpha work, it should not be considered ready for production and API changes are expected at any time without prior warning.

Install

Dependencies can be installed via conda through:

conda env create -f environment.yml

The openfe library can be installed via:

python -m pip install --no-deps .

Authors

The OpenFE development team.

Acknowledgements

OpenFE is an Open Molecular Software Foundation hosted project.

Comments
  • Add visualization to AtomMapping

    Add visualization to AtomMapping

    Fixes #37

    Here is a little snippet to run in a notebook to see the visualization:

    from rdkit import Chem
    from openfe.setup.lomap_mapper import LomapAtomMapper
    
    
    mol_1_smi = "c1ccccc1"  # benzene
    mol_2_smi = "Oc1ccccc1"  #phenol
    mol_1, mol_2 = Chem.MolFromSmiles(mol_1_smi), Chem.MolFromSmiles(mol_2_smi)
    mol_1, mol_2 = Chem.AddHs(mol_1), Chem.AddHs(mol_2)
    Chem.rdDepictor.Compute2DCoords(mol_1), Chem.rdDepictor.Compute2DCoords(mol_2)
    
    mapper = LomapAtomMapper()
    mapping = next(mapper.suggest_mappings(mol_1, mol_2))
    
    
    mapping.visualize()
    

    I haven't added tests yet since I wasn't sure if this is where we wanted to wire this method in. I also need to wire this into the cli, but we should discuss what we want that to look like as well.

    opened by mikemhenry 18
  • WIP: Perses atom mappers

    WIP: Perses atom mappers

    Here we adress https://github.com/OpenFreeEnergy/tasks/issues/3. Goal is to embed the Perses atom mapping infrastructure like the lomap code.

    Todo:

    • [x] implement perses_mapper
    • [x] implement perses_scorer
    • [x] write tests perses_mapper
    • [x] write tests perses_scorer
    • [x] pep8
    • [x] add test for Not implemented error test_perses_scorer
    • [x] clean up tests with fixtures.
    • [x] making perses import optional? need to decide on centralized func call or decorators
    • [x] show results

    this is related to: #3 #11 #10

    opened by RiesBen 16
  • use versioneer for the version number

    use versioneer for the version number

    @dwhswenson thoughts on this? The one thing that is nice about using versioneer here is the output is really useful during development, but I will admit I'm not an expert on the plugin cli architecture, so not having an import openfe may be very intentional.

    $ openfe --version
    openfe, version v0.1.post7+gfdc895f
    

    P.S. Really not trying to bike shed hear, so if this PR feels like that is what I'm doing, feel free to close it!

    opened by mikemhenry 11
  • Minor updates to Scorer

    Minor updates to Scorer

    This is a small PR where I'm cherry-picking some of the changes that have come up as I've been working on AtomMappers. Main things:

    • Added setup/errors.py, which currently just contains a string template for errors when using abstract methods.
    • Make score and annotation functions in Scorer private. This will allow arbitrary functions to be used as scorers (useful if an AtomMapper wants to provide a scoring function as an instance method).
    • Move the fixtures for atommappings into conftest.py; use one of them instead of the nonsense placeholder for the scoring tests.
    opened by dwhswenson 10
  • Molecular box auto padding

    Molecular box auto padding

    There should probably be a way (i.e. classmethod) to auto generate a box size for a given protein (or largest thing), this description is good for how this should behave:

    https://github.com/choderalab/perses/issues/949#issuecomment-1057581435

    priority:low 
    opened by richardjgowers 9
  • Class renames

    Class renames

    To try thinking bigger and be more future proof, label everything currently designed for ligands as for LigandX. i.e.

    • Molecule -> LigandMolecule
    • AtomMapper -> LigandAtomMapper
    • AtomMapping -> LigandAtomMapping

    In particular, our Molecule representation will likely not suit a protein molecule (so isn't a generic Molecule, but something we use for a specific use case).

    The AtomMapping container works for small molecules, but for larger molecules (i.e. protein mutation) you'd want something smarter at expressing the change.

    opened by richardjgowers 9
  • CLI for AtomMapping

    CLI for AtomMapping

    Includes and builds on #49, should only be merged after that one.

    This adds some reusable parameters (--mol and --mapper), as well as a command that outputs the mol1_to_mol2 mapping dict.

    The current usage is only intended to be a starting point, which we can improve later. It looks something like this:

    $ openfe atommapping --mol "Cc1ccccc1" --mol "CC1CCCCC1" --mapper LomapAtomMapper
    {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6}
    

    Things that aren't ideal there:

    • Takes SMILES strings (and only SMILES for now). That can easily be extended. Currently this is also using an ugly workaround to avoid issue in openfreeenergy/lomap#4.
    • There's no way to provide options to mapper. ~I'm not sure that there's an easy way to do that, either.~ [EDIT: I came up with an approach that I think will work, but the question whether it's worth it is still on the table.] Perhaps it would make more sense to load from a serialized network and to find the edge(s?) associated with the two molecules -- in this sense, you'd use it to look at the mapping after it has been generated (but before simulating), instead of generating it before. @richardjgowers, you would have better sense on whether that approach would fit with what was requested.

    A few corners are still WIP, but the main ideas are here.

    • [x] MOL parameter
    • [x] MAPPER parameter
    • [x] atommapping command
    • [x] Tests for everything
    • [x] Docstrings for everything
    opened by dwhswenson 9
  • Add Versioneer

    Add Versioneer

    Fixes issue #23

    We need to decide how we want to tag releases https://github.com/python-versioneer/python-versioneer/blob/master/INSTALL.md so we can set tag_prefix correctly.

    tag_prefix:
    
    a string, like 'PROJECTNAME-', which appears at the start of all VCS tags. If your tags look like 'myproject-1.2.0', then you should use tag_prefix='myproject-'. If you use unprefixed tags like '1.2.0', this should be an empty string, using either tag_prefix= or tag_prefix=''.
    
    opened by mikemhenry 9
  • Barebones setup

    Barebones setup

    Please add as desired / tick off as sorted out

    We need:

    • [x] basic setup.py / setup.cfg / pyproject.toml
    • [x] basic directory structure
    • [x] license (thanks @richardjgowers !)
    • [x] README.md
    • [x] environment.yaml?
    • [x] dummy workflow in .github folder? (just an action that tests nothing should be fine?)
    • [x] pep8speaks?
    • [x] coverage / codecov
    • [x] linters? (linting will be kept local for now)
    • [ ] CONTRIBUTING
    opened by IAlibay 9
  • [WIP] quickrun should error if a unit errors

    [WIP] quickrun should error if a unit errors

    Errors, but saves the details error in the output file (and probably dumps it to stdout as well, though it'll be part of a mess).

    • [x] raise error at the end if we get any error
    • [ ] test case with a erroring unit
    opened by dwhswenson 7
  • quickrun CLI command

    quickrun CLI command

    Takes a ProtocolDAG saved as JSON, runs the DAG, and returns results.

    A few things before this is ready to merge:

    • [x] Decide whether the input is a serialized ProtocolDAG or a serialized Transformation. These are essentially equivalent, but there's some discussion to be had on what it means from user experience.
    • [x] Decide on how to ensure serializability of results. In particular, we need to decide how to handle Path objects, and whether any non-JSON-serializables other than Paths are allowed return values.
    • [x] Add a test
    • [ ] ~Merge openfreeenergy/gufe#62~ This isn't actually needed here, but will be needed in the future.
    • [x] Merge PR that adds GufeTokenizable support to atom mappings (included in #142, but might split that part off of that PR)

    Resolves #172.

    opened by dwhswenson 7
  • Dump system PDB or XML by default

    Dump system PDB or XML by default

    Something I've realise, we don't have a good way to post process coordinates at the moment since we don't have a "topology" equivalent we dump out by default to then pass out to MDA or MDTraj.

    opened by IAlibay 1
  • RBFE protocol: add cpu fallback for minimizing

    RBFE protocol: add cpu fallback for minimizing

    I'm not convinced this is the best approach (actually I think it's kinda broken).

    I think ideally we should attempt to do the GPU minimizing, then if the energy is still positive rewind to before we attempted to minimize and default to the CPU. Is this possible?

    Ideally we should migrate this out to openmmtools, just adding this here for an initial test/discussion.

    Pinging @mikemhenry and @dwhswenson

    opened by IAlibay 1
  • Clarify RBFE online analysis log and make sure it's available for users

    Clarify RBFE online analysis log and make sure it's available for users

    We got a request for monitoring simulations, this is already generated as part of the MultistateSampler online analysis, but we should make sure that those log files are a) documented, b) actually recovered at the end of simulations (and not just left in temp directories).

    opened by IAlibay 0
  • Move mapper/mapping (LigandAtomMapping and LigandAtomMapper) implementations to gufe?

    Move mapper/mapping (LigandAtomMapping and LigandAtomMapper) implementations to gufe?

    Recent conversations raised that these implementations may be useful to more than one project.

    How best should these classes be shared? Should they be moved to gufe?

    opened by IAlibay 5
Releases(v0.5)
  • v0.5(Dec 16, 2022)

    Mainly bug fixes concerning constraint mapping in the RBFE Protocol

    What's Changed

    • TST: fix stray directories being made during testing by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/220
    • Dry run now returns sampler via debug dictionary entry by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/217
    • MAINT: Fixed up implicit none errors from mypy by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/226
    • Bug hunt fixes by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/225
    • Add --log option to CLI by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/218
    • Xml regression tests by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/231
    • MAINT: remove old offtk from test matrix by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/236
    • bump pin on gufe by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/235

    Full Changelog: https://github.com/OpenFreeEnergy/openfe/compare/v0.4...v0.5

    Source code(tar.gz)
    Source code(zip)
  • v0.4(Nov 1, 2022)

    What's Changed

    • Fix the number of production steps being used by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/141
    • change Lomap atom mapper to default to threed=True by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/143
    • Mapping distance by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/145
    • added check for element changes in openmm rbfe protocol by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/146
    • Visualization align mapped mols to eachother by @RiesBen in https://github.com/OpenFreeEnergy/openfe/pull/148
    • WIP: Perses atom mappers by @RiesBen in https://github.com/OpenFreeEnergy/openfe/pull/147
    • Add lower pin for lomap2 in environment yaml file by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/157
    • Fixes the openmm rbfe protocol by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/159
    • Fix rms tolerance check by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/161
    • 154 add test for persesmapper not finding a mapping by @RiesBen in https://github.com/OpenFreeEnergy/openfe/pull/158
    • Add vacuum support for relative ligand transform by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/160
    • Fix tests by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/163
    • remove py 3.8 from CI by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/162
    • Remove universal bdist_wheel in setup.cfg by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/165
    • Fix to json by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/168
    • Add sams and independent samplers to equil RBFE protocol by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/125
    • Using gufe protocols by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/142
    • Make dry run return true, add basepath by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/186
    • Fix results_cls attribute name by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/188
    • Fix result_cls again by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/189
    • fix gathering of protocol results by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/191
    • Make unit close reporter at end of simulation by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/190
    • some mock based tests by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/193
    • quickrun CLI command by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/171
    • pin dependencies for release by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/194
    • Optional codecov failures by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/196
    • Atom mapping tests by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/198
    • add logo badge by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/197
    • Expose loaders in CLI by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/200
    • [DOCS] Add quickrun command docs by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/202
    • Are we there yet? The py310 edition by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/185
    • squashed a bug in mapping repr by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/207
    • [DOCS] Fixing RTD by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/204
    • fix gufe API usage in _create; move setup/methods -> protocols/ by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/211
    • [DOCS] Add dumping_transformation by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/210
    • [Docs] Installation info by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/212
    • [WIP] quickrun should error if a unit errors by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/209
    • Finish quickrun error handling by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/215
    • Pin to 0.4 gufe series for release by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/216

    New Contributors

    • @RiesBen made their first contribution in https://github.com/OpenFreeEnergy/openfe/pull/148

    Full Changelog: https://github.com/OpenFreeEnergy/openfe/compare/v0.3...v0.4

    Source code(tar.gz)
    Source code(zip)
  • v0.2.1(Apr 7, 2022)

    Install Instructions

    Online Installer

    To play with the latest notebook, use this command to install the latest version of our packages:

    conda env create openfe/openfe-notebooks Then run:

    conda activate openfe-notebooks
    git clone https://github.com/OpenFreeEnergy/ExampleNotebooks.git openfe-example-notebooks
    cd openfe-example-notebooks
    git checkout april-2022
    jupyter notebook openmm-rbfe/OpenFE_showcase_1_RBFE_of_T4lysozyme.ipynb
    

    Offline Installer

    Download the relevant installer for your operating system and preferred python version. We have attached the version of the example notebook that works with the latest release of openfe.

    If you used our single file installer from the last release, download new-deps.tar.gz. Then activate the old environment before extracting and installing the packages with pip:

    # Be sure the old environment is activated! 
    mkdir new-deps && tar xzvf new-deps.tar.gz -C new-deps
    pip install new-deps/*
    

    Bug Fixes

    Hotfix of results

    Source code(tar.gz)
    Source code(zip)
    ExampleNotebooks-april-2022.tar.gz(1.18 MB)
    new-deps.tar.gz(931.46 KB)
    openfe-v0.2.1-py38-Linux-x86_64.sh(1377.49 MB)
    openfe-v0.2.1-py38-MacOSX-x86_64.sh(511.41 MB)
    openfe-v0.2.1-py39-Linux-x86_64.sh(1401.89 MB)
    openfe-v0.2.1-py39-MacOSX-x86_64.sh(513.19 MB)
  • v0.1(Mar 28, 2022)

    What's Changed

    • Initial skeleton by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/21
    • Add some changes requested in PR #21 by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/22
    • Fix setup.cfg to include packages by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/25
    • Add base Scorer by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/26
    • atommapping implementation by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/28
    • Prevent CodeCov from running on forks, cron jobs by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/27
    • Convert to normal package; add utils; move errors to utils/errors by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/32
    • AtomMapper base classes by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/30
    • Remove Scorers by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/33
    • Molecule class by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/39
    • [WIP] Network container class by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/40
    • Add a simple coveragerc to ignore tests in reporting by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/44
    • Tests for Network object by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/43
    • Add Versioneer by @mikemhenry in https://github.com/OpenFreeEnergy/openfe/pull/45
    • WIP: Lomap atommapper by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/31
    • suggested Network & Molecule changes by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/46
    • update AtomMapping type annotations by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/48
    • Set up basic mypy CI by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/50
    • omit _version.py from coverage by @IAlibay in https://github.com/OpenFreeEnergy/openfe/pull/53
    • Proposed API change on AtomMapper by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/56
    • CLI Skeleton by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/49
    • network planning functions started by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/41
    • CLI for AtomMapping by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/57
    • added stubs for Molecule conversions by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/58
    • Molecule serialization/deserialization by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/63
    • Network Serialization by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/64
    • Docsdocsdocs by @richardjgowers in https://github.com/OpenFreeEnergy/openfe/pull/66
    • Skip running OE license check on PR by @mikemhenry in https://github.com/OpenFreeEnergy/openfe/pull/71
    • Add serialization test data script by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/69
    • Add support to get molecule name from _Name prop by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/68
    • Add support for CLI --mol to load SDF by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/67
    • Add visualization to AtomMapping by @mikemhenry in https://github.com/OpenFreeEnergy/openfe/pull/60
    • [WIP] Combine visualization with CLI by @dwhswenson in https://github.com/OpenFreeEnergy/openfe/pull/72

    Full Changelog: https://github.com/OpenFreeEnergy/openfe/commits/v0.1

    Source code(tar.gz)
    Source code(zip)
    ExampleNotebooks.tar.gz(1.23 MB)
    macOS-latest_py3.8.sh.zip(504.57 MB)
    macOS-latest_py3.9.sh.zip(505.42 MB)
    ubuntu-latest_py3.8.sh.zip(1370.76 MB)
    ubuntu-latest_py3.9.sh.zip(1396.11 MB)
Owner
null
Shai-Hulud - A qtile configuration for the (spice) masses

Shai-Hulud - A qtile configuration for the (spice) masses Installation Notes These dotfiles are set up to use GNU stow for installation. To install, f

null 16 Dec 30, 2022
A simple app that helps to train quick calculations.

qtcounter A simple app that helps to train quick calculations. Usage Manual Clone the repo in a folder using git clone https://github.com/Froloket64/q

null 0 Nov 27, 2021
This repository containing cross-section cut and fill calculations using Python programming language.

cross-section This repository is containing cut and fill calculations for cross-section using Python programming language. This codes is made to calcu

null 3 Jun 15, 2022
Data wrangling & common calculations for results from qMem measurement software

qMem Datawrangler This script processes output of qMem measurement software into an Origin ® compatible *.csv files and matplotlib graphs to quickly v

Julian 1 Nov 30, 2021
A collection of simple tools that proved to be needed for hadling large periodic calculations with the VASP software package.

VESTA-tools A collection of simple tools that proved to be needed for handling large periodic calculations with the VASP software package. distTotCalc

Ilia Kichev 2 Dec 14, 2021
Statistics Calculator module for all types of Stats calculations.

Statistics-Calculator This Calculator user the formulas and methods to find the statistical values listed. Statistics Calculator module for all types

null 2 May 29, 2022
Cylinder volume calculator features the calculations of the volume of a Right /oblique full cylinder

Cylinder-Volume-Calculator Cylinder volume calculator features the calculations of the volume of a Right /oblique full cylinder. Size : 10.5 mb compat

Abhijeet 4 Nov 7, 2022
UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses.

UdemyPy UdemyPy is a bot that hourly looks for Udemy free courses and post them in my Telegram Channel: Free Courses. How does it work? For publishing

null 88 Dec 25, 2022
an opensourced roblox group finder writen in python 100% free and virus-free

Roblox-Group-Finder an opensourced roblox group finder writen in python 100% free and virus-free note : if you don't want install python or just use w

mollomm1 1 Nov 11, 2021
Gba-free-fonts - Free font resources for GBA game development

gba-free-fonts Free font resources for GBA game development This repo contains m

null 28 Dec 30, 2022
A web app for presenting my research in BEM(building energy model) simulation

BEM(building energy model)-SIM-APP The is a web app presenting my research in BEM(building energy model) calibration. You can play around with some pa

null 8 Sep 3, 2021
Control System Packer is a lightweight, low-level program to transform energy equations into the compact libraries for control systems.

Control System Packer is a lightweight, low-level program to transform energy equations into the compact libraries for control systems. Packer supports Python ?? , C ?? and C++ ?? libraries.

mirnanoukari 31 Sep 15, 2022
Using graph_nets for pion classification and energy regression. Contributions from LLNL and LBNL

nbdev template Use this template to more easily create your nbdev project. If you are using an older version of this template, and want to upgrade to

null 3 Nov 23, 2022
This code extracts line width of phonons from specular energy density (SED) calculated with LAMMPS.

This code extracts line width of phonons from specular energy density (SED) calculated with LAMMPS.

Masato Ohnishi 3 Jun 15, 2022
A free and open-source chess improvement app that combines the power of Lichess and Anki.

A free and open-source chess improvement app that combines the power of Lichess and Anki. Chessli Project Activity & Issue Tracking PyPI Build & Healt

null 93 Nov 23, 2022
A flexible free and unlimited python tool to translate between different languages in a simple way using multiple translators.

deep-translator Translation for humans A flexible FREE and UNLIMITED tool to translate between different languages in a simple way using multiple tran

Nidhal Baccouri 806 Jan 4, 2023
Ikaros is a free financial library built in pure python that can be used to get information for single stocks, generate signals and build prortfolios

Ikaros is a free financial library built in pure python that can be used to get information for single stocks, generate signals and build prortfolios

Salma Saidane 64 Sep 28, 2022
A free and powerful system for awareness and research of the American judicial system.

CourtListener Started in 2009, CourtListener.com is the main initiative of Free Law Project. The goal of CourtListener.com is to provide high quality

Free Law Project 332 Dec 25, 2022
An open letter in support of Richard Matthew Stallman being reinstated by the Free Software Foundation

An open letter in support of RMS. To sign, click here and name the file <username>.yaml (replace <username> with your name) with the following content

null 2.4k Jan 7, 2023