Jett
Just an Engine Template Tool that easy to use and develop for Data Engineer.
This project support the ETL template for multiple DataFrame engine like
PySpark, Duckdb, Polars, etc.
Supported Features:
- Dynamic Supported Engines via YAML template
- JSON Schema Validation
- Plugin Airflow Operator
📦 Installation
uv pip install -U jett
Engine Supported:
| Name | Status | Description |
|---|---|---|
| Pyspark | ✅ | Pyspark and Spark submit CLI for distributed workload |
| DuckDB | ✅ | DuckDB and Spark API DuckDB |
| Polars | ✅ | Polars for Python workload |
| Arrow | ✅ | Arrow for Python workflow with Columnar |
| Daft | ✅ | Daft for Python distributed workload |
| DBT | ❌ | DBT for SQL workload |
| GX | ❌ | Great Expectation for data quality |
📝 Usage
For example, making file, etl.polars.tool (I use .tool be file extension for validate
it with the JSON schema with pattern *.tool), for ETL state like:
type: polars
name: Load CSV to GGSheet
app_name: load_csv_to_ggsheet
master: local
# 1) 🚰 Load data from source
source:
type: local
file_format: csv
path: ./assets/data/customer.csv
# 2) ⚙️ Transform this data.
transforms:
- op: rename_to_snakecase
- op: group
transforms:
- op: expr
sql: "CAST(id AS string)"
# 3) 🎯 Sink result to target (multi-sink supported)
sink:
- type: local
file_type: google_sheet
path: ./assets/landing/customer.gsheet
# 4) 📩 Metric that will send after execution.
metric:
- type: console
convertor: basic
- type: restapi
convertor: basic
host: "localhost"
port: 1234
Use by Python API:
from jett import Tool
tool = Tool(path="./etl.spark.tool")
tool.execute(allow_raise=True)
📖 Documents
This project will reference emoji from the Pipeline Emojis.
💬 Contribute
I do not think this project will go around the world because it has specific propose, and you can create by your coding without this project dependency for long term solution. So, on this time, you can open the GitHub issue on this project 🙌 for fix bug or request new feature if you want it.
Metadata
Release files for jett 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jett-0.0.3.tar.gz | 780.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jett-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 907.3 kB
Release files / jett-0.0.3.tar.gz
| Download URL | jett-0.0.3.tar.gz |
|---|---|
| Size | 780.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dfe8d20c4d46e4d3748351a2dbe5ffcf7aa31cb8068b11c390ccbb293cf54387
|
|
BLAKE2b-256 checksum How to use checksums |
b9e92772987be3cf3be9b1cc44d0745f26da54572d5a7e67442c93dd2bc7c438
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
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 Aug 31, 2025.
Transparency logRelease files / jett-0.0.3-py3-none-any.whl
| Download URL | jett-0.0.3-py3-none-any.whl |
|---|---|
| Size | 127.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6ebcc86248b1405af2f9adac5d5d75d2a8b1c1a9161bb049e72161b2b974bdb7
|
|
BLAKE2b-256 checksum How to use checksums |
7c1060735ced99f21d52b860cb87d700fd061ad0d4e09b46b8a3940f12abee5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.8
|
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 Aug 31, 2025.
Transparency log