Contribute#

Overall guidance on contributing to a PyAnsys library appears in the Contributing topic in the PyAnsys developer’s guide. Ensure that you are thoroughly familiar with this guide before attempting to contribute to PyAdditive.

Configure your development environment#

For instructions on setting up your development environment, see Getting started, particularly the Developer installation section.

Post issues#

Use the PyAdditive Issues page to submit questions, report bugs, and request new features. When possible, you should use these issue templates:

  • Bug, problem, error: For filing a bug report

  • Documentation error: For requesting modifications to the documentation

  • Adding an example: For proposing a new example

  • New feature: For requesting enhancements to the code

If your issue does not fit into one of these template categories, you can click the link for opening a blank issue.

To reach the project support team, email pyansys.core@ansys.com.

View documentation#

Documentation for the latest stable release of PyAdditive is hosted at PyAdditive Documentation.

In the upper right corner of the documentation’s title bar, there is an option for switching from viewing the documentation for the latest stable release to viewing the documentation for the development version or previously released versions.

Adhere to code style#

PyAdditive follows the PEP8 standard as outlined in PEP 8 in the PyAnsys Developer’s Guide and implements style checking using pre-commit.

To ensure your code meets minimum code styling standards, run these commands:

pip install pre-commit
pre-commit run --all-files

You can also install this as a git pre-commit hook by running this command:

pre-commit install

This way, it’s not possible for you to push code that fails the style checks:

$ pre-commit install
$ git commit -am "added my cool feature"
ruff.....................................................................Passed
ruff-format..............................................................Passed
codespell................................................................Passed
check for merge conflicts................................................Passed
debug statements (python)................................................Passed
check yaml...............................................................Passed
Validate GitHub Workflows................................................Passed
interrogate..............................................................Passed
uncomment-coverage-options...............................................Passed