Thanks for your interest in hdlib!
Long-term discussion and bug reports are maintained via GitHub Issues, while code review is managed via GitHub Pull Requests.
Please, (i) be sure that there are no existing issues/PR concerning the same bug or improvement before opening a new issue/PR; (ii) write a clear and concise description of what the bug/PR is about; (iii) specifying the list of steps to reproduce the behavior in addition to versions and other technical details is highly recommended.
For additional details, have a look below.
To get an overview of the project, please read the official Wiki. The documentation of the hdlib modules, classes, and functions, is also a great resource to start navigating the package features.
If you encounter a problem, we recommend to first search if an issue describing the same problem already exists. In that case, please read the issue thread carefully and eventually contribute by also explaining every step to reproduce the issue in detail.
In case a related issue doesn't exist, you are very encouraged to open a new issue. Again, please describe a detailed description of the issue by specifying a list of steps to reproduce it. Please be sure to add as many details as possible. Code samples or executable test cases to demonstrate the expected behaviour that is not occurring are very helpful. Don't forget to also add a few extra technical information like the version of Python used to run the library or the type of operative system.
As an open source project, every kind of contribution is very welcome! Contributions are managed through GitHub Pull Requests (PR). In order to propose a path that fixes a bug or a new feature, please follow these steps:
- Fork the hdlib repository;
- Create a new branch;
- Start working on the new branch by fixing bugs or implementing new features;
- Run the unit tests to make sure that your changes did not mess up with the existing features;
- Open a new PR.
If the PR is intended to fix a known issue, please do not forget to link the PR to the existing issue.
Note: In order to run the unit tests, simply run the following command in your terminal from the project root folder:
python -m unittest test.test
.
Also in case of PRs, please, do not forget to add as many details as possible, describing what kind of bugfix or new features you worked on. You are not allowed to merge any PRs. A hdlib maintainer will review your PR, eventually ask for additional details and changes, and decide whether to accept or decline your request.