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)
Flexible constructor to create dynamic list of heterogeneous properties for some kind of entity

Flexible constructor to create dynamic list of heterogeneous properties for some kind of entity. This set of helpers useful to create properties like contacts or attributes for describe car/computer/

Django Stars 24 Jul 21, 2022
Traditionally, there is considerable friction for developers when setting up development environments

This self-led, half-day training will teach participants the patterns and best practices for working with GitHub Codespaces

CSE Labs at Spark 12 Dec 02, 2022
An audnexus client, providing rich author and audiobook data to Plex via it's legacy plugin agent system.

Audnexus.bundle An audnex.us client, providing rich author and audiobook data to Plex via it's legacy plugin agent system. 📝 Table of Contents About

David Dembeck 248 Jan 02, 2023
A general illumination correction method for optical microscopy.

CIDRE About CIDRE is a retrospective illumination correction method for optical microscopy. It is designed to correct collections of images by buildin

Kevin Smith 31 Sep 07, 2022
Whole-day timezone comparison

Timezone Converter Compare a full day of your local timezone with foreign ones $ timezone-converter tijuana --zone $ timezone-converter tijuana new_yo

Iago Alonso 12 Nov 24, 2022
This is a simple python script for checking A/L Examination results of srilankan students

AL-Result-Checker This is a simple python script for checking A/L Examination results of srilankan students INSTALLATION [Termux] [Linux] : apt-get up

Razor Kenway 8 Oct 24, 2022
Material de apoio da oficina de SAST apresentada pelo CAIS no Webinar de 28/05/21.

CAIS-CAIS Conjunto de Aplicações Intencionamente Sem-Vergonha do CAIS Material didático do Webinar "EP1. Oficina - Práticas de análise estática de cód

Fausto Filho 14 Jul 25, 2022
Create an application to visualize single/multiple Xandar Kardian people counting sensors detection result for a indoor area.

Program Design Purpose: We want to create an application to visualize single/multiple Xandar Kardian people counting sensors detection result for a indoor area.

2 Dec 28, 2022
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 program that lets you use your tablet's tilting to emulate an actual joystick on a Linux computer.

Tablet Tilt Joystick A program that lets you use your tablet's tilting to emulate an actual joystick on a Linux computer. It's called tablet tilt joys

1 Feb 07, 2022
This is a menu driven Railway Reservation Project which is mainly based on the python-mysql connectivity.

Online-Railway-Reservation-System This is a menu driven Railway Reservation Project which is mainly based on the python-mysql connectivity. The projec

Ananya Gupta 1 Jan 09, 2022
nbsafety adds a layer of protection to computational notebooks by solving the stale dependency problem when executing cells out-of-order

nbsafety adds a layer of protection to computational notebooks by solving the stale dependency problem when executing cells out-of-order

150 Jan 07, 2023
HSPICE can not perform Monte Carlo (MC) simulations while considering aging effects

HSPICE can not perform Monte Carlo (MC) simulations while considering aging effects. I developed a python wrapper that automatically performs MC and aging simulations using HPSICE to save engineering

Habib Kazemi 2 Nov 22, 2021
mrcal is a generic toolkit to solve calibration and SFM-like problems originating at NASA/JPL

mrcal is a generic toolkit to solve calibration and SFM-like problems originating at NASA/JPL. Functionality related to these problems is exposed as a set of C and Python libraries and some commandli

Dima Kogan 102 Dec 23, 2022
Penelope Shell Handler

penelope Penelope is an advanced shell handler. Its main aim is to replace netcat as shell catcher during exploiting RCE vulnerabilities. It works on

293 Dec 30, 2022
An async API wrapper for Dress To Impress written in Python.

dti.py An async API wrapper for Dress To Impress written in Python. Some notes: For the time being, there are no front-facing docs for this beyond doc

Steve C 1 Dec 14, 2022
A tool converting rpk (记乎) to apkg (Anki Package)

RpkConverter This tool is used to convert rpk file to Anki apkg. 如果遇到任何问题,请发起issue,并描述情况。如果转换rpk出现问题,请将文件发到邮箱 ssqyang [AT] outlook.com,我会debug并修复问题。 下

9 Nov 01, 2021
Tugas kelompok Struktur Data

Binary-Tree Tugas kelompok Struktur Data Silahkan jika ingin mengubah tipe data pada operasi binary tree *Boleh juga semua program kelompok bisa disat

Usmar manalu 2 Nov 28, 2022
Example of my qtile config using the gruvbox colorscheme.

QTILE config Example of my qtile config using the gruvbox colorscheme. unicodes.py unicodes.py returns a widget.TextBox with a unicode. Currently it c

Imanuel Febie 31 Jan 02, 2023
Use this function to get list of routes for particular journey

route-planner Functions api_processing Use this function to get list of routes for particular journey. Function has three parameters: Origin Destinati

2 Nov 28, 2021