Standardized CubeSat & PocketQube form factor specs with launch provider deployer constraints
Project description
cubesat-specs
Standardized CubeSat and PocketQube form factor specifications, design constraints, and launch provider deployer data — no hardcoding required.
pip install cubesat-specs
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 § |
|---|---|---|
rail_min_width_mm |
8.5 | 2.2.5 |
max_protrusion_mm |
6.5 | 2.2.3 |
outgassing_tml_max_pct |
1.0 % | 2.1.7 |
outgassing_cvcm_max_pct |
0.1 % | 2.1.7 |
rf_silence_minutes |
45 | 2.4.5 |
deployable_wait_minutes |
30 | 2.4.4 |
min_deployment_switches |
1 | 2.3.2 |
battery_faa_guideline_wh |
100 | 2.1.5 |
PocketQube Standard Issue 1 highlights
| Attribute | Value | PQ req. |
|---|---|---|
min_kill_switches |
2 | Mech-12 |
component_envelope_mm |
7.0 | Mech-08 |
deployable_envelope_mm |
10.0 | Mech-08 |
cg_max_offset_cm |
1.0 | Mass-04 |
mass_per_unit_kg |
0.250 | Mass-01 |
backplate_thickness_mm |
1.6 | Table 1 |
pyrotechnics_allowed |
False | Gen-02 |
Launch Providers & Deployers
| Provider key | Provider | Deployers |
|---|---|---|
nanoracks |
NanoRacks | NRCSD, NRCSD-E, NRCSD DoubleWide |
calpoly |
Cal Poly | P-POD Mk III |
isis |
ISIS | ISIPOD 3U, ISIPOD 6U |
exolaunch |
Exolaunch GmbH | EXOpod 6U, EXOpod 12U |
spaceflight |
SpaceFlight Inc. | Sherpa-FX |
rocketlab |
Rocket Lab | Electron Rideshare Deployer |
alba |
Alba Orbital | PocketQube Deployer (4p) |
jaxa |
JAXA | J-SSOD (10 cm class) |
dorbit |
D-Orbit | ION Satellite Carrier |
maverick |
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
- NanoRacks NRCSD IDD Rev D
- NanoRacks NRCSD-E IDD
- Cal Poly P-POD Mk III User Guide
- ISIS ISIPOD Datasheet
- Exolaunch EXOpod Datasheet
- JAXA JEM Payload Accommodation Handbook Vol. 8
- D-Orbit ION Platform
- Maverick Space Systems
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
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cubesat_specs-0.2.0.tar.gz.
File metadata
- Download URL: cubesat_specs-0.2.0.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e1b545b209d5d0d771bdfd36980e5e0df729525bf4dafadc3651c75abc8e429
|
|
| MD5 |
ef833d156048f6b65cf7ca8e7b9b6fa6
|
|
| BLAKE2b-256 |
f9d331fce31b84555eaafa3bd9855223d0755cee5186048ec30df8a4ef882ccd
|
Provenance
The following attestation bundles were made for cubesat_specs-0.2.0.tar.gz:
Publisher:
publish.yml on JuliusPinsker/cubesat-specs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cubesat_specs-0.2.0.tar.gz -
Subject digest:
5e1b545b209d5d0d771bdfd36980e5e0df729525bf4dafadc3651c75abc8e429 - Sigstore transparency entry: 1005504746
- Sigstore integration time:
-
Permalink:
JuliusPinsker/cubesat-specs@96dbc242666c5aa2769cba5993a99c70f89453ea -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JuliusPinsker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@96dbc242666c5aa2769cba5993a99c70f89453ea -
Trigger Event:
push
-
Statement type:
File details
Details for the file cubesat_specs-0.2.0-py3-none-any.whl.
File metadata
- Download URL: cubesat_specs-0.2.0-py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f11ce3d3ec07e162352a351b6448bbf03fceb0fcf5dbfb926fa82df70e41b14
|
|
| MD5 |
f4f391c51cf639ce785429fd748f9844
|
|
| BLAKE2b-256 |
57176f0b87e75b167cb68679cea5fbaa5e63b96d5f7a73aef222b3a6a3551d94
|
Provenance
The following attestation bundles were made for cubesat_specs-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on JuliusPinsker/cubesat-specs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cubesat_specs-0.2.0-py3-none-any.whl -
Subject digest:
2f11ce3d3ec07e162352a351b6448bbf03fceb0fcf5dbfb926fa82df70e41b14 - Sigstore transparency entry: 1005504747
- Sigstore integration time:
-
Permalink:
JuliusPinsker/cubesat-specs@96dbc242666c5aa2769cba5993a99c70f89453ea -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/JuliusPinsker
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@96dbc242666c5aa2769cba5993a99c70f89453ea -
Trigger Event:
push
-
Statement type: