Skip to main content

flatcitybuf

A from-scratch, pure-Python reader for FlatCityBuf, a cloud-optimized binary format for 3D city models: CityJSON's semantics in FlatBuffers, with a packed Hilbert R-tree for spatial queries, a static B+tree for attribute queries, and HTTP range requests so a client fetches only the bytes it needs. No FFI and no compiled extension — a single py3-none-any wheel on CPython 3.9+, with flatbuffers as its only required dependency. Reader only: write .fcb files with the Rust CLI or the C++ writer.

pip install flatcitybuf          # or: uv pip install flatcitybuf
pip install "flatcitybuf[numpy]" # optional: ~2.4x faster bulk decoding
import json
import flatcitybuf as fcb

reader = fcb.FcbReader.open_file("city.fcb")

# The CityJSONSeq header line.
print(json.dumps(fcb.to_cityjson_metadata(reader.header)))

# Every feature, in stored (Hilbert) order.
for feature in reader.select_all():
    cj = fcb.to_cityjson_feature(feature, reader.header)

# Over HTTP, byte-range by byte-range (synchronously).
remote = fcb.FcbReader.open(fcb.HttpRangeReader("https://example.com/city.fcb"))

Attribute and spatial queries, the optional-numpy story, development commands, and the migration notes for users of the retired PyO3 extension (0.2.0 and earlier, whose API this does not drop-in replace) are all in the guide:

License

MIT — see LICENSE.

Download files

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

Source Distribution

flatcitybuf-0.5.0.tar.gz (199.0 kB view details)

Uploaded Source

Built Distribution

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

flatcitybuf-0.5.0-py3-none-any.whl (85.1 kB view details)

Uploaded Python 3

File details

Details for the file flatcitybuf-0.5.0.tar.gz.

File metadata

  • Download URL: flatcitybuf-0.5.0.tar.gz
  • Upload date:
  • Size: 199.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for flatcitybuf-0.5.0.tar.gz
Algorithm Hash digest
SHA256 e1305bc52fdb6f39e57aebb67251bbf31552143f915b7bbf1a254374db613a7e
MD5 5eec87b2821a851a9a820f1c92a2cf12
BLAKE2b-256 7daa7e22dacead3527e80044823296238565213fbe14ddee1db00d09d11b2c3a

See more details on using hashes here.

File details

Details for the file flatcitybuf-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: flatcitybuf-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 85.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for flatcitybuf-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05a3029a1685023d12d983b2442edda94707ab60d0b7242ecf77e37519e7e0d7
MD5 62e1dc8a9d3c2cb40ba0500fa6af5c14
BLAKE2b-256 5a4fd4ebceb72508adf71a45e6476a30508b9ad1ef0c53bb47400e3d1d22479f

See more details on using hashes here.

Release history Release notifications | RSS feed

0.5.2

2 files

0.5.1

2 files

This release

0.5.0 This release

2 files

0.4.0

2 files

0.3.1

2 files

0.2.0

3 files

0.1.2

3 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