Cineon Format
This package contains a definition of a common data format to be used across Cineon repositories.
The CineonData format is a class that inherits from pydantic's BaseModel class, and as such the data validation is performed on class instantiation. If the data being ingested has a problem then class instantiation will fail. Simple. This is useful because downstream processing tasks can make valid assumptions about the data and therefore do not have to perform any explicit checks. This means that lots of downstream data-validation code can be deleted.
Prerequisites
To use the example script in the package you need to install uv, but you do not need uv in order to use the package in other Python code.
Usage
Add the cineon_format package into your project, with either:
poetry add git+https://github.com/cineon-ai/cineon_format.git
uv add git+https://github.com/cineon-ai/cineon_format.git
Then:
from cineon_format import CineonData
# Load from CSV
cineon_data = CineonData.from_csv("path/to/csv")
# Alternatively, load from JSON
cineon_data = CineonData.from_json("path/to/json")
Examples
Running the example script with either:
uv run scripts/example.py --csv=data/good.csv
uv run scripts/example.py --json=data/good.json
will load a file, convert that file into the CineonData format and then spit out a dictionary representation and a DataFrame representation to the terminal.
If you run the script with either:
uv run scripts/example.py --csv=data/bad.csv
uv run scripts/example.py --json=data/bad.json
you can see examples of data that does not conform to the format, and therefore errors out with helpful error messages printed to the terminal.
"Random" CineonData can be generated via the script:
uv run scripts/generate.py
This will print a summary of the CineonData to the terminal.
Metadata
Release files for cineon-format 3.9.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cineon_format-3.9.2.tar.gz | 292.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cineon_format-3.9.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 311.8 kB
Release files / cineon_format-3.9.2.tar.gz
| Download URL | cineon_format-3.9.2.tar.gz |
|---|---|
| Size | 292.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f70a81f5e1fa8efcc1bf73af139f5bbe3abd5a42d2c328a042ba0466c5d00c3
|
|
BLAKE2b-256 checksum How to use checksums |
e419411db472d3d10c2c76efdce2d2e2427a11307f00a23e1aa74e2dc1302b72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / cineon_format-3.9.2-py3-none-any.whl
| Download URL | cineon_format-3.9.2-py3-none-any.whl |
|---|---|
| Size | 19.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c7d22c76c80e7c7364e4ed18beb52a673847e3d0c4e7a961cc8485a60e298d18
|
|
BLAKE2b-256 checksum How to use checksums |
147893293576f9df284390c197a66316c9591475480a03bdb6ac7f7ac91f0363
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|