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)
Drug Discovery App Using Lipinski's Rule-of-Five.

Drug Discovery App A Drug Discovery App Using Lipinski's Rule-of-Five. TAPIWA CHAMBOKO 🚀 About Me I'm a full stack developer experienced in deploying

tapiwa chamboko 3 Nov 08, 2022
Simple python code for compile brainfuck program.

py-brainf*ck Just a basic compiled that compiles your brainf*ck codes and gives you informations about memory, used cells, dumped version, logs etc...

4 Jun 13, 2021
MindF**k it's a programming language as BrainFuck, but with some cool features.

MindF**k Description MindF**k it's a programming language as BrainFuck, but with some cool features. Symbol What does symbol mean Next slot Previo

tixcode 0 Jun 15, 2022
Stori QA Automation Challenge

Stori-QA-Automation-Challenge This is the repository is created for the Stori QA Intern Automation Engineer Challenge! In this you can find the Requir

Daniel Castañeda 0 Feb 20, 2022
Automatic and platform-independent unpacker for Windows binaries based on emulation

_ _ __ _ __ _ | | | | / / (_) \ \ | | | | | |_ __ | | _ | | _ __ __ _ ___| | _____ _ __

514 Dec 21, 2022
An early stage integration of Hotwire Turbo with Django

Note: This is not ready for production. APIs likely to change dramatically. Please drop by our Slack channel to discuss!

Hotwire for Django 352 Jan 06, 2023
Battle-Ship - Python-console battle ship

Battle-Ship this SHOULD work in lenux(if i spelled it wrong spam issues till I fix it) the thing that maby wont work is where it clears the screen the

pl608 2 Jan 06, 2022
Automate your Microsoft Learn Student Ambassadors event certificate with Python

Microsoft Learn Student Ambassador Certificate Automation This repo simply use a template certificate docx file and generates certificates both docx a

Muhammed Oğuz 24 Aug 24, 2022
The docker-based Open edX distribution designed for peace of mind

Tutor: the docker-based Open edX distribution designed for peace of mind Tutor is a docker-based Open edX distribution, both for production and local

Overhang.IO 696 Dec 31, 2022
"Hacking" the (Telekom) Zyxel GPON SFP module (PMG3000-D20B)

"Hacking" the (Telekom) Zyxel GPON SFP module (PMG3000-D20B) The SFP can be sour

Matthias Riegler 52 Jan 03, 2023
A python script that automatically joins a zoom meeting based on your timetable.

Zoom Automation A python script that automatically joins a zoom meeting based on your timetable. What does it do? It performs the following processes:

Shourya Gupta 3 Jan 01, 2022
Gaia: a chrome extension that curates environmental news of a company

Gaia - Gaia: Your Environment News Curator Call for Code 2021 Gaia: a chrome extension that curates environmental news of a company Explore the docs »

4 Mar 19, 2022
poro is a LCU interface to change some lol's options.

poro is a LCU interface to change some lol's options. with this program you can: change your profile icon change your profiel background image ch

João Dematte 2 Jan 05, 2022
NasaApod - Astronomy Picture of the Day

Astronomy Picture of the Day Get interesting Astronomical pictures with a brief

Shripad Rao 1 Feb 15, 2022
Procedural modeling of fruit and sandstorm in Blender (bpy).

SandFruit Procedural modelling of fruit and sandstorm. Created by Adriana Arcia and Maya Boateng. Last updated December 19, 2020 Goal & Inspiration Ou

Adriana Arcia 2 Mar 20, 2022
Ergonomic option parser on top of dataclasses, inspired by structopt.

oppapī Ergonomic option parser on top of dataclasses, inspired by structopt. Usage from typing import Optional from oppapi import from_args, oppapi @

yukinarit 4 Jul 19, 2022
Template (v0) do Sistema Chatbot - atividade síncrona - INE5404

ine-5404-sistema-chatbot-template Template (v0) do Sistema Chatbot - atividade síncrona - INE5404 Veja abaixo um exemplo de funcionamento do sistema:

0 Dec 07, 2021
LOL英雄联盟云顶之弈挂机刷代币脚本,全自动操作,智能逻辑,功能齐全。

LOL云顶之弈挂机刷代币脚本 这是2019年全球总决赛写的一个云顶挂机脚本,python完成的。 功能: 自动拿牌卖牌 策略是高星策略,非固定阵容 自动登陆账号、打码、异常重启 战利品截图上传百度云 web中控发号,改密码,查看信息等 代码是三天赶出来的,所以有点混乱,WEB中控代码也不知道扔哪去了

77 Oct 10, 2022
Delayed iteration for polling and retries.

Does Python need yet another retry / poll library? It needs at least one that isn't coupled to decorators and functions. Decorators prevent the caller

A. Coady 22 Dec 29, 2022
Logging-monitoring-instrumentation - A brief repository on logging monitoring and instrumentation in Python

logging-monitoring-instrumentation A brief repository on logging monitoring and

Noah Gift 6 Feb 17, 2022