cubesat-specs¶
cubesat-specs¶
Standardized CubeSat and PocketQube form factor specifications, design constraints, and launch provider deployer data — no hardcoding required.
pip install cubesat-specs # PyPI
conda install -c conda-forge cubesat-specs # conda-forge (coming soon)
Non-Python? All data is also available as machine-readable JSON files — use them from MATLAB, Julia, C++, JavaScript, or any language.
Quick Start¶
from cubesat_specs import (
CUBESAT_FORM_FACTORS,
POCKETQUBE_FORM_FACTORS,
get_form_factor,
get_compatible_providers,
CDS, # CubeSat Design Specification Rev 14.1
PQS, # PocketQube Standard Issue 1
)
# Look up a 3U CubeSat
ff = get_form_factor("3U")
print(ff.width_mm, ff.depth_mm, ff.height_mm) # 100.0 100.0 340.5
print(ff.max_mass_kg) # 6.0
print(ff.volume_liters) # 3.405
# Centre-of-gravity check (CDS Rev 14.1 Table 2)
ff.cg_limits.within(1.0, 1.0, 5.0) # True — within ±2/±2/±7 cm
# PocketQube 2p
pq = get_form_factor("2p")
print(pq.max_mass_kg) # 0.5
pq.cg_limits.within(0.5, 0.5, 0.5) # True — within ±1 cm (PQ-Mass-04)
# CDS constraints
print(CDS.rf_silence_minutes) # 45
print(CDS.outgassing_tml_max_pct) # 1.0
# PocketQube Standard constraints
print(PQS.min_kill_switches) # 2
print(PQS.component_envelope_mm) # 7.0
# Which launch providers accept a 6U?
for provider in get_compatible_providers("6U"):
deployer_names = [d.name for d in provider.deployers
if "6U" in d.supported_form_factors]
print(f"{provider.name}: {deployer_names}")
CubeSat Form Factors (CDS Rev 14.1)¶
Key |
W × D × H (mm) |
Max mass (kg) |
CG limits ±cm (X/Y/Z) |
|---|---|---|---|
0.5U |
100 × 100 × 56.75 |
1.00 |
2/2/2 * |
1U |
100 × 100 × 113.5 |
2.00 |
2/2/2 |
1.5U |
100 × 100 × 170.25 |
3.00 |
2/2/3 |
2U |
100 × 100 × 227.0 |
4.00 |
2/2/4.5 |
3U |
100 × 100 × 340.5 |
6.00 |
2/2/7 |
3U+ |
100 × 100 × 360.0 |
6.00 |
2/2/7 |
6U |
226.3 × 100 × 366.0 |
12.00 |
4.5/2/7 |
12U |
226.3 × 226.3 × 366.0 |
24.00 |
4.5/4.5/7 |
16U |
226.3 × 226.3 × 488.0 |
32.00 |
— |
27U |
300 × 300 × 340.5 |
54.00 |
— |
* 0.5U, 3U+, 16U, and 27U are community-derived, not in CDS Rev 14.1.
PocketQube Form Factors (PocketQube Standard Issue 1)¶
Key |
W × D × H (mm) |
Max mass (g) |
CG limit |
|---|---|---|---|
1p |
50 × 50 × 50 |
250 |
±1 cm |
2p |
50 × 50 × 114 |
500 |
±1 cm |
3p |
50 × 50 × 178 |
750 |
±1 cm |
Dimensions are without the 1.6 mm sliding backplate (Y-axis).
Design Constraints¶
The CDS and PQS singletons expose every quantitative constraint from
the respective standards as simple attributes:
CDS Rev 14.1 highlights¶
Attribute |
Value |
CDS § |
|---|---|---|
|
8.5 |
2.2.5 |
|
6.5 |
2.2.3 |
|
1.0 % |
2.1.7 |
|
0.1 % |
2.1.7 |
|
45 |
2.4.5 |
|
30 |
2.4.4 |
|
1 |
2.3.2 |
|
100 |
2.1.5 |
PocketQube Standard Issue 1 highlights¶
Attribute |
Value |
PQ req. |
|---|---|---|
|
2 |
Mech-12 |
|
7.0 |
Mech-08 |
|
10.0 |
Mech-08 |
|
1.0 |
Mass-04 |
|
0.250 |
Mass-01 |
|
1.6 |
Table 1 |
|
False |
Gen-02 |
Launch Providers & Deployers¶
Provider key |
Provider |
Deployers |
|---|---|---|
|
NanoRacks |
NRCSD, NRCSD-E, NRCSD DoubleWide |
|
Cal Poly |
P-POD Mk III |
|
ISIS |
ISIPOD 3U, ISIPOD 6U |
|
Exolaunch GmbH |
EXOpod 6U, EXOpod 12U |
|
SpaceFlight Inc. |
Sherpa-FX |
|
Rocket Lab |
Electron Rideshare Deployer |
|
Alba Orbital |
PocketQube Deployer (4p) |
|
JAXA |
J-SSOD (10 cm class) |
|
D-Orbit |
ION Satellite Carrier |
|
Maverick Space Systems |
Mercury-3, Mercury-6, Mercury-12 |
Each DeployerSpec carries: supported_form_factors, max_payload_mass_kg,
optional deployment_velocity_min/max_ms and tip_off_rate_max_deg_s
(None when proprietary), and optional inclination_deg / altitude_km_min/max.
Data Sources¶
CubeSat Design Specification (CDS) Rev 14.1, Cal Poly, 2022
PocketQube Standard Issue 1, TU Delft / Alba Orbital / GAUSS Srl, 2018
Machine-Readable Data (JSON)¶
All data is shipped as JSON files in src/cubesat_specs/data/ for use from any language:
File |
Contents |
|---|---|
|
CubeSat (0.5U–27U) and PocketQube (1p–3p) dimensions, mass, CG limits |
|
All deployer specs (velocity, mass, form factors) |
|
Provider names, websites, deployer references |
|
CDS Rev 14.1 constraints |
|
PocketQube Standard Issue 1 constraints |
Regenerate with python scripts/export_json.py.
Citing¶
If you use this data in academic work, please cite:
@software{cubesat_specs,
author = {Pinsker, Julius},
title = {cubesat-specs},
url = {https://github.com/JuliusPinsker/cubesat-specs},
version = {0.2.1},
year = {2026},
}
A CITATION.cff is included — GitHub shows a “Cite this repository” button automatically.
Contributing¶
PRs welcome! Priority areas:
Additional deployers (Tyvak, GomSpace, AAC Clyde Space)
VEGA/Ariane-6 rideshare specs
Updated NanoRacks specs post-Voyager acquisition
SpaceX Transporter mission orbit parameters per flight