Piny is a proof-of-concept. It's developed specifically (but not
limited to!) for the containerized Python applications deployed with
orchestration systems like docker compose
or Kubernetes
.
Piny is still in its early stage of development. The API may change, backward compatibility between minor versions is not guaranteed until version 1.0.0 is reached.
Piny sticks to the Unix-way's rule Do One Thing and Do It Well. Piny is all about interpolating environment variables in configuration files. Other features like YAML-parsing or data validation are implemented using third-party libraries whenever possible.
You are welcome to contribute to Piny as long as you follow the rules.
- Before writing any code take a look at the existing open issues. If none of them is about the changes you want to contribute, open up a new issue. Fixing a typo requires no issue though, just submit a Pull Request.
- If you're looking for an open issue to fix, check out labels help wanted and good first issue on GitHub.
- If you plan to work on an issue open not by you, write about your intention in the comments before you start working.
- Follow an Issue/Pull Request template.
- Fork Piny on GitHub.
- Clone your fork with
git clone
. - Use
Python 3.6+
,git
,make
andvirtualenv
. - Create and activate
virtualenv
. - Install Piny and its dependencies with
make install
. - Follow GitHub Flow: create a new branch from
master
withgit checkout -b <your-feature-branch>
. Make your changes. - Fix your code's formatting and imports with
make format
. - Run unit-tests and linters with
make check
. - Build documentation with
make docs
. - Commit, push, open new Pull Request.
- Make sure Travis CI/CD pipeline succeeds.