Redux-inspired library in python
Project description
A predictable state container for python heavily inspired by Redux
While not being a strict 1:1 port of Redux API, Revived is supposed to do pretty much the same job in the most pythonic way possible.
NOTE: I needed this piece of code to work with the latest python available at the moment (3.6). While I am not really caring about other versions, the Travis build is running the test suites on all the 3.5+ versions, including the dev ones.
Contents
Documentation
You can find the compiled documentation here:
Installation
Revived package is available on pypi: to install it use the following command:
pip install revived
Examples
Usage examples are coming soon.
Contribute
Clone the repository.
Create the virtualenv.
using virtualenv:
virtualenv ENV bin/activate
using virtualfish:
vf new ENV # optional: automatically load the virtualenv when entering the dir vf connect
Update pip and install pip-tools:
pip install --upgrade pip # pip-tools needs pip==6.1 or higher (!) pip install pip-tools
Install the dependencies:
pip install -r requirements.txt
Build the documentation:
cd docs make html # or whatever format you prefer
Work on the revived module. This project uses pip-tools so you want to add your new direct dependencies in requirements.in and then compile the requirements.txt using:
pip-compile requirements.in
Write tests.
Run tests:
# to have coverage in command line pytest --cov revived --pep8 revived tests # to have html coverage file in the htmlcov directory pytest --cov revived --cov-report html --pep8 revived tests
Check type hints:
mypy revived tests
Create a pull request.
Profit :)
Changelog
0.1.3 - 2017-02-17
Integrate pip-tools: thanks to Lorenzo Villani for pointing me out to this solution
0.1.2 - 2017-02-16
Add documentation, tests and test coverage
0.1.1 - 2017-02-13
Add subscriber decorator in revived.store.Store
0.1.0 - 2017-02-12
Initial release