Skip to main content

Tiozin, your friendly ETL framework

Project description

Tiozin

Tiozin - Your friendly ETL framework


ETL shouldn't require 80 files, 50 YAMLs, and a PhD in complexity.

Tiozin brings it back to basics: Transform. Input. Output. Nothing more, nothing less.

A lightweight Python framework that makes data jobs declarative, testable, and actually enjoyable to write.

Quick Start

pip install tiozin

Option 1: Define a job in YAML

kind: Job
name: kinglear_word_count_job

org: tiozin
region: latam
domain: literature
product: shakespeare
model: kinglear
layer: refined

runner:
  kind: SparkRunner

inputs:
  - kind: SparkFileInput
    name: load_poems
    path: s3://{{org}}-{{domain}}-raw/{{product}}/{{model}}/date={{ DAY[-1] }}

transforms:
  - kind: SparkWordCountTransform
    name: word_count

outputs:
  - kind: SparkFileOutput
    name: save_word_counts
    path: s3://{{org}}-{{domain}}-{{layer}}/{{product}}/{{model}}/date={{ today }}

Run it:

tiozin run examples/jobs/shakespeare/kinglear_word_count_job.yaml

Option 2: Use Python directly

from tiozin import TiozinApp

app = TiozinApp()
app.run("examples/jobs/shakespeare/kinglear_word_count_job.yaml")

Done. No ceremony, no boilerplate.

Documentation

Philosophy

Your uncle's advice: Keep it simple, readable, and testable.

  • Declarative – Define what, not how
  • Pluggable – Swap runners, registries, plugins as needed
  • Metadata – Built-in metadata integration
  • Observable – Logs that help
  • Testable – Mock anything, validate everything

No magic. No surprises. Just clean data pipelines.

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

License

This project is licensed under the Mozilla Public License 2.0.

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

tiozin-1.2.0.tar.gz (6.7 MB view details)

Uploaded Source

Built Distribution

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

tiozin-1.2.0-py3-none-any.whl (82.0 kB view details)

Uploaded Python 3

File details

Details for the file tiozin-1.2.0.tar.gz.

File metadata

  • Download URL: tiozin-1.2.0.tar.gz
  • Upload date:
  • Size: 6.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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}

File hashes

Hashes for tiozin-1.2.0.tar.gz
Algorithm Hash digest
SHA256 7ec4af8f8fd8acc02cb777226274a48a1aa3ff7307061d11ac9d1986db286bd6
MD5 64cda7674f3d241d09ddcf1889fa89de
BLAKE2b-256 47c99ff8fc321bc3da8d21c87160669099b949b10d86653a2fe41184a66f72ed

See more details on using hashes here.

File details

Details for the file tiozin-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: tiozin-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 82.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","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}

File hashes

Hashes for tiozin-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cc9c4adceeaf447d875cfcf997e913dde8134e60bb19b1bf07da2c66ab55ee6
MD5 7b7b7594e95e4d1c0368fcff4485d573
BLAKE2b-256 86bcb5c82ef70547238d9fd2d1aa8c2105c7ecff37640a0c860d9e5d97806bbb

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