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)
Application launcher and environment management

Application launcher and environment management for 21st century games and digital post-production, built with bleeding-rez and Qt.py News Date Releas

10 Nov 03, 2022
This repo houses the qhub frontend moving forward.

This repo houses the qhub frontend moving forward. This effort will house a backend written in fastAPI, and a fronend in Vue, with additional components.

Quansight 1 Feb 10, 2021
This is a Python script to detect rapid upwards price changes (pumps) in a cryptocurrency pairing

A python script to detect a rapid upwards price brekout (pump) in a cryptocurrency pairing, through pandas and Binance API.

3 May 25, 2022
BloodCheck enables Red and Blue Teams to manage multiple Neo4j databases and run Cypher queries against a BloodHound dataset.

BloodCheck BloodCheck enables Red and Blue Teams to manage multiple Neo4j databases and run Cypher queries against a BloodHound dataset. Installation

Mr B0b 16 Nov 05, 2021
Demo scripts for the Kubernetes Security Webinar

Kubernetes Security Webinar [in Russian] YouTube video (October 13, 2021) Authors: Artem Yushkovsky (LinkedIn, GitHub) Maxim Mosharov @ Whitespots.io

Slurm 34 Dec 06, 2022
This is a Python package named - calculator

Calculator Python Package This is a Calculator Package of Python. How To Install The Package? Install calchundred with pip (Package Installer Of Pytho

Arinjoy_Programmer 1 Nov 21, 2021
Open-source data observability for modern data teams

Use cases Monitor your data warehouse in minutes: Data anomalies monitoring as dbt tests Data lineage made simple, reliable, and automated dbt operati

889 Jan 01, 2023
Hasklig - a code font with monospaced ligatures

Hasklig – Ligatures for code Programming languages are limited to relatively few characters. As a result, combined character operators surfaced quite

Ian Tuomi 5.3k Jan 03, 2023
🗽 Like yarn outdated/upgrade, but for pip. Upgrade all your pip packages and automate your Python Dependency Management.

pipupgrade The missing command for pip Table of Contents Features Quick Start Usage Basic Usage Docker Environment Variables FAQ License Features Upda

Achilles Rasquinha 529 Dec 31, 2022
Python with the scientific stack, compiled to WebAssembly.

Pyodide may be used in any context where you want to run Python inside a web browser.

9.5k Jan 09, 2023
OpenTable Reservation Maker For Python

OpenTable-Reservation-Maker The code that corresponds with this blog post on writing a script to make reservations for me on opentable Getting started

JonLuca De Caro 36 Nov 10, 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
PythonKafkaCompose is an upgrade of the amazing work done in liveMaps

PythonKafkaCompose is an upgrade of the amazing work done in liveMaps It is a simple project composed by: an instance of Kafka a Py

5 Jun 19, 2022
A module to develop and apply old-style links

Old-Linkage-Dev (OLD) Old Linkage Development is a module to develop and apply old-style links. Old-style links stand for some traditional or conventi

Tarcadia 2 Dec 04, 2021
清晰易读的7x7像素点阵中文字体和取模工具

FontChinese7x7 上古神器 III : 7x7像素点阵中文字体 想要在低分辨率屏幕上显示中文, 却发现中文字体实在是太大? 找了全网发现字体库最小也只有12x12? 甚至是好不容易找到了一个8x8字体, 结果发现字体收费且明确说明不得以任何形式嵌入到软件当中? 那就让这个项目来解决你的问

Angelic47 72 Dec 12, 2022
Launcher program to select which version of the Q-Sys software to launch.

QSC-QSYS Launcher Launcher program to select which version of the Q-Sys software to launch. Instructions To use the application simply save the "Q-Sys

Zach Lisko 2 Sep 28, 2022
Collatz Sanısını Test Eden Ve Kanıtlayan Bir Python Programı

Collatz Sanısı Collatz Sanısını Test Eden Ve Kanıtlayan Bir Python Programı. Kullanım Terminalde: 1- git clone https://github.com/detherminal/Collatz-

Cemal Mert 2 May 07, 2022
Tesla App Update Differences Extractor

Tesla App Update Differences Extractor Python program that finds the differences between two versions of the Tesla App. When Tesla updates the app a l

Adrian 5 Apr 11, 2022
The Great Autoencoder Bake Off

The Great Autoencoder Bake Off The companion repository to a post on my blog. It contains all you need to reproduce the results. Features Currently fe

Tilman Krokotsch 61 Jan 06, 2023
Hopefully it'll become a very annoying desktop pet

AnnoyingPet Basic Tutorial: https://seebass22.github.io/python-desktop-pet-tutorial/ Handling Mouse Input: https://pythonhosted.org/pynput/mouse.html

1 Jun 08, 2022