https://github.com/distributive-network/bifrost
An SHM/memmap based python and node communication/evaluation tool.
https://github.com/distributive-network/bifrost
Last synced: 10 months ago
JSON representation
An SHM/memmap based python and node communication/evaluation tool.
- Host: GitHub
- URL: https://github.com/distributive-network/bifrost
- Owner: Distributive-Network
- License: other
- Created: 2020-10-21T20:32:12.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-10-26T14:03:32.000Z (over 2 years ago)
- Last Synced: 2025-04-05T23:06:58.368Z (10 months ago)
- Language: Python
- Size: 1.05 MB
- Stars: 6
- Watchers: 5
- Forks: 2
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Bifrost

An SHM/memmap based python and node communication/evaluation tool.
The idea is that you should be able to start a node process in the background byimporting this module and should be able to share and sync variables across node and python for a variety of purposes.
Sharing variables is managed by serializing variables and writing them to a buffer that is memmap'ed to both the python process and the node process.
## Requirements
### Environment Requirements
- Node 14 or Node 16 LTS is a *mandatory* requirement. Any environment without Node 14 or 16 is not supported.
### Python Requirements
This should be handled by pip when installing Bifrost:
```
cloudpickle<2.1
numpy
xxhash
posix_ipc ; os_name == 'posix' and python_version < '3.8'
```
## NOTE
This tool is highly experimental and requires much more work before being production ready. It currently 'works' for the majority of simple use cases, but more work could be done on making it more robust and better manage the pipes.