Contributing¶
Contributions are welcome and very much appreciated!
Code contributions¶
We accept code contributions through pull requests. In short, this is how that works.
Setup¶
Important: All code related to fabrication with ABB industrial robots requires compas_rrc which is hosted in a private repository.
Fork the repository and clone the fork.
Create a virtual environment using your tool of choice (e.g.
virtualenv
,conda
, etc).Using Anaconda
conda config --add channels conda-forge # use conda to install compas_fab if possible conda create -n rapid_clay_formations_fab-dev python=3.7 git compas_fab conda activate rapid_clay_formations_fab-dev
Using virtualenv
virtualenv --python=python3.7 {{path/to/venv}} source {{path/to/venv}}/bin/activate
Install package and dependencies:
cd path/to/rapid_clay_formations_fab pip install git+https://bitbucket.org/ethrfl/compas_rrc@v1.0.0 pip install -e .[dev]
If you have authentication issues with BitBucket (for
compas_rrc
) Try installing the new Git Credential manager for Windows(Optional) Make package accessible in Rhino and Grasshopper
python -m rapid_clay_formations_fab.rhino.install
Make a pull request¶
Make sure all tests pass on the unmodified code:
invoke test
Start making your changes to the master branch (or branch off of it) on your fork.
Make sure all tests still pass:
invoke test
Add yourself to the Contributors section of
AUTHORS.md
.Document the changes in the
CHANGELOG.md
Commit your changes and push your branch to GitHub.
Create a pull request through the GitHub website.
During development, use pyinvoke tasks on the command line to ease recurring operations:
invoke clean
: Clean all generated artifacts.invoke check
: Run various code and documentation style checks.invoke docs
: Generate documentation.invoke test
: Run all tests and checks in one swift command.invoke
: Show available tasks.
Bug reports¶
When reporting a bug please include:
Operating system name and version.
Any details about your local setup that might be helpful in troubleshooting.
Detailed steps to reproduce the bug.
Feature requests¶
When proposing a new feature please include:
Explain in detail how it would work.
Keep the scope as narrow as possible, to make it easier to implement.