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)
ripgrep recursively searches directories for a regex pattern while respecting your gitignore

ripgrep (rg) ripgrep is a line-oriented search tool that recursively searches the current directory for a regex pattern. By default, ripgrep will resp

Andrew Gallant 35k Dec 31, 2022
EDF R&D implementation of ISO 15118-20 FDIS.

EDF R&D implementation of ISO 15118-20 FDIS ============ This project implements the ISO 15118-20 using Python. Supported features: DC Bidirectional P

30 Dec 29, 2022
Validate UC alumni identifier numbers with Python 3.

UC number validator Validate UC alumni identifier numbers with Python 3. Getting started Install the library with: pip install -U ucnumber Usage from

Open Source eUC 1 Jul 07, 2021
pgvector support for Python

pgvector-python pgvector support for Python Great for online recommendations 🎉 Supports Django, SQLAlchemy, Psycopg 2, Psycopg 3, and asyncpg Install

Andrew Kane 37 Dec 20, 2022
Zapiski za ure o C++-u

cpp-notes Zapiski o C++-u. Objavljena verzija je na https://e6.ijs.si/~jslak/c++/ Generating the notes The setup assumes you are working in a Linux en

Jure Slak 1 Jan 05, 2022
Um jogo para treinar COO em python

WAR DUCK Este joguinho bem simples tem como objetivo treinar um pouquinho de POO com python. Não é nada muito complexo mas da pra se divertir Como rod

Gabriel Jospin 3 Sep 19, 2021
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
Adds a Bake node to Blender's shader node system

Bake to Target This Blender Addon adds a new shader node type capable of reducing the texture-bake step to a single button press. Please note that thi

Thomas 8 Oct 04, 2022
Simple Calculator Mobile Apps

Simple Calculator Mobile Apps Screenshoot If you want to try it please click the link below to download, this application is 100% safe no virus. link

0 Sep 24, 2022
Transform Python source code into it's most compact representation

Python Minifier Transforms Python source code into it's most compact representation. Try it out! python-minifier currently supports Python 2.7 and Pyt

Daniel Flook 403 Jan 02, 2023
CDM Device Checker for python

CDM Device Checker for python

zackmark29 79 Dec 14, 2022
Async timeit - Async version of python's timeit

Async Timeit Replica of default python timeit module with small changes to allow

Raghava G Dhanya 3 Apr 13, 2022
An implementation to rank your favourite songs from World of Walker

World-Of-Walker-Elo An implementation to rank your favourite songs from Alan Walker's 2021 album World of Walker. Uses the Elo rating system, which is

1 Nov 26, 2021
Improved version calculator, now using while True and etc

CalcuPython_2.0 Olá! Calculadora versão melhorada, agora usando while True e etc... melhorei o design e os carai tudo (rode no terminal, pra melhor ex

Scott 2 Jan 27, 2022
Morth - Stack Based Programming Language

Morth WARNING! THIS LANGUAGE IS A WORKING PROGRESS. THIS IS JUST A HOBBY PROJECT

Dominik Danner 2 Mar 05, 2022
Drop-down terminal for GNOME

Guake 3 README Introduction Guake is a python based dropdown terminal made for the GNOME desktop environment. Guake's style of window is based on an F

Guake 4.1k Dec 25, 2022
PyPI package for scaffolding out code for decision tree models that can learn to find relationships between the attributes of an object.

Decision Tree Writer This package allows you to train a binary classification decision tree on a list of labeled dictionaries or class instances, and

2 Apr 23, 2022
Addons like multipages for streamlit webapp

streamlit_pages Installation $ pip install streamlit-pages Features Adding multiple pages to streamlit Sharing specific pages Usage import streamlit

36 Dec 25, 2022
Korg Volca Sample uploader for linux.

GnuVolca Korg Volca Sample uploader for linux. GnuVolca Usage Installation Via virtualenv Usage Store all the samples you want to upload on an empty d

Gonzalo Rafuls 12 Oct 11, 2022
Flight Reservation App With Python

Flight Reservation App With Python

victor-h. 1 Nov 21, 2021