A package that integrates with Pydantic to be able to export Apache Iceberg table schemas.
Project description
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file icedantic-0.0.2.tar.gz.
File metadata
- Download URL: icedantic-0.0.2.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5caa09df40869cc70b3a99741d73e771120363b50fd80e86abf9f5b1ca5a75f3
|
|
| MD5 |
c2ebc2cc709eef52a0197db3030478e9
|
|
| BLAKE2b-256 |
c39677066cb2d697d75354feb480b293dfaa35a397d37aa8913eb6890d46337d
|
Provenance
The following attestation bundles were made for icedantic-0.0.2.tar.gz:
Publisher:
publish.yml on riccardo92/icedantic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
icedantic-0.0.2.tar.gz -
Subject digest:
5caa09df40869cc70b3a99741d73e771120363b50fd80e86abf9f5b1ca5a75f3 - Sigstore transparency entry: 1550225196
- Sigstore integration time:
-
Permalink:
riccardo92/icedantic@3cff6a98c91be86382636069d8987d65c5e37625 -
Branch / Tag:
refs/tags/0.0.2 - Owner: https://github.com/riccardo92
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cff6a98c91be86382636069d8987d65c5e37625 -
Trigger Event:
push
-
Statement type:
File details
Details for the file icedantic-0.0.2-py3-none-any.whl.
File metadata
- Download URL: icedantic-0.0.2-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dae4ffa95364284160b7b9ed67f8bc6051ebb8807ee146812ce399cd16d9db55
|
|
| MD5 |
f4dd7c36cb85c72244e4bd6a1e7b63e0
|
|
| BLAKE2b-256 |
a96f3791ba0edd9284830e9b4e6b82a9523b62501b3cef08b69e5ebbeabf3723
|
Provenance
The following attestation bundles were made for icedantic-0.0.2-py3-none-any.whl:
Publisher:
publish.yml on riccardo92/icedantic
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
icedantic-0.0.2-py3-none-any.whl -
Subject digest:
dae4ffa95364284160b7b9ed67f8bc6051ebb8807ee146812ce399cd16d9db55 - Sigstore transparency entry: 1550225297
- Sigstore integration time:
-
Permalink:
riccardo92/icedantic@3cff6a98c91be86382636069d8987d65c5e37625 -
Branch / Tag:
refs/tags/0.0.2 - Owner: https://github.com/riccardo92
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@3cff6a98c91be86382636069d8987d65c5e37625 -
Trigger Event:
push
-
Statement type: