Unified Distributed Execution

Related tags

Miscellaneousunidist
Overview

Unified Distributed Execution

The framework supports multiple execution backends: Ray, Dask, MPI and MultiProcessing.

To run tests you need to install pytest package:

pip install pytest

Run tests using command:

pytest unidist/test/

For unidist MPI backend follow additional instructions.

Comments
  • FIX-#106: Change directories to be checked by linters

    FIX-#106: Change directories to be checked by linters

    Signed-off-by: Igoshev, Yaroslav [email protected]

    What do these changes do?

    • [x] passes flake8 unidist/
    • [x] passes black unidist/
    • [x] signed commit with git commit -s
    • [x] Resolves #106
    • [x] tests passing
    • [x] module layout described at docs/developer/architecture.rst is up-to-date
    opened by YarShev 11
  • FIX-#99: Upgrade min python version

    FIX-#99: Upgrade min python version

    Signed-off-by: Igoshev, Yaroslav [email protected]

    What do these changes do?

    • [x] passes flake8 .
    • [x] passes black .
    • [x] signed commit with git commit -s
    • [x] Resolves #99
    • [x] tests passing
    • [x] module layout described at docs/developer/architecture.rst is up-to-date
    opened by YarShev 9
  • FEAT-#2: Add CLI interface for `unidist`

    FEAT-#2: Add CLI interface for `unidist`

    PR adds CLI interface for unidist. The examples of usage can be received:

    user$: python unidist/cli -h
    

    or if package is installed

    user$: unidist --help
    

    Signed-off-by: Alexey Prutskov [email protected]

    opened by prutskov 8
  • FIX-#91: Add readthedocs config file

    FIX-#91: Add readthedocs config file

    Signed-off-by: Alexey Prutskov [email protected]

    What do these changes do?

    PR adds .readthedocs.yaml configuration file. Only one difference from the main doc building flow is using python3.8 instead of using 3.7 by default. In case of using python3.7 we have documentation built failed because MPI backend in this case requires optional pickle5 package. Updating python version to 3.8 is a way to fix this.

    • [x] passes flake8 .
    • [x] passes black .
    • [x] signed commit with git commit -s
    • [x] Resolves #91
    • [ ] tests added and passing
    • [ ] module layout described at docs/developer/architecture.rst is up-to-date
    opened by prutskov 7
  • FIX-#104: Add testing py3.9 in CI

    FIX-#104: Add testing py3.9 in CI

    Signed-off-by: Alexey Prutskov [email protected]

    What do these changes do?

    • [x] passes flake8 .
    • [x] passes black .
    • [x] signed commit with git commit -s
    • [x] Resolves #104
    • [x] tests added and passing
    • [ ] module layout described at docs/developer/architecture.rst is up-to-date
    opened by prutskov 6
  • FEAT-#54 Add unidist main logo image

    FEAT-#54 Add unidist main logo image

    What do these changes do?

    Add logo to the README

    • [ ] passes flake8 .
    • [ ] passes black .
    • [ ] signed commit with git commit -s
    • [x] Resolves #54
    • [ ] tests added and passing
    • [ ] module layout described at docs/developer/architecture.rst is up-to-date
    documentation 📜 
    opened by no-ponomarev 6
  • DOCS-#88:  Update main/getting_started pages of rst docs

    DOCS-#88: Update main/getting_started pages of rst docs

    Signed-off-by: Alexey Prutskov [email protected]

    What do these changes do?

    • [x] passes flake8 .
    • [x] passes black .
    • [x] signed commit with git commit -s
    • [x] Resolves #88
    • [x] tests passing
    • [ ] module layout described at docs/developer/architecture.rst is up-to-date
    opened by prutskov 6
  • `mpi` backend can't start on Windows due to access violation

    `mpi` backend can't start on Windows due to access violation

    Unidist can't start mpi backend on Windows with the next exception:

    Log
    C:\Users\aprutsko\repositories\unidist>python unidist\cli -m pytest unidist\test\test_general.py -b mpi
    Windows fatal exception: access violation
    
    Current thread 0x00005c44 (most recent call first):
      File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
      File "<frozen importlib._bootstrap_external>", line 1174 in exec_module
      File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
      File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 991 in _find_and_load
      File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
      File "<frozen importlib._bootstrap>", line 1042 in _handle_fromlist
      File "C:\Users\aprutsko\repositories\unidist\unidist\core\backends\mpi\core\communication.py", line 18 in <module>
      File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
      File "<frozen importlib._bootstrap_external>", line 843 in exec_module
      File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
      File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 991 in _find_and_load
      File "C:\Users\aprutsko\repositories\unidist\unidist\core\backends\mpi\core\executor.py", line 13 in <module>
      File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
      File "<frozen importlib._bootstrap_external>", line 843 in exec_module
      File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
      File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 991 in _find_and_load
      File "C:\Users\aprutsko\repositories\unidist\unidist\core\backends\mpi\core\__init__.py", line 5 in <module>
      File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
      File "<frozen importlib._bootstrap_external>", line 843 in exec_module
      File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
      File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 991 in _find_and_load
      File "C:\Users\aprutsko\repositories\unidist\unidist\core\backends\mpi\backend.py", line 10 in <module>
      File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
      File "<frozen importlib._bootstrap_external>", line 843 in exec_module
      File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
      File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 991 in _find_and_load
      File "C:\Users\aprutsko\repositories\unidist\unidist\core\base\utils.py", line 88 in get_backend_proxy
      File "C:\Users\aprutsko\repositories\unidist\unidist\api.py", line 34 in make_decorator
      File "C:\Users\aprutsko\repositories\unidist\unidist\api.py", line 118 in remote
      File "C:\Users\aprutsko\repositories\unidist\unidist\test\utils.py", line 40 in <module>
      File "<frozen importlib._bootstrap>", line 219 in _call_with_frames_removed
      File "<frozen importlib._bootstrap_external>", line 843 in exec_module
      File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
      File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 991 in _find_and_load
      File "C:\Users\aprutsko\repositories\unidist\unidist\test\test_general.py", line 10 in <module>
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\assertion\rewrite.py", line 170 in exec_module
      File "<frozen importlib._bootstrap>", line 671 in _load_unlocked
      File "<frozen importlib._bootstrap>", line 975 in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 991 in _find_and_load
      File "<frozen importlib._bootstrap>", line 1014 in _gcd_import
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\importlib\__init__.py", line 127 in import_module
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\pathlib.py", line 524 in import_path
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\python.py", line 578 in _importtestmodule
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\python.py", line 500 in _getobj
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\python.py", line 291 in obj
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\python.py", line 516 in _inject_setup_module_fixture
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\python.py", line 503 in collect
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\runner.py", line 341 in <lambda>
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\runner.py", line 311 in from_call
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\runner.py", line 341 in pytest_make_collect_report
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\runner.py", line 458 in collect_one_node
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\main.py", line 808 in genitems
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\main.py", line 634 in perform_collect
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\main.py", line 333 in pytest_collection
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\main.py", line 322 in _main
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\main.py", line 269 in wrap_session
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\main.py", line 316 in pytest_cmdline_main
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_callers.py", line 39 in _multicall
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_manager.py", line 80 in _hookexec
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pluggy\_hooks.py", line 265 in __call__
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\config\__init__.py", line 162 in main
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\_pytest\config\__init__.py", line 185 in console_main
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\site-packages\pytest\__main__.py", line 5 in <module>
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\runpy.py", line 87 in _run_code
      File "C:\Users\aprutsko\.conda\envs\unidist\lib\runpy.py", line 194 in _run_module_as_main
    
    ===================================================================================
    
    bug 🦗 P1 
    opened by prutskov 6
  • FIX-#36: Serialization caches.

    FIX-#36: Serialization caches.

    Performance numbers

    plasticc: | | I_MPI 112 previous | I_MPI 112 | MPICH 112 | |----------|--------------------|-----------|-----------| | read_csv | 187,14 | 185.85539 | | | t_etl | 735,44 | 380.46509 | |

    ny_taxi: | | I_MPI 112 previous | I_MPI 112 | MPICH 112 | |----------|--------------------|-----------|-----------| | read_csv | 289,68 | 238.94134 | | | Q1 | 1,84 | 1.09677 | | | Q2 | 52,93 | 50.96434 | | | Q3 | 12,20 | 4.78096 | | | Q4 | 7,33 | 5.09975 | |

    census: | | I_MPI 112 previous | I_MPI 112 | MPICH 112 | |----------|--------------------|-----------|-----------| | read_csv | 7,73 | 6.54384 | | | t_etl | 103,75 | 81.01938 | |

    opened by no-ponomarev 5
  • FIX-#13: Busy wait MPI receive to remove unidist.get contention problem

    FIX-#13: Busy wait MPI receive to remove unidist.get contention problem

    Modin plasticc benchmark reveals heavy contention problem when using all CPU cores and MPI backend. One heavy worker task contents with unidist.get receive operation, which previously never went to sleep.

    opened by no-ponomarev 5
  • FIX-#130: Make unidist be pure Python

    FIX-#130: Make unidist be pure Python

    Signed-off-by: Igoshev, Yaroslav [email protected]

    What do these changes do?

    • [x] passes flake8 .
    • [x] passes black .
    • [x] signed commit with git commit -s
    • [x] Resolves #130
    • [x] tests passing
    • [x] module layout described at docs/developer/architecture.rst is up-to-date
    opened by YarShev 4
  • FIX-#219: Update min Ray version to 1.13.0

    FIX-#219: Update min Ray version to 1.13.0

    Signed-off-by: Igoshev, Iaroslav [email protected]

    What do these changes do?

    • [x] passes flake8 .
    • [x] passes black .
    • [x] signed commit with git commit -s
    • [x] Resolves #219
    • [x] tests passing
    • [x] module layout described at docs/developer/architecture.rst is up-to-date
    opened by YarShev 0
  • FEAT-#0000: Add new implementation of actors for multiprocessing

    FEAT-#0000: Add new implementation of actors for multiprocessing

    What do these changes do?

    • [ ] passes flake8 .
    • [ ] passes black .
    • [ ] signed commit with git commit -s
    • [ ] Resolves #?
    • [ ] tests added and passing
    • [ ] module layout described at docs/developer/architecture.rst is up-to-date
    opened by prutskov 0
  • [MPI] Shared object storage performance research

    [MPI] Shared object storage performance research

    Look at benefits and possible data transfer protocol problems for MPI backend if we use shared object storage for each node.

    • [ ] Need to find scalable representative benchmark for this.
    performance 🚀 P1 
    opened by no-ponomarev 0
  • Add documentation on execution flows of unidist with different backends

    Add documentation on execution flows of unidist with different backends

    We should add sections/pages on execution flows of unidist with different backends:

    • unidist_on_ray
    • unidist_on_dask
    • unidist_on_mpi
    • unidist_on_multiprocessing
    • unidist_on_python
    documentation 📜 P2 Epic 
    opened by YarShev 0
Releases(0.2.1)
  • 0.2.1(Nov 22, 2022)

    This release contains multiple important bugfixes for MPI backend, which makes it be more functional and stable.

    Key Features and Updates

    • Stability and Bugfixes
      • FIX-#170: Fix serialization/deserialization for Ray actors (#171)
      • FIX-#172: Fix serialization/deserialization for Dask actors (#173)
      • FIX-#174: Fix serialization/deserialization for MPI actors (#177)
      • FIX-#179: Handle None return values correctly on MPI backend (#180)
      • FIX-#175: FIX-#178: Fix nested remote calls of remote tasks and actor methods (#176)
      • FIX-#187: Make Data_ID unique for different workers on MPI backend (#188)
      • FIX-#183: Fix serialization of dict_keys for MPI backend (#184)
      • FEAT-#185: Add communication logging (#186)
      • FIX-#189: Fix Actor scheduling (#190)
      • FIX-#191: Fix pendinq response after blocking GET request (#192)
      • FIX-#195: Fix serialization for pandas and numpy objects (#196)
      • FIX-#193: Fix actor async execution (#194)
      • FIX-#197: Initialize a backend when doing unidist.put (#198)
    • Update testing suite
      • TEST-#181: Added async actor tests (#182)

    Contributors

    @YarShev @Retribution98

    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Sep 28, 2022)

    This release adds support for the dynamic spawning of MPI worker processes, contains significant refactoring of MPI backend, cut off unidist CLI, includes important updates for documentation and a bunch of bugfixes.

    Key Features and Updates

    • Stability and Bugfixes
      • FIX-https://github.com/modin-project/unidist/issues/130: Make unidist be pure Python (https://github.com/modin-project/unidist/pull/131)
      • FIX-https://github.com/modin-project/unidist/issues/133: Add support of running mpi backend via CLI on Windows (https://github.com/modin-project/unidist/pull/134)
      • FIX-https://github.com/modin-project/unidist/issues/69: Pin min msgpack version (https://github.com/modin-project/unidist/pull/135)
      • FIX-https://github.com/modin-project/unidist/issues/124: Set max_retries=0 for Ray backend (https://github.com/modin-project/unidist/pull/136)
      • FIX-https://github.com/modin-project/unidist/issues/142: Fix flake8 CI fail (https://github.com/modin-project/unidist/pull/143)
      • FIX-https://github.com/modin-project/unidist/issues/145: Synchronize Ray with latest changes (https://github.com/modin-project/unidist/pull/146)
      • FIX-https://github.com/modin-project/unidist/issues/137: Set threads_per_worker=1 for local Dask cluster (https://github.com/modin-project/unidist/pull/151)
      • FIX-https://github.com/modin-project/unidist/issues/152: Clean up MPI backend (https://github.com/modin-project/unidist/pull/153)
      • FIX-https://github.com/modin-project/unidist/issues/161: Propagate Backend.put('mpi') to MPI workers (https://github.com/modin-project/unidist/pull/162)
      • FIX-https://github.com/modin-project/unidist/issues/163: Fix unwrapping object refs and data IDs (https://github.com/modin-project/unidist/pull/164)
      • FIX-https://github.com/modin-project/unidist/issues/167: Set lowest bound for Ray versions (https://github.com/modin-project/unidist/pull/168)
    • New Features
      • FEAT-https://github.com/modin-project/unidist/issues/3: Add cluster_resources in API (https://github.com/modin-project/unidist/pull/35)
      • FEAT-https://github.com/modin-project/unidist/issues/139; REFACTOR-https://github.com/modin-project/unidist/issues/100: Implement the spawning of MPI processes dynamically (https://github.com/modin-project/unidist/pull/144)
      • FEAT-https://github.com/modin-project/unidist/issues/159: Add support for Async Actors on MPI backend (https://github.com/modin-project/unidist/pull/160)
      • FEAT-https://github.com/modin-project/unidist/issues/165: Add is_initialized feature to unidist API (https://github.com/modin-project/unidist/pull/166)
    • Refactor Codebase
      • REFACTOR-https://github.com/modin-project/unidist/issues/149: Cut off unidist CLI (https://github.com/modin-project/unidist/pull/150)
    • Documentation improvements
      • DOCS-https://github.com/modin-project/unidist/issues/128: Update installation section in docs (https://github.com/modin-project/unidist/pull/132)
      • DOCS-https://github.com/modin-project/unidist/issues/85: Add docs on running unidist with different backends (https://github.com/modin-project/unidist/pull/140)
      • DOCS-https://github.com/modin-project/unidist/issues/147: Update docs to be in line with the code base (https://github.com/modin-project/unidist/pull/148)
      • DOCS-https://github.com/modin-project/unidist/issues/154: Make documentation fail on warning (https://github.com/modin-project/unidist/pull/155)
      • DOCS-https://github.com/modin-project/unidist/issues/157: Set fail_on_warning: false (https://github.com/modin-project/unidist/pull/158)

    Contributors

    @YarShev, @prutskov, @no-ponomarev

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Feb 1, 2022)

    This is the first release of undist, which includes support for different execution backends such as Ray, MPI, Dask, Python Multiprocessing, as well as a sequential Python backend for debugging. This release contains significant changes and upgrades to codebase, unidist's documentation, and some bugfixes.

    Key Features and Updates

    • Initial changes
    • Stability and bugfixes
      • FIX-#13: Add busy wait mpi recv to remove unidist.get contention problem
      • TEST-#20: Add linters CI (#19)
      • FEAT-#4: Add configs for unidist behavior tuning (#21)
      • FEAT-#38: Add configs for Dask cluster setup (#39)
      • FIX-#45: Add What do these changes do section in PRs description (#46)
      • FIX-#29: Throw a user-friendly error message in case pickle5 is not installed (#31)
      • FIX-#25: Throw a user-friendly error message in case mpi4py is not installed (#32)
      • FEAT-#47: Add BackendName namespace class to use instead of strings (#48)
      • FIX-#49: Add check on entry in Parameter.choices (#50)
      • FIX-#51: Use lower-case for str TypeDescriptor (#52)
      • FEAT-#2: Add CLI interface for unidist (#14)
      • FIX-#58: Add exit status when run from CLI (#59)
      • FEAT-#62: Add ValueSource enum to check source of value in Parameter (#63)
      • FIX-#60: Align default value of REDIS_PASSWORD with Ray (#61)
      • TEST-#24: Add tests run to CI (#56)
      • FIX-#76: Rename UNIDIST_OBJECT_STORE_MEMORY to (#77)
      • FIX-#71: Fix for detecting compatible types for out-of-band serialization (#74)
      • FEAT-#96: Add python-versioneer to get exact unidist version (#105)
      • FIX-#109: Fix test_get_ip for Ray backend (#110)
      • FIX-#104: Add testing py3.9 in CI (#112)
      • FIX-#118: Choose dependencies for pip install unidist[all] based on platform (#119)
      • FIX-#79: Update copyright 2021 to 2021-2022 (#80)
    • Performance enhancements
      • FIX-#36: Use data serialization caches to improve performance for MPI backend (#53)
    • Refactor Codebase
      • FIX-#16: Apply black to all project (#17)
      • FIX-#97: Remove readme file for MPI backend (#98)
    • Dependencies
      • FIX-#22: Add dependencies for development and packaging (#23)
      • DOCS-#7: Add deps for building docs (#28)
      • FIX-#33: Add black and flake8 to env files (#34)
      • FIX-#40: Get rid of pandas dependency for Ray backend (#42)
      • FIX-#43: Add mpi4py to pip distribution dependencies (#44)
      • FIX-#41: Remove Pandas package reference (#57)
      • FIX-#67: Replace mpi4py to mpi4py-mpich in pip dependencies (#68)
      • FIX-#99: Upgrade min python version (#103)
      • FIX-#121: Downgrade min supported python version to 3.7.1 (#123)
    • Documentation improvements
      • DOCS-#5: Add a contributing page for unidist (#82)
      • DOCS-#73: Add documentation page on CLI usage (#83)
      • DOCS-#37: Add rst documentation for unidist.config (#78)
      • DOCS-#6: Update and extend readme.md (#87)
      • FIX-#91: Add readthedocs config file (#92)
      • DOCS-#81: Update High-Level Execution View section (#90)
      • FIX-#94: Change docs copyright statement to Modin Authors (#95)
      • DOCS-#88: Update main/getting_started pages of rst docs (#93)
      • FEAT-#54 Add unidist main logo image (#108)
      • FIX-#111: Fix build warning for communication module (#113)
      • FIX-#114: Change readthedocs icon format (#115)
      • FIX-#116: Add PyPI badge on README.md (#117)
      • FIX-#120: Change unidist logo path to absolute (#122)

    Contributors

    @YarShev, @prutskov, @no-ponomarev

    Source code(tar.gz)
    Source code(zip)
Project5 Data processing system

Project5-Data-processing-system User just needed to copy both these file to a folder and open Project5.py using cmd or using any python ide. It is to

1 Nov 23, 2021
Program to send ROM files to Turbo Everdrive; reverse-engineered and designed to be platform-independent

PCE_TurboEverdrive_USB What is this "TurboEverdrive USB" thing ? For those who have a TurboEverdrive v2.x from krikzz.com, there was originally an opt

David Shadoff 10 Sep 18, 2022
Research on how Gboard Stickers work.

Google-Sticker-Mashup-Research Research on how Gboard Stickers work. Contribute Contributing is nice, and you will be listed below for contributing. C

Jeremiah 45 Oct 28, 2022
Small C-like language compiler for the Uxn assembly language

Pyuxncle is a single-pass compiler for a small subset of C (albeit without the std library). This compiler targets Uxntal, the assembly language of the Uxn virtual computer. The output Uxntal is not

CPunch 13 Jun 28, 2022
A simple package for interacting with the 9kw.eu anti-captcha service.

Welcome to captcha9kw’s documentation! captcha9kw is a smallish Python package for making use of the 9kw.eu services, including solving of interactive

2 Feb 26, 2022
peace-performance (Rust) binding for python. To calculate star ratings and performance points for all osu! gamemodes

peace-performance-python Fast, To calculate star ratings and performance points for all osu! gamemodes peace-performance (Rust) binding for python bas

9 Sep 19, 2022
Generates Windows 95 and 95 OEM keys using the modulus 7 check algorithm

w95keygen-python windowskeygen.py - Generates Windows 95 and 95 OEM keys using the modulus 7 check algorithm Just download and drop in the directory y

Joshua Alto 1 Dec 06, 2021
My attempt at this years Advent of Code!

Advent-of-code-2021 My attempt at this years Advent of Code! day 1: ** day 2: ** day 3: ** day 4: ** day 5: ** day 6: ** day 7: ** day 8: * day 9: day

1 Jul 06, 2022
通过简单的卷积神经网络直接预测出验证码图片中滑块的位置

使用说明 1. 在本地测试 运行python3 prdict_one.py即可,默认需要预测的图片路径位于testImg文件夹下的test1.png 运行python3 predict_folder.py预测testImg下的所有图片 2. 部署到服务器 运行python3 run_a_server

12 Mar 08, 2022
This is friendlist update tools & old idz clon & follower idz clon etc

This is friendlist update tools & old idz clon & follower idz clon etc

MAHADI HASAN AFRIDI 1 Jan 15, 2022
OnTime is a small python that you set a time and on that time, app will send you notification and also play an alarm.

OnTime Always be OnTime! What is OnTime? OnTime is a small python that you set a time and on that time, app will send you notification and also play a

AmirHossein Mohammadi 11 Jan 16, 2022
A python script for combining multiple native SU2 format meshes into one mesh file for multi-zone simulations.

A python script for combining multiple native SU2 format meshes into one mesh file for multi-zone simulations.

MKursatUzuner 1 Jan 20, 2022
A project to explore and provide useful code for Mango Markets

🥭 Mango Explorer A project to explore and provide useful code for Mango Markets

Blockworks Foundation 160 Dec 19, 2022
A code to clean and extract a bib file based on keywords.

These are two scripts I use to generate clean bib files. clean_bibfile.py: Removes superfluous fields (which are not included in fields_to_keep.json)

Antoine Allard 4 May 16, 2022
A Python package to request and process seismic waveform data from Hi-net.

HinetPy is a Python package to simplify tedious data request, download and format conversion tasks related to NIED Hi-net. NIED Hi-net | Source Code |

Dongdong Tian 65 Dec 09, 2022
Context-free grammar to Sublime-syntax file

Generate a sublime-syntax file from a non-left-recursive, follow-determined, context-free grammar

Haggai Nuchi 8 Nov 17, 2022
A minimal configuration for a dockerized kafka project.

Docker Kafka Quickstart A minimal configuration for a dockerized kafka project. Usage: Run this command to build kafka and zookeeper containers, and c

Nouamane Tazi 5 Jan 12, 2022
A OBS service to package a published repository into a tar.gz file

OBS Source Service obs-service-publish_tar obs-service-publish_tar will create a archive.tar[.tar compression] archive containing the published repo

Erico Mendonca 1 Feb 16, 2022
synchronize projects via yaml/json manifest. built on libvcs

vcspull - synchronize your repos. built on libvcs Manage your commonly used repos from YAML / JSON manifest(s). Compare to myrepos. Great if you use t

python utilities for version control 200 Dec 20, 2022
Package to provide translation methods for pyramid, and means to reload translations without stopping the application

Package to provide translation methods for pyramid, and means to reload translations without stopping the application

Grzegorz Śliwiński 4 Nov 20, 2022