cityjson-lib 0.5.3

High-level CityJSON 2.0 read/write facade integrating JSON I/O
Documentation

cityjson-lib

cityjson_lib is the publishable CityJSON facade for Rust, plus the shared FFI surface used by the Python and C++ bindings in this repository.

The current published surface is intentionally small:

  • Rust document and feature-stream IO through cityjson_lib::json
  • Rust workflow helpers through cityjson_lib::ops
  • Rust summary helpers through cityjson_lib::query
  • Python and C++ bindings over the shared FFI core

Arrow, Parquet, and wasm are not part of the current release-facing surface.

Use of AI in this project

This crate was written with AI assistance and human guidance. Development used an iterative process of testing, benchmarking, and optimization controlled and verified by me.

License

This repository is dual-licensed under MIT or Apache-2.0. See LICENSE and LICENSE-APACHE.

Quick Start

use cityjson_lib::{json, query};

let model = json::from_file("amsterdam.city.json")?;
let summary = query::summary(&model);
println!("{} cityobjects", summary.cityobject_count);

let bytes = json::to_vec(&model)?;
# let _ = bytes;
# Ok::<(), cityjson_lib::Error>(())

Docs

The minimal docs set lives under docs/. Start with: