Contributing

dataClay is a BSC project under the BSD License and we happily accept contributions.

If you wish to add a new feature or fix a bug:

  1. Check for open issues or open a new issue to start a discussion around a feature idea or a bug. Issues labeled as Contributor Friendly are ideal for individuals who are not yet familiar with the codebase.

  2. Fork the dataclay repository on Github to start making your changes.

  3. Write a test which shows that the bug was fixed or that the feature works as expected.

  4. Format your changes with Black using the command tox -e format and lint your changes using the command tox -e lint.

  5. Send a pull request and follow up with the maintainer until it gets merged and published.

Setting up your development environment

To set up your development environment, you will need tox installed on your machine:

$ python -m pip install --user --upgrade tox

You wll also need to have docker engine installed for tox to use pytest-docker.

Install dataClay in editable mode with the dev extra requirement:

$ pip install -e .[dev,telemetry]

Running the tests

When running the test suite, we use external dependencies, multiple interpreters, and code coverage analysis. Our tox.ini file handles much of this for you:

$ tox