sphinxcontrib-matlabdomain
Getting Started
Installation
Prerequisites
Installing sphinxcontrib-matlabdomain
Basic Installation
Installing in a Virtual Environment (Recommended)
Verifying Installation
What Gets Installed?
Next Steps
Installing Sphinx Separately
Troubleshooting
Installation Fails
ImportError After Installation
Python Version Issues
Quick Start
What You’ll Build
Step 1: Create a Sphinx Project
Step 2: Configure for MATLAB
Step 3: Add MATLAB Source Files
Step 4: Document Your Code
Step 5: Build the Documentation
What Just Happened?
Next Steps
Common Next Questions
How do I document a class?
How do I document an entire package?
How do I customize the output?
Where do I go for help?
Your First Project
Project Setup
Step 1: Install Prerequisites
Step 2: Create Documentation Directory
Step 3: Configure for MATLAB
Step 4: Create MATLAB Source Files
Step 5: Generate API docs with
sphinx-matlab-apidoc
What this does
Regenerate after adding or deleting source files
Step 6: Build Your Documentation
Step 7: View Your Documentation
Understanding What Happened
The Magic of Autodoc Directives
Customizing Your Documentation
Change the Theme
Add a Logo
Add More Pages
Next Steps
Common Issues
“No module named ‘sphinxcontrib.matlab’”
“WARNING: matlab_src_dir not set”
“WARNING: don’t know which module to import”
Functions/classes not showing up
User Guide
Configuration
Essential Configuration
extensions
matlab_src_dir
Optional Configuration
primary_domain
matlab_short_links
matlab_auto_link
matlab_keep_package_prefix
matlab_show_property_default_values
Example Complete Configuration
Configuration for Different Project Structures
Single Directory
Multiple Levels with Packages
Documentation Next to Source
Separate Docs Project
Advanced Configuration
Napoleon Extension
Custom CSS
Intersphinx Linking
Troubleshooting Configuration
Configuration Not Working
matlab_src_dir Not Found
Extension Not Loaded
See Also
Autodoc Directives
Overview
autofunction
Basic Usage
With Package Prefix
Options
Example
autoclass
Basic Usage
Options
Selective Members
Example
automodule
Basic Usage
Options
Example
automethod
Basic Usage
Options
Example
autoattribute
Basic Usage
Options
Example
Combining Directives
Full Class Documentation
Selective Documentation
Package Overview
Directive Options Reference
Common Options
Tips and Best Practices
Troubleshooting
Function/Class Not Found
No Documentation Appearing
Members Not Showing
See Also
sphinx-matlab-apidoc
When to Use
Quick Start
Common Options
Examples
Tips and Pitfalls
Troubleshooting
MATLAB Domain
Overview
Roles for Cross-Referencing
When to Use Manual Directives
See Also
Napoleon Docstrings
Overview
Google Style (Recommended)
NumPy Style
Configuration
See Also
Cross-Referencing
Automatic Links
Manual Links
Short Links
See Also
Examples
Complete Project Example
Function Examples
Class Examples
Package Examples
See Also
Troubleshooting
Installation Issues
Package Not Found
Configuration Issues
matlab_src_dir Not Found
Extension Not Loading
Build Issues
Functions Not Appearing
Classes Not Showing Members
Build Warnings
Folders Starting with Underscore Not Found
Python Package Naming Rules
Getting Help
See Also
Developer Guide
Architecture
Project Overview
Core Components
matlab.py - Main Domain (958 lines)
mat_types.py - Type System
mat_tree_sitter_parser.py - AST Parser
mat_documenters.py - Documenter Classes
mat_directives.py - Autodoc Directives
mat_lexer.py - Syntax Highlighting
Data Flow
1. User Setup
2. Sphinx Build Starts
3. Module Discovery
4. Directive Processing
5. Parsing
6. Type Creation
7. Documentation Generation
8. Cross-Reference Resolution
9. HTML Generation
File System Organization
Source Code Layout
Test Organization
Key Algorithms
Module Discovery
Name Resolution
Docstring Parsing
Design Patterns
The Documenter Pattern
The Type System
Extension Points
Adding New Directive Types
Adding New MatTypes
Custom Parsing
Dependencies
Core Dependencies
Development Dependencies
See Also
Contributing
Development Setup
Prerequisites
Clone the Repository
Create Virtual Environment
Install Dependencies
Install Pre-commit Hooks
Verify Installation
Development Workflow
1. Create a Branch
2. Make Changes
3. Run Tests
4. Check Code Quality
5. Commit Changes
6. Push and Create Pull Request
Code Style
Formatting Rules
Documentation Style
Testing Guidelines
Writing Tests
Running Tests
Test Organization
Documentation Contributions
Building Documentation
Adding New Pages
ReStructuredText Tips
Pull Request Guidelines
Before Submitting
PR Description
Review Process
Reporting Issues
Found a Bug?
Feature Request?
Getting Help
Code of Conduct
See Also
Testing
Test Organization
Test Categories
Unit Tests (Fast)
Integration Tests (Slow)
Sphinx Tests
Running Tests
All Tests
Fast Tests Only
Slow Tests Only
Specific Test File
Specific Test Function
With Coverage
With Coverage
Verbose Output
Stop on First Failure
Parallel Execution
Writing Tests
Basic Test Structure
Using Fixtures
Testing with Sphinx
Testing Error Handling
Test Data Organization
MATLAB Test Files
Sphinx Test Roots
Testing Best Practices
Coverage Goals
Continuous Integration
GitHub Actions
Running CI Locally
Debugging Failing Tests
Verbose Output
Show Print Statements
Debug on Failure
Show Local Variables
Rerun Failed Tests
Test Maintenance
Updating Test Data
Updating Baselines
Removing Obsolete Tests
Common Test Patterns
Testing Parsers
Testing Documenters
Testing Links
See Also
Known Issues
Current Known Issues
Documented TODOs
Limitations
MATLAB Version Support
Single matlab_src_dir
Workarounds
Reporting New Issues
See Also
Quick Reference
Common Commands
Setup
Testing
Code Quality
Documentation
Git Workflow
Key Files Reference
Source Code
Configuration
Dependencies
Common Workflows
Adding a New Feature
Fixing a Bug
Adding Documentation
Reviewing a PR
Important Configuration Settings
conf.py (Sphinx)
pyproject.toml
Troubleshooting Quick Fixes
Tests Failing
Import Errors
Pre-commit Failing
Documentation Not Building
CI Failing on GitHub
Useful Links
Code Snippets
Testing a MATLAB Function
Creating a Test
Debugging Sphinx Build
Environment Variables
See Also
Reference
Configuration Options
Essential Options
extensions
matlab_src_dir
Optional Options
primary_domain
matlab_short_links
matlab_auto_link
matlab_keep_package_prefix
matlab_show_property_default_values
See Also
Directives
Autodoc Directives
Manual Directives
See Also
API
For Users
For Developers
Module Reference
See Also
Changelog
Recent Changes
Version 0.22.0 (Latest)
Version History
See Also
sphinxcontrib-matlabdomain
Index
Index
A
|
C
|
D
|
H
|
M
|
P
|
T
|
V
A
add() (mypackage.Calculator method)
C
Calculator (built-in class)
(class in mypackage)
D
double_value() (in module mypackage)
H
hello() (built-in function)
,
[1]
M
multiply() (mypackage.Calculator method)
P
pi (mypackage.Calculator attribute)
T
times_two() (built-in function)
times_two_napoleon() (built-in function)
V
version (mypackage.Calculator attribute)