Skip to main content

Community

Welcome to the QURI SDK Community!

We’re excited to foster collaboration and open communication within our community of users, developers, and contributors. To support this, we’ve introduced Discussion Pages in our GitHub repositories.

Discussions

The GitHub Discussions feature provides a platform where you can:

  • Ask Questions: If you have questions about our products, this is the perfect place to get answers from the community or our team.
  • Share Ideas: Have a feature request or a suggestion? Start a conversation and share your thoughts.
  • Report Issues: Discuss potential challenges or bugs you encounter and collaborate on solutions.
  • Learn from Others: Explore existing discussions to find helpful insights and tips.

Our goal is to make the Discussions area an open, welcoming space for exchanging knowledge, solving problems, and improving our products together.

How to Join

Joining the conversation is simple:

  1. Visit our GitHub Discussions.
  2. Sign in with your GitHub account.
  3. Explore the categories, start a new topic, or contribute to ongoing discussions.

We value your input and look forward to hearing from you! Whether you’re a seasoned expert or just getting started, there’s a place for you here.

Contributing Guidelines

We are happy that you are interested in contributing to QURI SDK! Please read the following contribution guidelines.

Issues

Issues are managed on GitHub. Please search existing issues before opening a new one.

Contributor License Agreement

We ask you to sign our Contributor License Agreement (CLA) upon submitting your contributions. By signing the CLA you permit us (QunaSys) to use and redistribute your contributions as part of the project. When you create a pull request for QURI Parts, you will be asked in a pull request comment to sign the CLA (unless you have already signed it). You can sign the CLA by posting a comment on the pull request. Once you sign the CLA, it will cover your future contributions submitted to QunaSys.

Development

We use Poetry to manage dependencies and packaging. Install the latest version and run poetry install to create a virtualenv and install dependencies.

Linting and testing

We use following tools for linting and testing. Please make sure to run those tools and check if your code passes them. All commands can be run in the Poetry virtualenv by:

  • Use poetry run: for example poetry run black ., or
  • Activate the virtualenv by poetry shell and run the command.
Import formatting
poetry run isort .
Code formatting
poetry run black .
Linting
poetry run flake8
Type checking
poetry run mypy .

Note: when you run mypy in a package directory (packages/*/), you need to specify the config file mypy.ini:

poetry run mypy --config-file ../../mypy.ini .
Testing
poetry run pytest

Continuous integration (CI)

Once you create a pull request, the above linting and testing are executed on GitHub Actions. All the checks need to be passed before merging the pull request.