Contributing to Documentation
Documentation is crucial for SpectroChemPy. You don’t need to be an expert to help - if something isn’t clear, improving it helps everyone!
Documentation Structure
SpectroChemPy documentation consists of:
Docstrings in the code (API reference)
Guides and tutorials in the
docs/
folderExamples in Jupyter notebooks
We use:
reStructuredText (reST) markup
Sphinx documentation builder
NumPy docstring standard
Jupyter notebooks for tutorials
Documentation Sources
API Documentation
Lives in docstrings within Python code
Follows NumPy docstring standard
Examples are tested during builds
Located in
docs/reference
Guides & Tutorials
Written in reST or Jupyter notebooks
Located in
docs/userguide/
Provide high-level overviews and examples
All code examples are tested
Building Documentation
Quick Start
Set up development environment (guide)
Navigate to
docs/
directoryBuild HTML:
python make.py html
View at
docs/build/html/latest/index.html
Build Options
Full rebuild:
python make.py clean python make.py html
Build a single file:
python make.py --single-doc <path-to-file-relative-to-docs>.rst python make.py --single-doc <path-to-file-relative-to-docs>.ipynb
Build a single directory:
python make.py --directory <path-to-directory-relative-to-docs>
Build a single API entry:
python make.py --single-doc spectrochempy.<class-or-method-name> # where ``<class-or-method-name>`` is the name of an importable method in the API.
Writing Tips
Use active voice
Be concise
Include practical examples
Test all code examples
Link related sections
Follow docstring guide
See the Sphinx reStructuredText primer for detailed syntax guide.