Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

podium_lib-0.1.0-py3-none-any.whl (16.3 kB view details)

Uploaded Python 3

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

Hashes for podium_lib-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f8cd0fa28b60b92a2b13e4f150ef4c2bbe26aa3187dace063dc2261ddb80e3ed
MD5 bc87501057bfbb51bb209f8e4e745496
BLAKE2b-256 4537e3e6c5244694b7ff34a8afb22c0ad4ed03069f936488eee468499c8921ed

See more details on using hashes here.

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

Hashes for podium_lib-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0fc1a453f137bcbbdb8558a76f0111090a8d5920966a6e52d967d6b073b38ab9
MD5 c17ae22103b8402cb6271858c7f71c3f
BLAKE2b-256 e6919aa4d7bf3689b3c52ec16423768d36aa389cfc83705193e56f9674d44525

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page