Skip to main content

Standardized CubeSat & PocketQube form factor specs with launch provider deployer constraints

Project description

cubesat-specs

PyPI version Python 3.9+ License: MIT Tests

Standardized CubeSat and PocketQube form factor specifications plus launch provider and deployer constraints — 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,
)

# Look up a 3U CubeSat
ff = CUBESAT_FORM_FACTORS["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

# PocketQube 1p
pq = POCKETQUBE_FORM_FACTORS["1p"]
print(pq.max_mass_kg)  # 0.25

# Unified lookup (CubeSat + PocketQube)
get_form_factor("6U")   # returns CubeSatFormFactor for 6U
get_form_factor("2p")   # returns CubeSatFormFactor for 2p PocketQube

# 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 (Cal Poly CDS Rev 14.1)

Key W × D × H (mm) Max mass (kg) Min freq (Hz)
0.5U 100 × 100 × 56.75 1.00 100
1U 100 × 100 × 113.5 2.00 100
1.5U 100 × 100 × 170.25 3.00 100
2U 100 × 100 × 227.0 4.00 100
3U 100 × 100 × 340.5 6.00 100
3U+ 100 × 100 × 360.0 6.00 100
6U 226.3 × 100 × 366.0 12.00 100
12U 226.3 × 226.3 × 366.0 24.00 100
16U 226.3 × 226.3 × 488.0 32.00 100
27U 300 × 300 × 340.5 54.00 100

PocketQube Form Factors (PocketQube Standard Issue 1)

Key W × D × H (mm) Max mass (g)
1p 50 × 50 × 50 250
2p 50 × 50 × 114 500
3p 50 × 50 × 178 750

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)

Each DeployerSpec carries: supported_form_factors, deployment_velocity_min/max_ms, tip_off_rate_max_deg_s, max_payload_mass_kg, and optional inclination_deg / altitude_km_min/max.

Data Sources

Publishing to PyPI

  1. Create a PyPI account and enable Trusted Publishing for JuliusPinsker/cubesat-specs.
  2. Push a semver tag: git tag v0.1.0 && git push --tags
  3. The publish.yml workflow triggers automatically via OIDC — no API keys needed.

Contributing

PRs welcome! Priority areas:

  • Additional deployers (Tyvak, GomSpace, AAC Clyde Space, D-Orbit ION)
  • VEGA/Ariane-6 rideshare specs
  • Updated NanoRacks specs post-Voyager acquisition
  • SpaceX Transporter mission orbit parameters per flight

License

MIT

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

cubesat_specs-0.1.0.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cubesat_specs-0.1.0-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file cubesat_specs-0.1.0.tar.gz.

File metadata

  • Download URL: cubesat_specs-0.1.0.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cubesat_specs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5e19d216f0e199ae13351818d8600405f82e56300764151f00dd234755979fe1
MD5 0cf717dfea5c3b456c5a46c1505ee2b7
BLAKE2b-256 3712a7ca554ee9cbcaf81a741bbd36953d1ce264a8cd625d1ad6309bbcab1dab

See more details on using hashes here.

Provenance

The following attestation bundles were made for cubesat_specs-0.1.0.tar.gz:

Publisher: publish.yml on JuliusPinsker/cubesat-specs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cubesat_specs-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cubesat_specs-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cubesat_specs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fe33a2aaa4bdb19b5b143a2d8edf504897c2e935bf3df10412c2a18749562452
MD5 2d193a210853bac7b70365b112104d7d
BLAKE2b-256 a647b843a85b463dd4ddca61a0781ad66ddca9149b23d58fb0fe69bb15868042

See more details on using hashes here.

Provenance

The following attestation bundles were made for cubesat_specs-0.1.0-py3-none-any.whl:

Publisher: publish.yml on JuliusPinsker/cubesat-specs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page