Questions & Contributing
Discussions
If you have any questions about using the CMLM software, please create a post on the GitHub Discussions page.
Contributions
User contributions to the code are welcome! Please open a Pull Request with your proposed new feature, bug fix, documentation, etc.
Formatting Guidelines
CMLM strives to follow a rigid code style, managed through the black, isort, and flake8 tools. The tools necessary to format Python code (currently only used within CEPTR) are maintained through Poetry.
Run
isort:poetry run isort .
This will perform proper sorting of the installed Python libraries.
Run
black:poetry run black .
This will perform proper formatting of all Python files to be consistent with all current files.
Run
flake8:poetry run flake8 .
This will run diagnostics on all the Python files and will list a series of issues that need to be addressed to adhere to current Python best practices.
Once all flake8 messages have been addressed, the code will match the CMLM standard.
Note
Consistent application of these guidelines is a work in progress. Old code is being modified to match them over time; these guidelines will be required for all new contributions.
Spelling must also be correct, which is verified for pull requests through a codespell action.
Building the Documentation
Please document any new features! After adding some documentation, you can do a test rebuild of the HTML documentation pages by going to the docs/ directory and running
poetry run make html