Class-based data-expression framework.
Project description
Podium
Class-based data-expression framework.
Installation
# with Astral uv
uv pip install podium-lib
# with pip
pip install podium-lib
# get latest version
git clone https://github.com/lucas-nelson-uiuc/podium-lib.git
Getting Started
import podium_lib
from podium_lib import Model, Field
housing_data = podium_lib.load("california_housing") # TODO: support this method
# create your first class
class CaliforniaHousing(Model):
latitude: float
longitude: float
print(CaliforniaHousing.schema())
# add converters and validators to your fields
from podium_lib import validators as pv, converters as pc
class CaliforniaHousing(Model):
latitude: float = Field(
converter=pc.field.round(0),
validator=pv.field.between(32, 42)
)
longitude: float = Field(
converter=pc.field.round(0),
validator=pv.field.between(114, 124)
)
print(CaliforniaHousing.workflow())
CaliforniaHousing.validate(housing_data)
Why Podium?
Podium has a few simple - yet powerful - goals in mind:
- Reduce the need to know how to interact with data objects (e.g. DataFrame APIs)
- Simplify the ability to express expectations of your data objects
Inspiration
The name of this package came about in the following manner:
- This package implements
narwhals- a group of narwhals is considered a pod - This package is an opinionated workflow orchestrator, so a podium seems a fitting environment to share these opinions
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
podium_lib-0.1.0.tar.gz
(15.7 kB
view details)
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 podium_lib-0.1.0.tar.gz.
File metadata
- Download URL: podium_lib-0.1.0.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.29
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8cd0fa28b60b92a2b13e4f150ef4c2bbe26aa3187dace063dc2261ddb80e3ed
|
|
| MD5 |
bc87501057bfbb51bb209f8e4e745496
|
|
| BLAKE2b-256 |
4537e3e6c5244694b7ff34a8afb22c0ad4ed03069f936488eee468499c8921ed
|
File details
Details for the file podium_lib-0.1.0-py3-none-any.whl.
File metadata
- Download URL: podium_lib-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.5.29
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0fc1a453f137bcbbdb8558a76f0111090a8d5920966a6e52d967d6b073b38ab9
|
|
| MD5 |
c17ae22103b8402cb6271858c7f71c3f
|
|
| BLAKE2b-256 |
e6919aa4d7bf3689b3c52ec16423768d36aa389cfc83705193e56f9674d44525
|