ConfigCat SDK is an open source project. Feedback and contribution are welcome. Contributions are made to this repo via Issues and Pull Requests.
The ConfigCat SDK team monitors the issue tracker in the SDK repository. Bug reports and feature requests specific to this SDK should be filed in this issue tracker. The team will respond to all newly filed issues.
We encourage pull requests and other contributions from the community.
- Before submitting pull requests, ensure that all temporary or unintended code is removed.
- Be accompanied by a complete Pull Request template (loaded automatically when a PR is created).
- Add unit or integration tests for fixed or changed functionality.
When you submit a pull request or otherwise seek to include your change in the repository, you waive all your intellectual property rights, including your copyright and patent claims for the submission. For more details please read the contribution agreement.
In general, we follow the "fork-and-pull" Git workflow
- Fork the repository to your own Github account
- Clone the project to your machine
- Create a branch locally with a succinct but descriptive name
- Commit changes to the branch
- Following any formatting and testing guidelines specific to this repo
- Push changes to your fork
- Open a PR in our repository and follow the PR template so that we can efficiently review the changes.
It's advisable to create a virtual development environment within the project directory:
python -m venv venv
source venv/bin/activate
To install requirements:
pip install -r requirements.txt
pip install pytest mock
pytest configcatclienttests
There is a tox configuration file allowing to test against all supported Python versions as well as linting all files in isolated environments.
Just run:
# Test against all supported Python versions and lint
tox
# Test against a given Python version
tox -e py310
# Lint
tox -e lint