A community-oriented primer on software development best practices for modern computational chemistry.
- Philosophy and Scope: Who should read this guide and what it tries to accomplish
- Licensing Guidelines: Start by selecting an appropriate license for your code
- Structuring Your Project: Structuring your project to achieve maximum gain with minimal pain
- Python Coding Conventions: Follow these Python conventions to write extensible code that invites collaboration
- Unit Testing: Testing your code to make sure it does what you expect it to
- Continuous Integration: Setting up continuous integration to ensure new will not break things
- Documentation: Documenting your code and its use so others (and future you!) can use it
- Python Optimization: Speeding up your Python code without losing your mind
- Packaging and Deployment: Package your code and allow others to install it with minimal hassle
We welcome your contributions and suggestions for how to make these materials more useful to the community. Please feel free to comment on the issue tracker or open a pull request to contribute.
- John D. Chodera -
<[email protected]>
- Patrick B. Grinaway -
<[email protected]>
- Andrea Rizzi -
<[email protected]>
- Gregory Ross -
<[email protected]>
- Levi S. Naden -
<[email protected]>
- Arien ("Bas") S. Rusteburg -
<[email protected]>
This documentation resource is licensed under the Creative Commons Attribution 4.0 License.
You are free to:
- Share — copy and redistribute the material in any medium or format
- Adapt — remix, transform, and build upon the material for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.
You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
See the full terms of the license here.