Skip to main content

pyivt

pyivt is a library for Statistics Canada Beyond 20/20 .ivt files, written in Rust. It is designed to be minimal and easily adaptable for existing codebases. Key features are:

  • Fast: Orders of magnitude faster than GUI automation for metadata
  • Python: Easily integrates into modern data workflows with a minimal API
  • Typed: Produces fully type-safe and predictable metadata
  • Interoperable: Exports .ivt file data to Apache Arrow

Installation

uv add pyivt

Usage

Quick Start

Open an IVT file, read its metadata, and write its data to a Parquet file:

import pyarrow.parquet as pq
import pyivt

ivt = pyivt.open("data.ivt")
print(ivt.metadata.title.en)
pq.write_table(ivt.to_arrow(), "data.parquet")

Opening IVT Files

From Path

import pyivt

ivt = pyivt.open("data.ivt")

From URL

import requests

import pyivt

url = "https://example.com/data.ivt"
res = requests.get(url)
res.raise_for_status()

ivt = pyivt.open(res.content)

Reading Metadata

ivt.metadata is a typed IvtMetadata object. Summary fields are eager; heavy fields load on first access.

Beyond 20/20 Summary pyivt Metadata
Title title.en, title.fr
Author author.en, author.fr
Category category.en, category.fr
Keywords keywords.en, keywords.fr
Notes notes.en, notes.fr
Number of Datapoints number_of_datapoints
Time Series time_series (.frequency, .start, .end) or None
Read-Only read_only
Dimensions dimensions
Geographies geographies
Footnotes footnotes
Missing Values missing_values

geographies is a Geographies object (member_id, geo_label, geo_uid, …), not a dict.

import pyivt

ivt = pyivt.open("data.ivt")
print(ivt.metadata.product_id, ivt.metadata.title.en)

Exporting Data

Ivt.to_arrow() returns an Apache Arrow table. Keyword arguments:

Argument Default Meaning
complete True Expand the published grid; set False for sparse decoded cells only
max_cells 100_000_000 Raise if the complete grid would exceed this many cells
labels True Include dimension label columns
language "en" Label language ("en" or "fr")
import polars as pl
import pyarrow.parquet as pq

table = ivt.to_arrow()

# pandas
df = table.to_pandas()

# Parquet
pq.write_table(table, "data.parquet")

# Polars
df = pl.from_arrow(table)

License

pyivt is licensed under the MIT License.

Acknowledgements

Metadata

Release files for pyivt 0.0.2

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

Source distribution (sdist)

Source distribution for pyivt 0.0.2
File Size Uploaded Provenance
pyivt-0.0.2.tar.gz 100.5 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for pyivt 0.0.2
File
pyivt-0.0.2-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
pyivt-0.0.2-cp310-abi3-manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.28+ x86-64 Details
pyivt-0.0.2-cp310-abi3-manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.28+ ARM64 Details
pyivt-0.0.2-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
pyivt-0.0.2-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 6.9 MB

Release files / pyivt-0.0.2.tar.gz

Download URL pyivt-0.0.2.tar.gz
Size 100.5 kB
Tags Source
SHA-256 checksum
How to use checksums
fcb7471040952596510c4bfafce50442eb2485d7bd9d59cc9cca7aeab850f340
BLAKE2b-256 checksum
How to use checksums
362bb6c95f62f85eda081d7348fe955b85bdf48e636a6f69087f3d3d617da641
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 Oct 20, 2026.

Transparency log

Release files / pyivt-0.0.2-cp310-abi3-win_amd64.whl

Download URL pyivt-0.0.2-cp310-abi3-win_amd64.whl
Size 1.2 MB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
66a5244efbddedc7287161a5839cea6b8cfa893437cc4c83f5408d7cd9a9f2d5
BLAKE2b-256 checksum
How to use checksums
29df9b1479c5d1d763edadb5b4adb2fa06e38260016130fb5f978a801412d310
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 Oct 20, 2026.

Transparency log

Release files / pyivt-0.0.2-cp310-abi3-manylinux_2_28_x86_64.whl

Download URL pyivt-0.0.2-cp310-abi3-manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
7e2d3728a87e6571ee8ec2ee7f75e6a616138188b609d01653d2c0fc588ba6bd
BLAKE2b-256 checksum
How to use checksums
696dbe7e4867d9423d425fcb89891ed329c610c5b1eead2c52e763a32c12a48f
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 Oct 20, 2026.

Transparency log

Release files / pyivt-0.0.2-cp310-abi3-manylinux_2_28_aarch64.whl

Download URL pyivt-0.0.2-cp310-abi3-manylinux_2_28_aarch64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
a34b1bfe590d0b9221989844181acabc89a8da71b000c3ab5e8c6cce780d5e5c
BLAKE2b-256 checksum
How to use checksums
b81043ff46b8c5dfa4f3a58beca710b3bf6546af7ad611272e608231f32e6b33
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 Oct 20, 2026.

Transparency log

Release files / pyivt-0.0.2-cp310-abi3-macosx_11_0_arm64.whl

Download URL pyivt-0.0.2-cp310-abi3-macosx_11_0_arm64.whl
Size 1.3 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
6b80d3ff606a86f75ea0fa128fca2a0f8bf62c1dca1e97590deccb2fe0a9aa7a
BLAKE2b-256 checksum
How to use checksums
c2e7a89a7460b116a1b65f66b162fa218e7de32a4fedd4ad0c6352da07eab710
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 Oct 20, 2026.

Transparency log

Release files / pyivt-0.0.2-cp310-abi3-macosx_10_12_x86_64.whl

Download URL pyivt-0.0.2-cp310-abi3-macosx_10_12_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
763876ab8aa7aa70f58593d0989465794ddca3827535212ad4af3df32a04a60f
BLAKE2b-256 checksum
How to use checksums
e14ace54cfb4bfdad15a51913e6df6fcb33ec960f535f760e3354766534564c3
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 Oct 20, 2026.

Transparency log

Security for pyivt 0.0.2

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.

Full provenance

All 6 files in this release have been uploaded with provenance metadata.

Select from 6 files

Attestation for pyivt-0.0.2.tar.gz

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 Oct 20, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.0.2 This release

6 release files Full provenance

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