Openfe - Alchemical free energy calculations for the masses

Related tags

Miscellaneousopenfe
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)
Minimalistic Gridworld Environment (MiniGrid)

Minimalistic Gridworld Environment (MiniGrid) There are other gridworld Gym environments out there, but this one is designed to be particularly simple

Maxime Chevalier-Boisvert 1.7k Jan 03, 2023
Mannaggia is a python application to praise or more likely to curse the saints

Mannaggia-py 👼 Remember Mannaggia? This is a Python remake of it, with new features. mannaggia is a python application to praise or more likely to cu

Christian Visintin 9 Aug 12, 2022
Fiber implements an proof-of-concept Python decorator that rewrites a function

Fiber implements an proof-of-concept Python decorator that rewrites a function so that it can be paused and resumed (by moving stack variables to a heap frame and adding if statements to simulate jum

Tyler Hou 225 Dec 13, 2022
A lightweight solution for local Particle development.

neopo A lightweight solution for local Particle development. Features Builds Particle projects locally without any overhead. Compatible with Particle

Nathan Robinson 19 Jan 01, 2023
Explore-bikeshare-data - GitHub project as part of the Programming for Data Science with Python Nanodegree from Udacity

Date created February 10, 2022 Project Title Explore US Bikeshare Data Descripti

Thárcyla 1 Feb 14, 2022
Just some information about this nerd.

Greetings, mates, I am ErrorDIM - aka ErrorDimension 👋 🧬 Programming Languages I Can Use: 🥇 Top Starred Repositories: # Name Stars Size Major Langu

ErrorDIM 3 Jan 11, 2022
Drop-down terminal for GNOME

Guake 3 README Introduction Guake is a python based dropdown terminal made for the GNOME desktop environment. Guake's style of window is based on an F

Guake 4.1k Dec 25, 2022
The blancmange curve can be visually built up out of triangle wave functions if the infinite sum is approximated by finite sums of the first few terms.

Blancmange-curve The blancmange curve can be visually built up out of triangle wave functions if the infinite sum is approximated by finite sums of th

Shankar Mahadevan L 1 Nov 30, 2021
A promo calculator for sports betting odds.

Sportbetter Calculation Toolkit Parlay Calculator This is a quick parlay calculator that considers some of the common promos offered. It is used to id

Luke Bhan 1 Sep 08, 2022
A python API act as Control Center to control your Clevo Laptop via wmi on windows.

ClevoPyControlCenter A python API act as Control Center to control your Clevo Laptop via wmi on windows. Usage # pip3 install pymi from clevo_wmi impo

3 Sep 19, 2022
Animation retargeting tool for Autodesk Maya. Retargets mocap to a custom rig with a few clicks.

Animation Retargeting Tool for Maya A tool for transferring animation data between rigs or transfer raw mocap from a skeleton to a custom rig. (The sc

Joaen 62 Dec 19, 2022
API for SpeechAnalytics integration with FreePBX/Asterisk

freepbx_speechanalytics_api API for SpeechAnalytics integration with FreePBX/Asterisk Скопировать файл settings.py.sample в settings.py и отредактиров

Iqtek, LLC 3 Nov 03, 2022
Export transactions for an algorand wallet to a CSV file

algorand_txn_csv_exporter - (Algorand transaction CSV exporter) This script will export transactions for an algorand wallet to a CSV file. It is inten

TeneoPython01 5 Jun 19, 2022
Mahadi-6 - This Is Bangladeshi All Sim 6 Digit Cloner Tools

BANGLADESHI ALL SIM 6 DIGIT CLONER TOOLS TOOLS $ apt update $ apt upgrade $ apt

MAHADI HASAN AFRIDI 2 Jan 23, 2022
A simple panel with IP, CNPJ, CEP and PLACA queries

Painel mpm Um painel simples com consultas de IP, CNPJ, CEP e PLACA Início 🌐 apt update && apt upgrade -y pkg i python git pip install requests Insta

MrDiniz 4 Nov 04, 2022
Code for the manim-generated scenes used in 3blue1brown videos

This project contains the code used to generate the explanatory math videos found on 3Blue1Brown. This almost entirely consists of scenes generated us

Grant Sanderson 4.1k Jan 02, 2023
An example of python package

An example of python package Why use packages? It is a good practice to not code the same function twice, and to reuse common code from one python scr

10 Oct 18, 2022
This app converts an pdf file into the audio file.

PDF-to-Audio This app takes an pdf as an input and convert it into audio, and the library text-to-speech starts speaking the preffered page given in t

Ojas Barawal 3 Aug 04, 2021
Web站点选优工具 - 优化GitHub的打开速度、高效Clone

QWebSiteOptimizer - Web站点速度选优工具 在访问GitHub等网站时,DNS解析到的IP地址可能并不是最快,过慢的节点会严重影响我们的访问情况,故制作出这样的工具来进一步优化网络质量。 由于该方案并非为VPN等方式进行的速度优化,以下几点需要您注意: 后续访问对应网站时仍可能需

QPT Family 15 May 01, 2022
Cloud Native sample microservices showcasing Full Stack Observability using AppDynamics and ThousandEyes

Cloud Native Sample Bookinfo App Observability Bookinfo is a sample application composed of four Microservices written in different languages.

Cisco DevNet 13 Jul 21, 2022