Koala Flow
The Data-First ML Orchestration Framework for the Modern Stack.
Koala Flow is the bridge between your data warehouse and your machine learning models. It abstracts away the boilerplate of batch inference, allowing Data Engineers to deploy models with the same rigor as ETL pipelines.
Built on the shoulders of giants: dlt for robust data loading and Narwhals for dataframe-agnostic processing (Polars, Pandas, PyArrow).
🚀 Why Koala Flow?
- Universal Ingestion: Pull features from REST APIs, SQL databases, S3, or local files seamlessly.
- Lazy & Efficient: Process 100GB+ datasets on a single machine using lazy evaluation and smart batching.
- Schema Evolution: Automatically handle new model outputs or changed feature types without breaking downstream tables.
- Framework Agnostic: Bring your own model (XGBoost, Scikit-Learn, PyTorch, ONNX). We just run it.
📦 Installation
Python 3.10 or greater is required.
pip install koala-flow
Optional backends:
pip install "koala-flow[polars, xgboost]"
⚡ Quick Start
Deploying a batch inference pipeline takes less than 20 lines of code.
import dlt
from koala_flow import InferencePipeline
from koala_flow.adapters import XGBoostAdapter
# 1. Define your pipeline configuration
pipeline = InferencePipeline(
name="fraud_detection_prod",
# Load your trained model artifact
model=XGBoostAdapter("s3://models/fraud_v2.json"),
# Destination: Where do predictions go? (BigQuery, Snowflake, DuckDB, etc.)
destination=dlt.destinations.bigquery(
credentials=dlt.secrets.value,
dataset_name="ml_predictions"
)
)
# 2. Run it!
# Source can be ANY dlt source (SQL, API, Files)
pipeline.run(
source=dlt.sources.sql_database("postgresql://db-prod/users"),
table_name="scored_transactions"
)
🏗 Architecture
Koala Flow enforces a clean separation of concerns for ML in production:
graph LR
A[Source: dlt] --> B{Batch Iterator}
B --> C[Feature Prep: Narwhals]
C --> D[Model Inference]
D --> E[Sink: dlt]
style B fill:#f9f,stroke:#333,stroke-width:2px,color:#000
style C fill:#bbf,stroke:#333,stroke-width:2px,color:#000
- Source:
dlthandles the extraction, ensuring state is managed (incremental loading). - Prep: Your transformation logic runs on
Narwhals, compatible with Pandas or Polars. - Inference: The
ModelAdapterhandles the specific.predict()logic. - Sink:
dlthandles the loading, schema inference, and type casting.
🔌 Supported Adapters
| Adapter | Status | Description |
|---|---|---|
PickleAdapter |
✅ Stable | Standard Scikit-Learn / Generic Python objects |
XGBoostAdapter |
✅ Stable | Optimized DMatrix loading for XGBoost |
LightGBMAdapter |
🚧 Beta | Native LightGBM support |
ONNXAdapter |
🚧 Beta | High-performance inference runtime |
PyTorchAdapter |
🗓 Planned | TorchScript / Eager execution |
🤝 Contributing
We welcome contributions! Whether it's a new model adapter, a documentation fix, or a core feature.
- Check the Issues for help wanted.
- Read our Contribution Guide.
- Join the Discord Community.
📄 License
MIT © 2026 godalida - KoalaDataLab
Metadata
Release files for koala-flow 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| koala_flow-0.1.6.tar.gz | 267.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| koala_flow-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 275.6 kB
Release files / koala_flow-0.1.6.tar.gz
| Download URL | koala_flow-0.1.6.tar.gz |
|---|---|
| Size | 267.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9aa4a8e28720a063b4dbe726489e91c6a96c7963daeacc8a3e4b9602d3c2b472
|
|
BLAKE2b-256 checksum How to use checksums |
4017998eac9471838f8aaeee49b8f63b431777aedaf6df51cf407d60cfb4a251
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 13, 2026.
Transparency logRelease files / koala_flow-0.1.6-py3-none-any.whl
| Download URL | koala_flow-0.1.6-py3-none-any.whl |
|---|---|
| Size | 8.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9bf5c9b78a25a7f31c3eb961eff33526fa5251d7f2fb3045d5879404d50ff6c8
|
|
BLAKE2b-256 checksum How to use checksums |
4c124d2710ceae20755d2ef31a992ccaba36a7d0fc3558c968a3cc1286895844
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 13, 2026.
Transparency log