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)
To check my COVID-19 vaccine appointment, I wrote an infinite loop that sends me a Whatsapp message hourly using Twilio and Selenium. It works on my Raspberry Pi computer.

COVID-19_vaccine_appointment To check my COVID-19 vaccine appointment, I wrote an infinite loop that sends me a Whatsapp message hourly using Twilio a

Ayyuce Demirbas 24 Dec 17, 2022
Python pyside2 kütüphanesi ile oluşturduğum drone için yer kontrol istasyonu yazılımı.

Ground Control Station (Yer Kontrol İstasyonu) Teknofest yarışmasında yerlilik kısmında Yer Kontrol İstasyonu yazılımı seçeneği bulunuyordu. Bu yüzden

Emirhan Bülbül 4 May 14, 2022
2 Way Sync Between Notion Database and Google Calendar

Notion-and-Google-Calendar-2-Way-Sync 2 Way Sync Between a Notion Database and Google Calendar WARNING: This repo will be undergoing a good bit of cha

248 Dec 26, 2022
Build Xmas cards with user inputs

Automatically build Xmas cards with user inputs

Anand 9 Jan 25, 2022
Python interface to ISLEX, an English IPA pronunciation dictionary with syllable and stress marking.

pysle Questions? Comments? Feedback? Pronounced like 'p' + 'isle'. An interface to a pronunciation dictionary with stress markings (ISLEX - the intern

Tim 38 Dec 14, 2022
A set of simple functions to upload and fetch pastes on paste.uploadgram.me

pastegram-py A set of simple functions to upload and fetch pastes on paste.uploadgram.me. API Documentation Methods upload_paste(contents: bytes, file

Uploadgram 3 Sep 13, 2022
Python 3.9.4 Graphics and Compute Shader Framework and Primitives with no external module dependencies

pyshader Python 3.9.4 Graphics and Compute Shader Framework and Primitives with no external module dependencies Fully programmable shader model (even

Alastair Cota 1 Jan 11, 2022
Fixed waypoint(pose) navigation for turtlebot simulation.

Turtlebot-NavigationStack-Fixed-Waypoints fixed waypoint(pose) navigation for turtlebot simulation. Task Details Task Permformed using Navigation Stac

Shanmukha Vishnu 1 Apr 08, 2022
Run Windows Applications on Linux as if they are native, Use linux applications to launch files files located in windows vm without needing to install applications on vm. With easy to use configuration GUI

Run Windows Applications on Linux as if they are native, Use linux applications to launch files files located in windows vm without needing to install applications on vm. With easy to use configurati

Casu Al Snek 2k Jan 02, 2023
Dot Browser is a privacy-conscious web browser with smarts built-in for protection against trackers and advertisments online.

🌍 Take back your privacy with Dot Browser, the privacy-conscious web browser that protects you from being tracked and monitored online.

Dot HQ 1k Jan 07, 2023
A simple hash system.

PBH-Hash-System A simple hash system. Usage You could use it like this: from pbh import pbh print(pbh("Hey", True)) Output: 2feae2471698cfcdcbd6b98ca

Karim 3 Mar 24, 2022
30DaysOfCode-PhoenixClub - Solution of everyday coding problem given in 30DaysofCode contest held on Hackerrank

30DaysOfCode-PhoenixClub 👨‍💻 Every day problems solution given in 30DaysOfCode

Urveshkumar 8 Jan 30, 2022
200 LeetCode problems

LeetCode I classify 200 leetcode problems into some categories and upload my code to who concern WEEK 1 # Title Difficulty Array 15 3Sum Medium 1324 P

Hoang Cao Bao 108 Dec 08, 2022
A simple wrapper for joy library

Joy CodeGround A simple wrapper for joy library to render joy sketches in browser using vs code, (or in other words, for those who are allergic to Jup

rijfas 9 Sep 08, 2022
Cylc: a workflow engine for cycling systems

Cylc: a workflow engine for cycling systems. Repository master branch: core meta-scheduler component of cylc-8 (in development); Repository 7.8.x branch: full cylc-7 system.

The Cylc Workflow Engine 205 Dec 20, 2022
🛠️ Learn a technology X by doing a project - Search engine of project-based learning

Learn X by doing Y 🛠️ Learn a technology X by doing a project Y Website You can contribute by adding projects to the CSV file.

William 408 Dec 20, 2022
《practical python programming》的中文翻译

欢迎光临 大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了。15 年前,我自己也将这种乐趣教授给别人。教学的结果就是本课程——一门实用的学习 Python的课程。

编程人 125 Dec 17, 2022
Your Google Recon is Now Automated

GRecon : GRecon (Greei-Conn) is a simple python tool that automates the process of Google Based Recon AKA Google Dorking The current Version 1.0 Run 7

adnane-tebbaa 189 Dec 21, 2022
Let's pretend you want to create a AWS Lambda project called "sns-processor".

Usage Let's pretend you want to create a AWS Lambda project called "sns-processor". Rather than using lambda and then editing the results to include y

1 Dec 31, 2021
A Microsoft reward automator, designed to work headless on a raspberry pi

MsReward A Microsoft reward automator, designed to work headless on a raspberry pi. Tested with a pi 3b+ and a pi 4 2Gb . Using a discord bot to log e

10 Dec 21, 2022