Welcome to our project. We are glad you want to improve this open source library. We at Dräger want to create technology for life and help to create a better future 🚀.
If you provide Markdown documents, issues, pull request or discussions we strongly encourage you to format your text as it greatly helps to read and to understand your provided information.
For this open source project the Contributor License Agreement governs all relevant activities and your contributions. By contributing to the project you agree to be bound by this Agreement and to license your work accordingly.
- As we restricted pushing directly to one of sdc11073's branches, you have to create a fork where you can push your changes before creating a pull request.
- Install the package as an editable installation with
pip install -e ".[dev]"
. - Before making any commits, ensure you sign your commits.
By following these guidelines, you help us to address your concerns more efficiently.
If you encounter any problems or have suggestions for improvements, we encourage you to create an issue.
Here's how you can do it effectively:
-
Search Existing Issues: Before creating a new issue, please search the existing issues to avoid duplicates. If you find an issue that addresses your problem or suggestion, feel free to add a comment to it.
-
Choose the Right Template: When creating a new issue, select the template that best matches your situation. We have templates for bug reports and feature requests.
-
Provide Detailed Information: Give a concise and informative title and fill out the rest of the form to your best knowledge. The more information you provide the better we can help you.
-
Submit the Issue: Once you've filled out all the necessary information, submit the issue.
Engaging in discussions is a great way to ask questions, share ideas, or seek help with setting up sdc11073
. Here's a
step-by-step guide on how to create a discussion:
-
Navigate to the Discussions Tab: Go to the main page of the
sdc11073
repository on GitHub. Click on the " Discussions" tab near the top of the page or follow this link directly. -
Choose a Category: Select the appropriate category for your discussion. Categories might include Q&A, Ideas, General, etc., depending on what you want to discuss.
-
Title Your Discussion: Enter a concise yet descriptive title for your discussion. This helps others understand at a glance what your discussion is about.
-
Write Your Message: In the message body, provide detailed information about your question, idea, or the help you're seeking. Formatting tools and Markdown are available to structure your text.
-
Tag Your Discussion (Optional): You can add relevant labels to your discussion to make it easier for others to find and to categorize it better.
-
Review and Post: Before posting, review your discussion to ensure it's clear and contains all necessary information. Once ready, click the "Post" button.
By creating a discussion, you're contributing to the community around sdc11073
. Engage respectfully and constructively
to make the most out of the discussions.
This section outlines the coding standards and style guidelines for our project. Adhering to these guidelines ensures code readability, maintainability, and consistency across the project. It's crucial for all contributors to follow these practices to facilitate collaboration and code quality.
- Readability: Code should be written to be readable by humans. Clarity is preferred over cleverness.
- Consistency: Follow the established patterns and practices in the project.
- Simplicity: Strive for simplicity in your code. Avoid unnecessary complexity.
- Use ruff to ensure your code adheres to our coding standards.
- Use mypy for type checking. Ensure your code is typed and passes mypy checks.
Checkout our pyproject.toml
for more details.
- Modules: Use short, lowercase names. If necessary, use underscores to improve readability (e.g.,
my_module
). - Classes: Use the CapWords convention (e.g.,
MyClass
). - Functions and Variables: Use lowercase with words separated by underscores (e.g.,
my_function
). - Constants: Use all uppercase with words separated by underscores (e.g.,
MY_CONSTANT
).
- Use inline comments sparingly and ensure they are relevant and add value.
- Write docstrings for all public modules, functions, classes, and methods. Follow the reStructuredText format.
We take testing seriously to ensure the reliability and stability of our project. Here's how you can contribute to testing:
- To run the existing test suite, execute
pytest
at the root of the project. This will run all tests and display a report. - Ensure that all tests pass before submitting a pull request.
- When adding new features or fixing bugs, write tests that cover your changes. We strive for comprehensive test coverage to maintain code quality.
- Follow our project's conventions for test structure and naming. Tests should be placed in the
tests
directory. - Use descriptive test function names that clearly state what is being tested.
- We aim for high test coverage but understand it's not always practical to achieve 100%. Focus on testing critical paths and complex logic.
- After running tests, check the coverage report to ensure your changes are adequately covered. You can generate a
coverage report by running
pytest --cov=src
. - We use codecov to monitor test coverage. Ensure your pull request does not significantly decrease the project's overall coverage.
By following these guidelines, you help ensure that our project remains stable, reliable, and easy to maintain. Thank you for contributing to our tests!
Creating a pull request is a critical step in contributing to our project. Here's how to do it effectively:
-
Ensure Your Branch is Up-to-Date: Before starting, make sure your branch is up-to-date with the branch you're planning to merge into.
-
Check Your Changes:
- Run tests with
pytest
to ensure all tests pass. - Use
ruff check /path/to/your/changes1 /path/to/your/changes2 ...
for static code analysis. - Apply
mypy /path/to/your/changes1 /path/to/your/changes2 ...
for type checking.
- Run tests with
-
Commit Your Changes: Commit your changes with clear, descriptive commit messages.
-
Push to Your Fork: Push your changes to your fork of the repository.
-
Create the Pull Request:
- Navigate to the original repository you forked from.
- Click on the "Pull requests" tab and then the "New pull request" button.
- Choose your fork and the branch with your changes as the "compare" branch and the branch of our repository you want to merge into as the "base" branch.
- Fill in the pull request form with a clear title and a detailed description of your changes.
- If your pull request is related to an issue or discussion thread, reference it in the description or/and under the "Development" section.
-
Review and Adjust:
- After submitting, at least one of our maintainers has to review your pull request. Be open to feedback also from other contributors and ready to make adjustments as needed.
- If requested, make further commits to your branch to address feedback.
-
Acceptance and Merge:
- Once your pull request is approved by a project maintainer and all CI checks pass, it will be merged.
- Congratulations! You've successfully contributed to the project.
We thank the following contributors for their valuable contributions to the project:
- 2020-2024 Bernd Deichmann
- 2023-2024 Leon Budnick
If you want to be listed as a contributor, add your information in the following format:
- <year(s) of contribution(s)> <your name> <optionally your email>
If you have contributed in multiple years, you can define a range of years like 2020-2024
or single years
like 2020-2022,2024
. Remember to update them with your first contribution in that year.
Thank you for contributing to our project!