Icedantic
A package that integrates with your Pydantic models and enables you to export Apache Iceberg table schemas.
Installing
You can install directly from PyPI using e.g.
uv add icedantic
or
pip install icedantic
or you can install locally from file using:
uv pip install -e <location_on_disk>
Developing
This repo provides a devcontainer to easily develop the package. It assumes you have uv and fish installed on your host system. This cannot be made optional because these assumptions involve bind mounts.
Install the package locally (symlinked) within the venv created by uv using:
uv pip install -e .
Pre-commit
We use pre-commit to run a few hooks to ensure code quality and stuff like that. Please use the devcontainer, all this is taken care for you if you do so.
Running tests
We use tox for bothing running the tests as well as running pre-commit. Please run tox to run your tests.
Contributing
Please see CONTRIBUTING.md.
Issues
If you discover bugs or other issues, please create an issue with a stack trace and code to reproduce. We have no predefined format for issues, just make sure there is enough info to reproduce.
Why?
AFAIK there is nothing "ready to go" that offers the same functionality, bar doing the mapping yourself. Because I needed to do this in a neat way, might as well open source it.
Metadata
Release files for icedantic 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| icedantic-0.0.5.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| icedantic-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.6 kB
Release files / icedantic-0.0.5.tar.gz
| Download URL | icedantic-0.0.5.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b824a8090a0e387806307644d326bc29e77a1ccc77ee3c6f5410702b94bfc74
|
|
BLAKE2b-256 checksum How to use checksums |
132006bb426c73105a9cfa8172751ec6ceac111e8ab0425c353f588f98329e8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 May 22, 2026.
Transparency logRelease files / icedantic-0.0.5-py3-none-any.whl
| Download URL | icedantic-0.0.5-py3-none-any.whl |
|---|---|
| Size | 5.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f4086ff037008da42a319810dc0268626716ac2b5711ccf5988208b513efa863
|
|
BLAKE2b-256 checksum How to use checksums |
f454ef802abbb1232b31c38e1d7ae2ddee83e775ec7d40cdf7f229d6567638ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 May 22, 2026.
Transparency log