Skip to main content

rusty-ssim

A high-performance Rust-built IATA SSIM (Standard Schedules Information Manual) parser that can be used via CLI, Python, or Rust. This tool efficiently parses SSIM files into Polars DataFrames or exports directly to CSV/Parquet formats with streaming support for large files.

RustySSIM PyPI Build RustySSIM Crate Build Release CLI License: MIT Changelog

Features

  • 🚀 Fast Performance: Built in Rust for optimal parsing speed with parallel processing capabilities
  • ⚡ Parallel Processing: Leverages multi-core CPUs to process large SSIM files efficiently
  • 💾 Memory Efficient: Optimize for large SSIM files
  • 📊 Multiple Output Formats: CSV, Parquet, and in-memory DataFrames
  • 🗜️ Flexible Compression: Support for various Parquet compression options (zstd, lz4, snappy, etc.)
  • 🔧 Tooling Options: Both CLI and Python APIs available
  • 📈 Production Ready: Handles files of any size with configurable batch processing

Quick Start

Python (Most Common Use Case)

import rustyssim as rs

# Parse SSIM file to DataFrame
df = rs.parse_ssim_to_dataframe("path/to/schedule.ssim")
print(f"Parsed {len(df)} flight records")

# Split into separate DataFrames by record type
carriers, flights, segments = rs.split_ssim_to_dataframes("schedule.ssim")

# Direct export to optimized formats
rs.parse_ssim_to_csv("schedule.ssim", "output.csv")
rs.parse_ssim_to_parquets("schedule.ssim", "./parquet_files", compression="zstd")

CLI (For Data Processing Pipelines)

# Convert to CSV
ssim csv -s schedule.ssim -o output.csv

# Convert to compressed Parquet files (one per airline)
ssim parquet -s schedule.ssim -o ./output -c zstd -b 50000

Installation

Python

pip install rustyssim

(Build from Source)

# Clone the repository
git clone https://github.com/wcagreen/rusty-ssim.git
cd rusty-ssim

# Install Python package
pip install maturin
maturin develop -m py-rusty-ssim/Cargo.toml

# Build CLI tool
cargo build -p cli-rusty-ssim --release

Requirements:

(Build CLI with Docker)

Download the Dockerfile from the repo, or build one your self.

# Build docker image.
docker build --no-cache -t wcagreen/rusty-ssim:latest .

# To run you can use the following command.
docker run --rm -v "${PWD}:/data" wcagreen/rusty-ssim:latest @args

# You can also just make this a permanent function for powershell, etc...

Documentation

📖 Python API Documentation

Complete reference for all Python functions with examples, parameters, and return values.

💻 CLI Documentation

Comprehensive guide for command-line usage, performance tuning, and integration examples.

Data Structure

The parser handles three types of SSIM records according to IATA standards:

Carrier Records (Type 2)

Contains airline and schedule metadata.

Flight Records (Type 3)

Contains core flight leg information.

Segment Records (Type 4)

Contains flight segment information.

Use Cases

Data Analytics

# Analyze route networks
df = rs.parse_ssim_to_dataframe("schedule.ssim")
routes = df.group_by(['departure_station', 'arrival_station']).count()

# Export for Tableau, Power BI, etc.
rs.parse_ssim_to_csv("schedule.ssim", "analytics_export.csv")
# Split by carrier for airline-specific analysis
carriers, flights, segments = rs.split_ssim_to_dataframes("schedule.ssim")

# Analyze specific airline operations
aa_flights = flights.filter(flights['airline_designator'] == 'AA')
capacity_analysis = aa_flights.group_by('aircraft_type').agg([
    pl.count().alias('flights'),
    pl.col('departure_station').n_unique().alias('origins')
])

Data Engineering Pipelines

# Batch processing in ETL pipelines
ssim parquet -s "./huge_multi_carrier_ssim.dat" -o /data/processed/ -c zstd -b 100000

Development

Running Tests

# Rust tests
cargo test

# Python tests  
pip install pytest
pytest tests/

Contributing

Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.

Quick Contribution Steps

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes with tests
  4. Run the test suite (cargo test && pytest)
  5. Submit a pull request

Community & Support

License

This project is licensed under the MIT License - see the LICENSE file for details.


📋 Project Structure
rusty-ssim/
├── cli-rusty-ssim/          # CLI application
├── py-rusty-ssim/           # Python bindings  
├── rusty-ssim-core/         # Core Rust library
├── docs/                    # Documentation

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rustyssim-0.6.2.tar.gz (52.9 kB view details)

Uploaded Source

Built Distributions

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

rustyssim-0.6.2-cp314-cp314t-win_amd64.whl (24.3 MB view details)

Uploaded CPython 3.14tWindows x86-64

rustyssim-0.6.2-cp314-cp314t-musllinux_1_2_x86_64.whl (29.9 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

rustyssim-0.6.2-cp314-cp314t-musllinux_1_2_aarch64.whl (29.3 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ ARM64

rustyssim-0.6.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.4 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64

rustyssim-0.6.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (21.2 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ ARM64

rustyssim-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl (25.1 MB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

rustyssim-0.6.2-cp314-cp314t-macosx_10_12_x86_64.whl (26.6 MB view details)

Uploaded CPython 3.14tmacOS 10.12+ x86-64

rustyssim-0.6.2-cp310-abi3-win_amd64.whl (24.4 MB view details)

Uploaded CPython 3.10+Windows x86-64

rustyssim-0.6.2-cp310-abi3-musllinux_1_2_x86_64.whl (30.0 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

rustyssim-0.6.2-cp310-abi3-musllinux_1_2_aarch64.whl (29.4 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

rustyssim-0.6.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (22.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

rustyssim-0.6.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (21.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

rustyssim-0.6.2-cp310-abi3-macosx_11_0_arm64.whl (25.3 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

rustyssim-0.6.2-cp310-abi3-macosx_10_12_x86_64.whl (26.5 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file rustyssim-0.6.2.tar.gz.

File metadata

  • Download URL: rustyssim-0.6.2.tar.gz
  • Upload date:
  • Size: 52.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rustyssim-0.6.2.tar.gz
Algorithm Hash digest
SHA256 4f3aa0d57a7a897db4ca77d31d0d8bc74641310a3bc032bac6982c03b84da300
MD5 ffceb1d93ac6997dec2f48ce51666cf9
BLAKE2b-256 2c2d88bc8173d88512bde2fe0fe3353358c93e7b4aed84e0a280a2dddd890aec

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2.tar.gz:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: rustyssim-0.6.2-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 24.3 MB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rustyssim-0.6.2-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 29bbceebe3b01936160581dc22858966399007149aebc175c265897173543f51
MD5 ca1f69fe8f7f612655e30e140d454123
BLAKE2b-256 db31ea27fbc4e85d68948827088557e170ca76496dbe425d17b3cc2785c3f239

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp314-cp314t-win_amd64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eafe0982ba0f2011f4bfe45ee2cb42534597b111044fa3d0453957db828d8297
MD5 06f11d72e04a03308ac7dc9df5e1297c
BLAKE2b-256 4e599f98ffe4f3ece0db84f052b738c16308adb2975de8f8f481727ef08f31ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp314-cp314t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp314-cp314t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 986040d43a7306665fa90b52593c55203b95821d73ef19e47efa7a4305147970
MD5 22061adc11886903e28d2e0f22de7dc5
BLAKE2b-256 cfdd9422c71367091213df9e20cd7b368d128c7f78c518e1292994abec8c390d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp314-cp314t-musllinux_1_2_aarch64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 98c3e48f3d3473339f75245afdb427da378033b59fbe05009f4c54e55b5ec944
MD5 516bf976cd67747daa9e5e1417b850e2
BLAKE2b-256 8b7dca4596cb6e2aab42757439ee9107803f1b949d6e03995c868bc0ec610e0c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d0b5b91e1249219378da3920ffc86e78586b4a5db045254dfaa6a7c4639a3734
MD5 dae9d3fd1e68ca14298a6f78a5918ea3
BLAKE2b-256 75c681c823bce3691ae77a5e13793e9c20f2712b32dbea14771bd38f4665098e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee34236c90bfbe40f71a805af5fb4d912c055cce4783754c51161a4c15d8c5d4
MD5 a5b9f014336572d9168d02f8a9f6688b
BLAKE2b-256 1c3ae97304afe58f9b4cea72f9c05d62d9ac979905a4759fa01472e9887500b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp314-cp314t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp314-cp314t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3d712fb93ca0982135c9d6672c8a1d9544998be667cdb9c0ad957bb6cfe8f60f
MD5 606e8d181e65e02e0102c58b5f8a503d
BLAKE2b-256 e4a7414810e720b2808344034429c29cf8ea5d305b0c41662a819306a36d6625

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp314-cp314t-macosx_10_12_x86_64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: rustyssim-0.6.2-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 24.4 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for rustyssim-0.6.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 dde878846bb8a855196962a1f7eb0af0e04b5fed0f277c89e7c3d1aceab85316
MD5 089611af6ece609f637f17a2da5d8741
BLAKE2b-256 0d77a5d960a3107127609b5f60e81dbff53cddb02310be9c69628b3db115a00e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp310-abi3-win_amd64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1f3c394ab20e33d1d5a692955f9408b0123f5d18f289c1e13f13c87d73a6e2b6
MD5 c96f430530eb3d8c8f0ec8af494facbe
BLAKE2b-256 9993b8d57b8ea931bc0bfffd226c2759f6ff9cb039294e16a1e1e0eacd7916e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 65a968e7c5c75571b298b56056b358b6c7721ad12f52fed135de3962211ba830
MD5 447b8fee9ed062eca6c3d88d8979e99d
BLAKE2b-256 fc13268ae6db2720d8966876051764b4408cf7c46be99d153e1602df0f58f335

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab03e79732a8fc0ef36f1f0439f5e1f23693c007a2440c129869bb055884e2c0
MD5 2f677119c389d6daccf2dcb492d92393
BLAKE2b-256 0f85a85420adf96cb2f8535229b758bb76453c2e5d70544117623f0cf9f470b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a64b7fa957ab8782929dd9bc43b2bb894250e1e4f6795fb18922e1b2f120e94
MD5 c5ba3654e3073df57fc8b04956134950
BLAKE2b-256 7ade3bd552a54faa5c2b6b9ffe8dd662a22564a5b58f0e7ed71638d6f3547a1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12ab1e6b1b7693d24a791a9c7f827ebd57f2f54da301cdf47b39f79db04a0982
MD5 0cc38ea7de4a04c2e17cd27f99b0ff06
BLAKE2b-256 17e3917555b65203b2fd89da125216e1e438e350b0c77f0c36c9080e317c9992

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

File details

Details for the file rustyssim-0.6.2-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rustyssim-0.6.2-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 135d29945e4b63d0f44fb395697c6d25f075467123ff45a4a935c2790fac1d15
MD5 7cdd9f689f21b44dde3e9d94ba3d299e
BLAKE2b-256 df30c633dbe5074ab96cec217b64743a137c3a1d719ad828d076002c0a0ed813

See more details on using hashes here.

Provenance

The following attestation bundles were made for rustyssim-0.6.2-cp310-abi3-macosx_10_12_x86_64.whl:

Publisher: publish-to-pypi.yml on wcagreen/rusty-ssim

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

Release history Release notifications | RSS feed

This release

0.6.2 This release

15 files

0.6.1

15 files

0.6.0

15 files

0.5.3

15 files

0.5.2

15 files

0.5.1

15 files

0.5.0

15 files

0.4.0

15 files

0.3.2

15 files

0.3.1

15 files

0.3.0

15 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page