Contributing to FastMDXplora
May 25, 2026 · View on GitHub
Thank you for your interest in contributing to FastMDXplora. We welcome contributions of all kinds — bug reports, feature requests, documentation improvements, and code.
Getting started
# Clone the repository
git clone https://github.com/aai-research-lab/FastMDXplora.git
cd FastMDXplora
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install in editable mode with development dependencies
pip install -e ".[dev]"
# Verify the install
fastmdx --version
fastmdx info
pytest
Development workflow
- Open an issue describing the change you'd like to make (skip this for trivial fixes such as typos).
- Fork the repository and create a topic branch from
main. - Make your changes. Write or update tests under
tests/. - Run the test suite locally (
pytest). - Run the linter (
ruff check src tests) and ensure it passes. - Open a pull request against
main.
Coding conventions
- Python ≥ 3.9. Use modern type hints and the standard library where possible.
src/layout. All package code lives undersrc/fastmdxplora/.- Docstrings. Public functions and classes get NumPy-style docstrings.
- Tests required for new functionality. Smoke tests at minimum; full numerical/equivalence tests for any analytical code migrated from FastMDAnalysis (which FastMDXplora is the successor to).
- Lazy imports for heavy optional dependencies (OpenMM, PDBFixer, python-pptx, etc.).
- Consistent output structure. Every phase writes its outputs to
output_dir/<phase>/, including a*_parameters.jsonmanifest.
Reporting issues
Please include:
- The output of
fastmdx info - The command line you ran (or the Python code snippet)
- The full error message and traceback
- A minimal reproducing example if possible
Code of conduct
By participating in this project, you agree to abide by our Code of Conduct.
License
By contributing, you agree that your contributions will be licensed under the project's MIT License.