Skip to content

Contributing

Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given where it's due.

A few things to note before you begin:

  • The LASER team is committed to maintaining a welcoming community. We ask that all contributors adhere to our Code of Conduct.
  • Code contributions should follow the Google Python Style Guide.
  • When reporting a bug please include details, such as your operating system and the exact steps to reproduce the issue.
  • LASER could always use more documentation, whether as part of the official LASER docs, in docstrings, or even on the web in blog posts, articles, and such.
  • The best way to send feedback on LASER is to file an issue.

If you have any questions, please reach out to the LASER moderators, Christopher Lorton and Paul Saxman.

Contributing code

For contriburing code to LASER, you'll need to set up a local development environment:

  1. Fork laser-generic (look for the "Fork" button).

  2. Create a local clone of your fork:

1
git clone [email protected]:YOUR_GITHUB_NAME/laser-generic.git
  1. Create a branch for local development:
1
git checkout -b name-of-your-bugfix-or-feature
  1. Make your changes locally.

  2. When you're done making changes run all the checks and docs builder with one command:

1
tox
  1. Commit your changes and push your branch to GitHub:
1
2
3
git add .
git commit -m "Your detailed description of your changes."
git push origin name-of-your-bugfix-or-feature
  1. Submit a pull request through the GitHub website.

Pull request guidelines

If you need some code review or feedback while you're developing the code just make the pull request.

For merging, you should:

  1. Include passing tests (run tox).
  2. Update documentation when there are new APIs, functionality, etc.
  3. Add a note to CHANGELOG.md about the changes.
  4. Add yourself to AUTHORS.md.

Tips

To run a subset of tests:

1
tox -e envname -- pytest -k test_myfeature

To run all the test environments in parallel:

1
tox -p auto