Skip to content

Latest commit

 

History

History
29 lines (21 loc) · 1.27 KB

CONTRIBUTING.md

File metadata and controls

29 lines (21 loc) · 1.27 KB

Contributing to refined

Background

  • 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, or deal, which is based on Design-by-Contract.

Development

Development environment setup

  • Use one of the Python versions listed in .python-version. I use pyenv 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

What can I help with?

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.