Ecosystem¶
The QSP ecosystem is a family of coordinated Python packages designed to work together while remaining independently installable. Each package has a clearly scoped responsibility. They share a common type system defined in qsp-core.
Architecture¶
The packages are layered by level of abstraction:
| Layer | Package | Responsibility |
|---|---|---|
| Foundation | qsp-core |
Quaternionic primitives, shared math types, common utilities |
| Transforms | qsp-fft |
Spectral analysis and frequency-domain transforms |
| Conditioning | qsp-filter |
Filtering, preprocessing, and signal conditioning |
| Application | qsp-modulation |
Symbol generation and communication-oriented workflows |
| Application | qsp-orientation |
Attitude estimation and motion handling |
| Convenience | qsp-stack |
Meta-package bundling the full ecosystem |
Layered view¶
┌─────────────────────────────────────────────────────────┐
│ qsp-stack │
│ (convenience meta-package / full install) │
├──────────────┬──────────────┬──────────────┬────────────┤
│ qsp-fft │ qsp-filter │ qsp-modulation│ qsp-orient │
│ (transforms)│ (filtering) │ (modulation) │ (attitude) │
├──────────────┴──────────────┴──────────────┴────────────┤
│ qsp-core │
│ (quaternionic primitives and shared math) │
└─────────────────────────────────────────────────────────┘
The mid-tier packages (qsp-fft, qsp-filter, qsp-modulation, qsp-orientation) are peers — they do not depend on each other. Each depends only on qsp-core. qsp-stack depends on all of them.
Package map¶
Package summaries¶
qsp-core¶
The foundation of the ecosystem. Provides the quaternion types, shared signal representations, and utility functions that all other packages build on. If you are working with any QSP package, qsp-core is a transitive dependency.
qsp-fft¶
Transforms and spectral analysis tools designed for quaternionic and structured signals. Extends classical FFT concepts to quaternion-valued inputs and provides analysis utilities for frequency-domain work.
qsp-filter¶
Signal conditioning and filtering tools. Includes filter design and application for quaternionic and structured data streams. Used after data acquisition and before analysis or modulation stages.
qsp-modulation¶
Symbol generation and modulation helpers for communication-oriented signal workflows. Focused on representing signals in modulation space using quaternionic representations.
qsp-orientation¶
Orientation, attitude, and motion-estimation tools for quaternionic sensor and navigation workflows. Supports fusion of sensor data into stable orientation estimates.
qsp-stack¶
A convenience meta-package. Installing qsp-stack installs all the above packages. Intended for users who want the full ecosystem without specifying each package individually.
Choose your entry point¶
| Goal | Entry point |
|---|---|
| Try the full ecosystem quickly | qsp-stack |
| Build a spectral analysis tool | qsp-fft |
| Filter and preprocess signals | qsp-filter |
| Design a modulation scheme | qsp-modulation |
| Estimate orientation from sensors | qsp-orientation |
| Work directly with quaternion math | qsp-core |
For help deciding, see Choosing a Package.