https://github.com/jmagers/chanpy
A CSP Python library based on Clojure core.async
https://github.com/jmagers/chanpy
asyncio channel concurrency core-async csp python
Last synced: about 1 month ago
JSON representation
A CSP Python library based on Clojure core.async
- Host: GitHub
- URL: https://github.com/jmagers/chanpy
- Owner: jmagers
- License: apache-2.0
- Created: 2019-11-25T11:42:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-05-12T19:09:49.000Z (almost 5 years ago)
- Last Synced: 2025-03-29T12:14:51.360Z (about 1 month ago)
- Topics: asyncio, channel, concurrency, core-async, csp, python
- Language: Python
- Homepage: https://chanpy.readthedocs.io/
- Size: 214 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ChanPy
A CSP Python library based on Clojure core.async. ChanPy implements
equivalents for all the functions in
[core.async](https://clojure.github.io/core.async/) and provides channels that
can be used with or without asyncio. ChanPy even provides support for applying
transformations across channels in the same way Clojure does, via
[transducers](https://clojure.org/reference/transducers).## Getting Started
### Documentation
Documentation is hosted at https://chanpy.readthedocs.io/
### Prerequisites
Python 3.7 or greater.
### Installation
Available on PyPI:
```shell
pip3 install chanpy
```## License
Apache License 2.0
## Inspiration
* Clojure [core.async](https://github.com/clojure/core.async/) for providing
one of the best CSP designs of all time.
* [aiochan](https://github.com/zh217/aiochan) for proving how well asyncio can
be used with Clojure flavored CSP.