Thank you for your interest in contributing to the ECUtils project, our dedicated toolkit for Elliptic Curve Cryptography. Your effort is highly valued, and we aim to ensure that your contribution process is seamless and rewarding. Please follow the guidelines outlined below to make a successful contribution to the project.
The first step in contributing is to set up your local development environment:
-
Fork the ECUtils repository on GitHub.
-
Clone your fork to your local development machine.
-
Change to the project directory:
cd ecutils
-
Install the project in editable mode with its development dependencies:
pip install -e ".[dev]"
By working in editable mode, any changes you make will be reflected without the need for reinstallation.
When you're ready to start making changes:
-
Create a branch with a prefix that indicates the purpose of your changes:
# Use the appropriate prefix: feature/, fix/, doc/, test/, refactor/, or style/ git checkout -b feature/name-of-your-feature
-
Adhere to the coding conventions and best practices found throughout the project while making your changes.
It's essential that your contributions are well-tested:
-
Place your new tests in the
tests
directory, ensuring they're appropriately named to match the related feature or fix. -
Aim for high test coverage to maintain the robustness of ECUtils:
pytest --cov=ecutils tests/ pytest --cov=ecutils --cov-report=html tests/
Ensure that your contributions pass all tests and that the overall test coverage isn’t compromised.
To submit your changes for review:
-
Push your contributions to your forked repository.
-
In the 'ECUtils' original repository, initiate a 'New pull request'.
-
Choose your fork and the branch where your changes were made.
-
Clearly title your PR using the same prefix as your branch, followed by a concise description:
Feature: Implement new elliptic curve model Fix: Resolve point addition edge case Doc: Update README with contribution guidelines Test: Add tests for point doubling Refactor: Refine internal structure for module X Style: Adjust code formatting for consistency
-
In your PR's description, explain your changes and note any issues addressed using the format
fixes #issue_number
. -
Submit the pull request.
Expect a review from the project's maintainers, who will assess the changes, run further tests, and perhaps suggest enhancements before integrating your code. Stay involved by responding to any feedback or inquiries regarding your submitted PR.
We deeply appreciate your contributions to the ECUtils project. Your dedication to enhancing this toolkit doesn't go unnoticed. Together, we can continue to develop this vital resource for the cryptography community.
Transfer your ideas into action—let's collaborate to elevate ECUtils to new heights!