Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 2.03 KB

DEVELOPMENT.rst

File metadata and controls

52 lines (35 loc) · 2.03 KB

How to develop and contribute

IQM client is an open source Python project. You can contribute by creating GitHub issues to report bugs or request new features, or by opening a pull request to submit your own improvements to the codebase.

To start developing the project, clone the GitHub repository and install it in editable mode with all the extras:

$ git clone git@github.com:iqm-finland/iqm-client.git
$ cd iqm-client
$ pip install -e ".[dev,docs,testing]"

(Unless you need the full commit history, consider using the --depth option for git clone, for example --depth 1 to only clone the latest commit. This will be much faster than cloning the full repository, because some large files have been stored in the commit history.)

Build and view the docs:

$ tox -e docs

To view the documentation, open the file build/sphinx/html/index.html in a browser.

Run the tests:

$ tox

Tagging and releasing

After implementing changes to IQM client one usually wants to release a new version. This means that after the changes are merged to the main branch -

  1. the repository should have an updated CHANGELOG with information about the new changes,
  2. the latest commit should be tagged with the new version number,
  3. and a release should be created based on that tag.

The last two steps are automated, so one needs to worry only about properly updating the CHANGELOG. It should be done along with the pull request which is introducing the main changes. The new version must be added on top of all existing versions and the title must be "Version MAJOR.MINOR", where MAJOR.MINOR represents the new version number. Please take a look at already existing versions and format the rest of your new CHANGELOG section similarly. Once the pull request is merged into main, a new tag and a release will be created automatically based on the latest version definition in the CHANGELOG.