Developer’s Guide
This guide is for contributors and maintainers working on SpectroChemPy code, documentation, tests, or official plugins.
Note
A large part of the content/structure of this guide has been copied and adapted from the Pandas developer guide.
Start with Contributing to SpectroChemPy for the development setup and pull request workflow. Use Contributing to the code for testing, formatting, deprecations, and changelog entries. Plugin-specific architecture and packaging guidance lives under Plugin developer.
- Contributing to SpectroChemPy
- Contributing to the code
- Contributing to specific parts of the code
- Contributing to Documentation
- Plotting Architecture and Lazy Matplotlib Integration
- High-Level Architecture
- Actual Architecture (Simplified)
- Lazy Initialization System
- Step 1: PlotPreferences as Source of Truth
- Step 2: Local rcParams Application
- Step 3: Style Sheets Are Parsed, Not Applied
- Step 4: Two-Stage Value Coercion
- Step 5: Handling Special Matplotlib Semantics
- Step 6: Logical vs File-Based Styles
- Step 7: Adding or Modifying Plot Preferences
- Step 8: Testing and Debugging
- Performance Guidelines for Contributors
- Summary for Contributors
- Plugin developer