Firstly, thank you for considering contributing to Blueprints! Your help is very valuable and it's what makes the open-source community such a fantastic place to learn, inspire, and create. By contributing to this project, you are helping to advance the field of civil engineering. Engineers around the world will be thankful for your contribution.
We enforce a code of conduct for all maintainers and contributors. For more details, check out Code of Conduct.
- Check existing issues: Before creating a new issue, please check the existing open and closed issues to see if someone else has had the same issue.
- File a new issue: If you're sure your issue is new, open a new issue, providing as much detail as you can. Submit an issue here.
- Check existing feature requests: Before submitting a new feature request, check to see if it has already been discussed.
- File a new feature request: If your idea is new, submit it as a new issue.
- Fork the Repository: Fork the project repository and clone your fork to your machine.
- Create a new branch: Create a new branch with a meaningful name.
- Make Changes: Make your code changes, ensuring you adhere to the coding standards and guidelines below.
- Run Tests: Please run tests to make sure your changes don't break existing functionality.
- Submit a Pull Request: Submit your changes as a pull request, providing detailed information in the PR description.
We use ruff and mypy to enforce code quality. Make sure to run these before submitting a PR. We encourage you to use our pre-commit hooks, you can find instructions in this file.
We use Git flow for our branching strategy. Only create branches from issues/feature requests.
- Python >= 3.10
- All code must be in English
- Max ~400 lines per PR
- Use Typehints and Docstrings (numpy style)
- Add unit tests. Aim for high test coverage.
- Update the user documentation on the site, if applicable
- Include examples for new features
- A rotating release manager will assign a minimum of 2 reviewers to your pull request.
- There will be a minimum review time of 2 days to allow for other contributors to provide input.
- Merging occurs automatically once the PR is approved by at least two maintainers and all comments are resolved.
Any contributor can create an issue. No contribution is too small. If you think something is missing or could be improved, please don't hesitate to submit an issue or a pull request. This is intended to be a central open library for civil engineering, and your input is invaluable.
For questions, feel free to contact Enrique at @egarciamendez or any other of our maintainers.