A Python Cloud Development Kit -- similar to [Go CDK](https://gocloud.dev)
Icon made by [Freepik](https://www.flaticon.com/authors/freepik) from [www.flaticon.com](https://www.flaticon.com)
Pyroclast is a library meant to simplify interactions with common backend APIs.
The efforts within aim to hopefully reduce the chance of expensive vendor lock-in choices and provide expert knowledge on how to integrate with certain tools (e.g. NATS provides an unopinionated asyncio client that needs a lot of understanding to use properly).
- asyncio-nats-client
- asyncio-nats-streaming
- namesgenerator
- pydgraph
- python-nomad
- redis
- s3
- sonic
- tenacity
To get the library installed locally.
Install the prerequisite libraries/utilities.
- plexiglass
If you have a private pypi repository setup,
pip install --trusted-host 10.1.7.4 -i http://10.1.7.4:8050 plexiglass
If you have the source code available.
git clone https://github.com/kudu/plexiglass
pip install plexiglass
- poetry (optional)
pip install poetry
poetry config virtualenvs.create false
poetry install
- Clone the repo.
git clone https://github.com/kudu/pyroclast
- pip
- Install the package with any extra backends.
pip install .[redis, s3]
- poetry
- Clone the repo and install with whatever backends are needed.
poetry install -E redis -E s3
Check the examples
Poetry is the tool for updating dependencies.
Dephell is used to convert the pyproject.toml
file to setup.py
.
# The lock file will contain any newly updated dependency versions.
# Which we then automatically populate the `setup.py` file with.
poetry update
dephell convert deps
# DEV: Until https://github.com/dephell/dephell/issues/178 is resolved
# Remove the `README.rst` and point to `README.md` manually instead.
rm -f README.rst
sed -i 's#README.rst#README.md#' setup.py
See the project's issue tracker for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
XXX: Proprietary? Can we MIT this?
Eric Lee - @elee - elee@kududyn.com
Distribution Statement "A" (Approved for Public Release, Distribution Unlimited).