Skip to content

Latest commit

 

History

History
38 lines (31 loc) · 1.59 KB

development.md

File metadata and controls

38 lines (31 loc) · 1.59 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

Release

  1. Land all your PRs on master. :)
  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. ^^