Skip to main content

Table of Contents

  1. About
    1. Features
    2. Migrate onto CON
    3. Install
    4. Tutorial
    5. Design Decisions
      1. FFI Layer
    6. Specification
      1. CON format
      2. convel format
    7. Capabilities
    8. Citation
  2. License

About

readcon-core is the reference implementation of versioned .con / .convel. Rare-event codes already checkpoint on CON. This library is the spec and the hourglass API so the rest of the atomistic stack reads the same file: optimizers, potential drivers, analysis tools, campaign stores, and ML hand-off.

One frame is complete: cell, type-grouped coordinates, per-direction fixed masks, column-5 atom_id, optional per-atom sections (velocities, forces, energies, charges, spins, magmoms), and JSON metadata (spec v2-v3, docs/orgmode/spec.org). Saddle, dimer, and NEB codes already depend on that payload.

Layer Role
Spec + hot path Spec v3 parse/write, validate, units, sections, SoA, Cachegrind CI
Hourglass ABI C / C++ / Python / Julia / Fortran (rkr_*): link CON into any language
Device / ML hand-off DLPack (optional CUDA); optional metatensor TensorBlock without leaving CON authority
Ingress Chemfiles import/selection: foreign structures into CON
Campaigns index_proj + readcon-db (cargo add / pip install; docs · docs.rs)

Already on that path: rare-event clients, rgpot, rgpycrumbs, ASE adapters, amsel, campaign stores, and anything that takes DLPack or metatensor blocks.

Rust rewrite of readCon. Chemfiles owns format diversity at the edge; this crate owns CON fidelity on the wire and in memory.

Measurements: Cachegrind I-refs (examples/cachegrind_harness.rs); Python ASV + spyglass on PRs (benchmarks/); CON peers via benches/compare_readers.py (and other scripts under benches/). See docs/orgmode/benchmarks.org.

Features

  • CON and convel: Coordinates; optional sections declared in sections (velocities, forces, energies, charges, spins, magmoms). Velocities also auto-detect on legacy .convel without a sections key.
  • Lazy iteration: ConFrameIterator; next_with_raw_span keeps the on-disk blob for corpus ingest.
  • Hot path: fast-float2, memmap2, Cachegrind-tracked scenarios.
  • Parallel frames: Rayon behind the parallel Cargo feature.
  • Bindings: Python (PyO3), Julia (ccall), C (shipped header), C++ (RAII header), Fortran (fpm); hourglass ABI patterned on metatensor.
  • Metadata helpers: Typed energy, frame_index, time, timestep, neb_bead, neb_band across bindings; raw JSON still available.
  • Validation: validate=true enforces finiteness, reserved keys, geometry, labels, symbols, section presence, identity columns.
  • Fidelity: atom_id, per-direction fixed masks, and declared optional sections round-trip through the core reader/writer.
  • Campaigns: Pair with readcon-db (CON-text indexes, dedup, multi-reader; docs · docs.rs).
  • RPC: Cap'n Proto behind the rpc feature.

Migrate onto CON

Why switch: use a real frame API and multi-language library instead of hand-rolling XYZ and a private atoms object.

  • API: parse/write, builders, metadata, validation, compression, lazy multi-frame iteration

  • Payload: constraints, atom_id, optional sections, versioned JSON on one frame

  • Selection: select_atoms / rkr_frame_select (name H, bonds/angles when topology is present)

  • Languages: hourglass rkr_* in Fortran / C / C++ / Python / Julia / Rust (same semantics when you add a language)

  • Campaigns: readcon-db on CON text (energy / formula / sections, dedup, multi-reader; docs · docs.rs)

  • Plotting: chemparseplot (+ rgpycrumbs) on the same files

  • Measurements: Cachegrind I-refs; PR ASV + spyglass; peer scripts in benches/. benchmarks.org

    foreign → CON (needs --features chemfiles)

    cargo run --release --features chemfiles -- convert structure.xyz structure.con

    Python (readcon-chemfiles or maturin --features python,chemfiles)

    python -c "import readcon; readcon.convert_to_con('structure.xyz','structure.con')"

How-to: docs/orgmode/migrate.org. Chemfiles path (CI-run): chemfiles-notebook. Campaigns: readcon-db docs · docs.rs/readcon-db. Plotting: chemparseplot.

Install

Language Install Destination
Rust cargo add readcon-core docs.rs
Python pip install readcon PyPI
Python + chemfiles pip install readcon-chemfiles PyPI
Campaign store cargo add readcon-db / pip install readcon-db docs · docs.rs
Julia julia --project=julia/ReadCon -e 'using Pkg; Pkg.instantiate()' bindings
C / C++ CMake FetchContent / find_package(readcon-core) (cxx tarball) headers + libreadcon_core + readcon-core.pc
C / C++ Meson dependency('readcon-core') (wrapdb / wrap-file) same
C / C++ cargo-c cargo cinstall --release --prefix /usr/local same

The C/C++ headers are shipped (include/readcon-core.h). cbindgen is a maintainer tool, not a consumer dependency. C99 (readcon-core.h) or C++17 (readcon-core.hpp) compiler. FetchContent URL: readcon-core-cxx-$VERSION.tar.gz on the GitHub Release. Full matrix: getting-started.

Tutorial

Install, read a multi-frame fixture, inspect atom_id, write a round-trip, build a frame with energy. Full steps: docs/orgmode/tutorial.org (or the published HTML tutorial page).

Short Python path from the repository root:

import readcon

for frame in readcon.iter_con("resources/test/tiny_multi_cuh2.con"):
    print(frame.cell, len(frame), frame.energy)

frames = readcon.read_con("resources/test/tiny_multi_cuh2.con")
readcon.write_con("out.con", frames)

atoms = [readcon.Atom("Cu", 0.0, 0.0, 0.0, atom_id=0, mass=63.546)]
frame = readcon.ConFrame(cell=[10.0, 10.0, 10.0], angles=[90.0, 90.0, 90.0], atoms=atoms)
frame.set_energy(-42.5)
frame.write_con("built.con")

Rust smoke (same fixture):

cargo run --example rust_usage -- resources/test/tiny_multi_cuh2.con

Other languages and task recipes: docs/orgmode/howto.org. Conversion from XYZ/PDB/GRO: chemfiles-tutorial.

Design Decisions

  • Lazy parsing: ConFrameIterator parses one frame at a time for large trajectories.
  • Hourglass FFI: shipped C header plus a hand-written C++ RAII wrapper, same pattern as metatensor. CMake FetchContent, Meson wrap, and readcon-core.pc do not run cbindgen.

FFI Layer

Two exposure modes:

  1. Opaque handles (RKRConFrame*): client calls Rust accessors (rkr_frame_get_header_line, …). Hides layout; ABI can evolve behind the handle.
  2. Transparent #[repr(C)] extract (rkr_frame_to_c_frame → CFrame): client owns a flat atom table for hot loops and frees it with free_c_frame.

Specification

See docs/orgmode/spec.org (or the published HTML build) for the full specification. A summary follows.

CON format

  • A 9-line header (comments, cell dimensions, cell angles, atom type/count/mass metadata)
  • Line 2 is reserved for spec-v2 JSON metadata
  • Per-type coordinate blocks (symbol, label, atom lines with x y z fixed atomID)
  • Optional spec-v2 sections and validate metadata for declared per-atom sections and strict validation
  • Multiple frames are concatenated directly with no separator

convel format

Same as CON, with an additional velocity section after each frame's coordinates:

  • A blank separator line
  • Per-type velocity blocks (symbol, label, atom lines with vx vy vz fixed atomID)

Capabilities

Area Surface
Payload Constraints, atom_id; optional velocities / forces / energies / charges / spins / magmoms; versioned JSON
Languages One rkr_* surface for Fortran / C / C++ / Python / Julia
Spec v2-v3, validate=true, declared sections (including optional physics blocks above), units (v3)
Tensors DLPack; optional metatensor TensorBlock
Campaigns index_proj + readcon-db (docs · docs.rs)
Import Optional chemfiles → CON
Measurements Cachegrind I-refs; PR ASV + spyglass; benches/compare_readers.py

Predecessor: readCon.

Citation

If you use readcon-core in academic work, please cite it via the metadata in CITATION.cff. A Zenodo DOI is minted on a freeze tag and recorded in CITATION.cff identifiers; this tree does not invent one.

License

MIT.

Metadata

Release files for readcon 0.14.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for readcon 0.14.8
File Size Uploaded
readcon-0.14.8.tar.gz 823.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for readcon 0.14.8
File
readcon-0.14.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl PyPy 3.11 PyPy 3.11 7.3 Linux glibc 2.17+ ARM64 Details
readcon-0.14.8-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Details
readcon-0.14.8-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.15 CPython 3.15 Linux glibc 2.17+ ARM64 Details
readcon-0.14.8-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
readcon-0.14.8-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
readcon-0.14.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
readcon-0.14.8-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
readcon-0.14.8-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
readcon-0.14.8-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
readcon-0.14.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
readcon-0.14.8-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
readcon-0.14.8-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
readcon-0.14.8-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
readcon-0.14.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
readcon-0.14.8-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
readcon-0.14.8-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
readcon-0.14.8-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
readcon-0.14.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
readcon-0.14.8-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
readcon-0.14.8-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
readcon-0.14.8-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
readcon-0.14.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
readcon-0.14.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details

Total release size: 24.9 MB

Release files / readcon-0.14.8.tar.gz

Download URL readcon-0.14.8.tar.gz
Size 823.6 kB
Tags Source
SHA-256 checksum
How to use checksums
0c22fd8bd6e465b2912a65b8e818717171a24fd5563962613185a6a318410207
BLAKE2b-256 checksum
How to use checksums
66156653c8a98bbb8888ed050a495c89327bb53bceae71ef16345ddc0b0c9266
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 832.3 kB
Tags Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
ab3325137c59c3d8b82ea5ae95605d888417b3c6f34c5bd6d81c916c4cda8962
BLAKE2b-256 checksum
How to use checksums
c33323d0cca0cfe5be70010817e91a3c6624477a3252147a15af06e3a816e5b7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 797.2 kB
Tags Linux glibc 2.17+ ARM64 PyPy 3.11 PyPy 3.11 7.3
SHA-256 checksum
How to use checksums
4c2b381eb484a420ee7d6fc1d6e1f47aa49184e542ec7fcb9ffc769f4b4087e2
BLAKE2b-256 checksum
How to use checksums
d013ea44b909fe24510114c4f6137652282b53ec4f7899e987a95962af1b141d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 828.8 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d46aea78bbe0f0d816632830b5ce14bd6749d1edcf6eb32b80264d937c43ccdf
BLAKE2b-256 checksum
How to use checksums
48e537277173bf12ad699e2815ba6274440ed763d1e976e88029084befa6610d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 792.7 kB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e33dfa282f950fb3bbb8bbe665233fb62a0c0a4735beb057f58052060d06cd11
BLAKE2b-256 checksum
How to use checksums
4099ad38e9156b056017e120bc86d2d51ed4d4a5993ec291ec1cdce974c88746
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 831.3 kB
Tags CPython 3.15 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c6c08585920d6e940ff475f4a323844605890f2a5813359c743f390e022b2630
BLAKE2b-256 checksum
How to use checksums
242c5779423ae6bdddba6e3464ce0472a57e95d8cd1ca6dfdf58aa3ca5bd2e31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 796.1 kB
Tags CPython 3.15 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7f8bba8ad861614fa0c19b75d8dfd45b095afe4b3c847fcc0f0d3d72381aba59
BLAKE2b-256 checksum
How to use checksums
3bd182274cba20eabded28ba6dc77b7ee6c60b5a6f35f0a5b3df815d8e15e4a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 828.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
98302df67f9544182a38ccbe5227ca8f86fd01e88898c4aac61f4f7db9ee21fb
BLAKE2b-256 checksum
How to use checksums
7325216cc4d5c18ce8daece7fff42a286e9ea3d87f8afbf3290cd6bc3307a9dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 792.7 kB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e5a537e37ac3ad55f5100cf304e14f96b90b8c0f3a53b7b9dcb362bc628002d1
BLAKE2b-256 checksum
How to use checksums
5f41872d57106dc696e5f2a5b36bf03b6d8b69e6f82af9215960ebe9dfb41d0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp314-cp314-win_amd64.whl

Download URL readcon-0.14.8-cp314-cp314-win_amd64.whl
Size 684.7 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
73cd4dfb0bcb431aaf4b3cdb8960205854d6e71c8a152848d5ec39c968ce0aca
BLAKE2b-256 checksum
How to use checksums
825c8391d7ee4177d91a0e98008ae6d3008d378a7e74a431ebb63a055673b3ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 831.4 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a3ebf81d8a506cef9f5bb683538841719c09ed061ba0057c3e06915a69f39795
BLAKE2b-256 checksum
How to use checksums
9a7aad78922934bbd6cb4569b531d3e23d83fef6539fdb9d611bbd4d4c1bf867
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 796.1 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7cfafd41878e9859c0c16ae0d7fe0f4c39a08892dce36b35d77c8f1debf6eda6
BLAKE2b-256 checksum
How to use checksums
ef9e1060f39bcb629f2a4791a99f8e30727f31a04fb256d06c45a034b83ba167
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp314-cp314-macosx_11_0_arm64.whl

Download URL readcon-0.14.8-cp314-cp314-macosx_11_0_arm64.whl
Size 733.3 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a320ba4156eefed3e780c3daca0642a379b8ba8077569bbd12c6d51f92f0befb
BLAKE2b-256 checksum
How to use checksums
3bf65f17d676a8d7ec032220b242529cdb8fb0c4f7476cf550b2d8aaf1316b41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp314-cp314-macosx_10_12_x86_64.whl

Download URL readcon-0.14.8-cp314-cp314-macosx_10_12_x86_64.whl
Size 773.2 kB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a71ced73725a7ec35ff04b8e6d534acc39be7306a694bee726f8b80542ed4736
BLAKE2b-256 checksum
How to use checksums
2e66b5083f6cde5f92220187af449288705cae0206582d1197fb5fe8192b6d93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp313-cp313-win_amd64.whl

Download URL readcon-0.14.8-cp313-cp313-win_amd64.whl
Size 684.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
60b96d448fc7a1e3fb88ecf3f9b2ed36314f032c9a3d9f72618a5fad83c26107
BLAKE2b-256 checksum
How to use checksums
51bd9db80a145f9de60ccecd155c9860f575fd37ffeb96c722bdb21763af9c1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 830.8 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4c525bbb00d9ec864590fb317f878d1a676df57d3083bd5d8330b015cb7963cd
BLAKE2b-256 checksum
How to use checksums
cd1967c3b32d8763ab44c8c1c6aa2fa8cb9ad6a1e00e157151743308b6e01fff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 795.6 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b3345197dcf3756d034ffd5c4f4776376e69b8202ac685e1ff064415ac8550fa
BLAKE2b-256 checksum
How to use checksums
750d6f7c3cf5229f01bbaf2dfb60d433d4e81cdce37debd3802cabb3581c0403
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp313-cp313-macosx_11_0_arm64.whl

Download URL readcon-0.14.8-cp313-cp313-macosx_11_0_arm64.whl
Size 733.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ea5ffd839ed1996f07754f6bb219c36d869af431ca9bd33316c5026f76c9535a
BLAKE2b-256 checksum
How to use checksums
5be2e3f068438a4a97237119e7d7a745c5d65e9941179c67ed5acfa92888eaba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp313-cp313-macosx_10_12_x86_64.whl

Download URL readcon-0.14.8-cp313-cp313-macosx_10_12_x86_64.whl
Size 772.9 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
6827e6d29d1e18f52b455d59140abb7ac395cdd678553f7ccf46175bf9b73bd1
BLAKE2b-256 checksum
How to use checksums
af85f8dc305aa43278dcacded9b67e5f9055caf6eb8418cc2945ed70739c6dfb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp312-cp312-win_amd64.whl

Download URL readcon-0.14.8-cp312-cp312-win_amd64.whl
Size 685.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
73c6debfede0cd1c650c04df7f235cf22ba78fdc4108360daec772fc070f845a
BLAKE2b-256 checksum
How to use checksums
7456a94114a6d303f2d127671651dba2dd9d29af368f28d3b220b397168e9323
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 831.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5f8c535a4e6bad53af9dad5d511ff22b33141bac5fcd9bb0b4393fdf15cc649e
BLAKE2b-256 checksum
How to use checksums
e7899146d8f0ae54201b770bf81d513338752dd1faefc55bae1a711b6ddbce9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 796.1 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
da48996d9f55d883c1c28744e7da9c11efb8416c6094badbfa00acaea5d2b7f4
BLAKE2b-256 checksum
How to use checksums
7f2078746b2dbeb81c53d67c8c11acdf3ed413f1dfdbdc7d1c4056837c42b0ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp312-cp312-macosx_11_0_arm64.whl

Download URL readcon-0.14.8-cp312-cp312-macosx_11_0_arm64.whl
Size 733.4 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e9ea0a9e235233bea71516ed221cd25aab1ff694e5ad6e5013233ce7e8d00c6a
BLAKE2b-256 checksum
How to use checksums
4354b891e3c445df22f76abaa469986638d1e817d22e9318c49f694f238aeea1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp312-cp312-macosx_10_12_x86_64.whl

Download URL readcon-0.14.8-cp312-cp312-macosx_10_12_x86_64.whl
Size 773.7 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
17ee1092a1fc5486832ddcd076ac449621a6f1a2358cf9d3bf872414a3ee3e9f
BLAKE2b-256 checksum
How to use checksums
28b6c7c7e936ca60a1f9451a31f8ae825ed84f49854061e46204786cc49dd257
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp311-cp311-win_amd64.whl

Download URL readcon-0.14.8-cp311-cp311-win_amd64.whl
Size 687.5 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1a003b543047dd4be1ed6f3fe10d374bc8887ef31de1ea00b38e3d146174e763
BLAKE2b-256 checksum
How to use checksums
4c98ad8e8b19c2d1d385f37fa66d67a5cc0d6866b6c574521ab076a8996d7bfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 830.8 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fd0e16ffc5c8672a1d7705ea7e50d50a28780b79f66209cf31e39a8803b80825
BLAKE2b-256 checksum
How to use checksums
fc4cf16f3133be2bb15ecc6e3148966a1b74b0fa8c7d7b1eca55eb3329448887
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 796.3 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
44fa1b12ecf3d041c29a73d752795d3d652c7759a1d48bd372f71fae82908439
BLAKE2b-256 checksum
How to use checksums
51af7662627db1d768d374239254b2ef304bf8cd7a425a37d761321e336f07da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp311-cp311-macosx_11_0_arm64.whl

Download URL readcon-0.14.8-cp311-cp311-macosx_11_0_arm64.whl
Size 734.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
4cdddb1c8ef047ec972b045b264a57a2ec16d5839b4ffc7d102ffe1caca608e4
BLAKE2b-256 checksum
How to use checksums
564236f2f94bd976e671909b34651a8a5f55c7e815d8c9758ab7108c416c4898
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp311-cp311-macosx_10_12_x86_64.whl

Download URL readcon-0.14.8-cp311-cp311-macosx_10_12_x86_64.whl
Size 775.8 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5496a01b042d0d8564fc210993432b54d564d9a2e67227440bbb242312eea61b
BLAKE2b-256 checksum
How to use checksums
4d11dee0d589b69b8d75faa0dd81b90f99233387c13ab941de650b00159212d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp310-cp310-win_amd64.whl

Download URL readcon-0.14.8-cp310-cp310-win_amd64.whl
Size 687.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
96e1495e910e275a15b76311a294d35ccd95c4b0572304f0a6f8279b0aaec7d7
BLAKE2b-256 checksum
How to use checksums
92906e5dfe939a2af6b8fe01223fb83dd46add2d5c8da1924837b23838db9c36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL readcon-0.14.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 831.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f302ac8facce6002f4c3ff676f2dacb240f3872184137803b349c943a726b296
BLAKE2b-256 checksum
How to use checksums
e3a7a878473d7bfb2039c070cc88851c2e7d834bcd4aefa519d1a2246135f769
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log

Release files / readcon-0.14.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL readcon-0.14.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 796.6 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e3e0328713c496cbbf574b155ecc5afd9e276caeedebabb0c18d4a43a8fba6e9
BLAKE2b-256 checksum
How to use checksums
a60c855763474a47bc9b265d3b0a9c74d3ccebc8324ab2e1d1ee7d17a28e5b94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 24, 2026.

Transparency log
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