- In this blogpost, you can get an initial idea of what refinement types are
- Our inspiration is a library for refinement types in Scala: https://github.com/fthomas/refined
- Other Python libraries provide similar features, although they are based on different works, such as
crosshair
, which uses an SMT solver, ordeal
, which is based on Design-by-Contract.
- Use one of the Python versions listed in
.python-version
. I usepyenv
as the Python version manager, and v3.10.0b2 as the Python version. - Create a virtual environment, and link it to the code editor you're using. I use Intellij / PyCharm.
- Once you have it activated, you can run all the unit tests with
python3 -m unittest discover tests
For now, you can get a task from an open issue. PRs for new functionality are also welcomed, although it's mandatory to explain / discuss it previously in an issue.