#type #data-type #reflection #irox #primitive

irox-types

Enums and structs to describe Rust's basic type system

11 unstable releases (4 breaking)

new 0.5.0 Dec 14, 2024
0.4.4 Oct 30, 2024
0.4.2 Jun 28, 2024
0.4.1 Apr 21, 2024
0.1.0 Sep 5, 2023

#1257 in Rust patterns

Download history 10/week @ 2024-08-23 15/week @ 2024-08-30 7/week @ 2024-09-06 26/week @ 2024-09-13 42/week @ 2024-09-20 22/week @ 2024-09-27 5/week @ 2024-10-04 11/week @ 2024-10-11 43/week @ 2024-10-18 248/week @ 2024-10-25 53/week @ 2024-11-01 11/week @ 2024-11-08 17/week @ 2024-11-15 18/week @ 2024-11-22 48/week @ 2024-11-29 46/week @ 2024-12-06

130 downloads per month
Used in 13 crates (6 directly)

MIT/Apache

465KB
10K SLoC

Iron Oxide (IROX) Libraries

A collection of (hopefully) useful crates written in Rust.

MIT Apache Maintenance GitHub Workflow Status (with event) Crates.io docs.rs

Contributor Covenant Semver2.0 ConvCommits unsafe forbidden

Current Modules & Organization:

  • data-formats - Specific data format encoders & decoders
    • csv - Comma Separated Values encoder/decoder, inspired by python's csv module
    • gpx - GPX GPS file format reader/writer
    • nmea0183 - GPS NMEA-0183 encoder/decoder
    • raymarine-sonar - Raymarine SDF Sonar Converter
    • sirf - GPS Binary SiRF encoder/decoder
  • interfaces - Interfaces, Transports, and APIs for external tools
  • irox - Aggregator module
  • libraries - Rust 'library' crates, usually without binaries
    • bits - Bits & Bobs. No-std/No-alloc bit/byte manipulation of streams
    • build-rs - Compile-time build metadata injection inspired by shadow-rs
    • carto - Cartographic & Geospatial tools
    • derive-helpers - Helper traits & functions for the proc_macro crate to aid in writing less complex derive macros
    • egui-extras - Extra stuff for the wonderful egui crate
    • enums - Traits for better Enumerated Types
    • enums_derive - Derivable impls of the traits in irox-enums
    • fixedmath - Fixed Precision Math Primitives
    • git-tools - Tools and wrappers to help with GitOps
    • log - Basic console and file logging
    • networking - Networking tools
    • progress - An ecosystem for displaying progress, either in a UI or on the terminal.
    • stats - Mathematics & Statistics tools
    • structs - Traits for Struct Types - linearly serialized big endian bytes
    • structs_derive - Derivable impls of the traits in irox-structs
    • threading - Blocking and Asynchronous Threading Tools
    • time - A date & time library that aims for ease of use based on the Proleptic Gregorian Calendar.
    • tools - Dumping ground for stuff that should have been in std
    • types - Enums and structs to describe Rust's basic type system
    • units - Physical Units, Quantities, & Reference Frames
  • tools - Rust 'binary' crates, mostly just binaries that depend on crates in libraries
    • gpsd - Implementation of GPSd in Rust, with support for windows targets!

Version Status

Crate no_std? no_alloc? Status
irox-bits no_std no_alloc bits-vsn-shield bits-doc-shield
irox-build-rs std alloc build-rs-vsn-shield build-rs-doc-shield
irox-carto std alloc carto-vsn-shield carto-doc-shield
irox-csv std alloc csv-vsn-shield csv-doc-shield
irox-derive-helpers std alloc derive-helpers-vsn-shield derive-helpers-doc-shield
irox-egui-extras std alloc egui-extras-vsn-shield egui-extras-doc-shield
irox-enums no_std alloc enums-vsn-shield enums-doc-shield
irox-enums_derive no_std alloc enums_derive-vsn-shield enums_derive-doc-shield
irox-fixedmath no_std no_alloc fixedmath-vsn-shield fixedmath-doc-shield
irox-git-tools std alloc git-tools-vsn-shield git-tools-doc-shield
irox-gpx std alloc gpx-vsn-shield gpx-doc-shield
irox-influxdb_v1 std alloc influxdb_v1-vsn-shield influxdb_v1-doc-shield
irox-log std alloc log-vsn-shield log-doc-shield
irox-networking std alloc networking-vsn-shield networking-doc-shield
irox-nmea0183 std alloc nmea0183-vsn-shield nmea0183-doc-shield
irox-progress std alloc progress-vsn-shield progress-doc-shield
irox-raymarine-sonar std alloc raymarine-sonar-vsn-shield raymarine-sonar-doc-shield
irox-sirf std alloc sirf-vsn-shield sirf-doc-shield
irox-stats no_std alloc stats-vsn-shield stats-doc-shield
irox-structs std alloc structs-vsn-shield structs-doc-shield
irox-structs_derive std alloc structs_derive-vsn-shield structs_derive-doc-shield
irox-threading std alloc threading-vsn-shield threading-doc-shield
irox-time feature_std alloc time-vsn-shield time-doc-shield
irox-tools feature_std alloc tools-vsn-shield tools-doc-shield
irox-types std alloc types-vsn-shield types-doc-shield
irox-units no_std no_alloc units-vsn-shield units-doc-shield
irox-winlocation-api std alloc winloc-api-vsn-shield winloc-api-doc-shield

Dependencies

~240–670KB
~16K SLoC