qtty
The user-facing crate for strongly typed physical quantities, conversions, and astronomy-friendly units.
qtty re-exports the qtty-core type system plus a curated set of built-in units so you can write dimensionally safe
code without giving up ergonomics.
Highlights
- Zero-cost
Quantity<U, S>model with compile-time unit safety - Explicit conversions via
.to::<TargetUnit>() - Dimensional arithmetic for area, volume, velocity, frequency, and other derived quantities
- Built-in astronomy-oriented units such as
AstronomicalUnit,LightYear,Parsec,SolarMass, andSolarLuminosity no_stdsupport, optionalserde, optional PyO3/SQL integrations, and integer scalar families
Install
[]
= "0.4.1"
Disable default features for no_std:
[]
= { = "0.4.1", = false }
Enable heap-backed helpers in no_std:
[]
= { = "0.4.1", = false, = ["alloc"] }
Quick start
use ;
let angle = new;
let radians = angle.;
assert!;
use ;
use Velocity;
let distance = new;
let elapsed = new;
let speed: = distance / elapsed;
assert!;
Feature flags
std(default): enablesstdsupport inqtty-corecross-unit-ops(default): enables direct cross-unit comparison operators for compatible built-in unitsalloc: enables heap-backed helpers such asqtty::qtty_vec!(vec ...)inno_stdserde: enables serialization helpers for quantitiesscalar-decimal: enablesrust_decimal::Decimalscalar-rational: enablesnum_rational::Rational64pyo3: enables PyO3 conversions and Python-facing helperstiberius: enables SQL Server integration helpersdiesel: enables Diesel integration helpers
Modules
angular,time,length,mass,powerarea,volumevelocity,frequencyunitless- scalar-specific facades:
f32,f64,i8,i16,i32,i64,i128
Examples
Related crates
qtty-core: primitive type system and built-in unitsqtty-derive: derive macro for custom unitsqtty-ffi: C-compatible ABI and adapter bridge
Repository docs:
- Workspace overview:
../../doc/users/rust-workspace.md - Repository layout:
../../doc/architecture/repository-layout.md
License
AGPL-3.0 (see ../LICENSE).