Skip to content

Latest commit

 

History

History
43 lines (35 loc) · 1.74 KB

development.md

File metadata and controls

43 lines (35 loc) · 1.74 KB

Contributions welcome!

Here are some notes about common tools and tasks you'll run into when working on unleash-client-python.

Tools

  • miniconda - Used for local tox-ing to minimize friction when developing on a Mac. =)

Setup

  1. Create a new conda environment (conda create -n ucp python=3.7) or a venv.
  2. Install packages: pip install requirements-local.txt.
  3. If using Pycharm, add conda env as your project interpreter.

Testing

  1. Activate your virtualenv solution (e.g. source activate ucp).
  2. Run linting & tests: make test
  3. Run tox tests make tox-osx

Dependency management

  • Adding
    • Add version-less package to requirement-*.txtfile (in case we ever just wanna install everything) and versioned package to requirements.txt.
  • Updating
    • Use pur to update requirements.txt.
    • If updating package requirements, update the setup.py file.

mmh3 on OSX

If having trouble installing mmh3 on OSX, try:

CFLAGS="-mmacosx-version-min=10.13" pip install mmh3

Running tests

  1. Linting (pylint, mypy) can be run using make lint.
  2. Tests can be run by using make pytest.
  3. Both can be run by make test.

Release

  1. Land all your PRs on main. :)
  2. Update changelog.md and other sundry documentation.
  3. Deploy documents by running mkdocs gh-deploy
  4. Run bumpversion [major/minor/patch] to generate new version & tag.
  5. Push tag to remotes.
  6. Create new Release in Github and paste in Changelog.
  7. Github Actions workflow will automagically publish to Pypi. ^^