A minimalist, agnostic Python framework to standardize data engineering pipelines.
Project description
Data Engineering Experience 🚀
Flint is a minimalist, agnostic Python framework designed to streamline and standardize data engineering pipelines. By embracing Convention over Configuration, flint eliminates environment friction, absolute path hardcoding, and complex PySpark session management.
✨ Key Features
- Zero-Config File Discovery: Automatic tree-walking directory resolution anchors your data catalog using your local
pyproject.tomlfile. - Decentralized Catalog: Declare your metadata layouts inside modular, self-contained mini-YAML files.
- Elastic Processing Runtimes: Switch dynamically between Pandas and PySpark execution engines using exactly the same unified interface.
- Interactive CLI Scaffolding: Spin up a new production-ready data directory structure instantly with
flint init.
📦 Installation
(Once published to PyPI)
pip install flint-core
Or install it directly from the source repository using Poetry:
poetry add git+[https://github.com/idperez720/data-engineering-exp.git](https://github.com/idperez720/data-engineering-exp.git)
🏁 Quick Start
1. Initialize your workspace
Navigate to an empty directory and let the interactive wizard scaffold the workspace conventions:
flint init
2. Declare a dataset
Add a specification block inside conf/catalog/sample_dataset.yaml:
customers:
description: "Main production customer data"
format: "csv"
engine: "pandas"
storage_path: "data/sample_table.csv"
3. Load data anywhere
Create a Python script or open a Jupyter Notebook inside src/notebooks/ and fetch your data instantly:
from flint_core.core.io import DataLoader
# Autodiscovers your project root boundaries and settings
loader = DataLoader()
# Loads the dataset securely as a Pandas DataFrame
df = loader.load("customers")
df.head()
📖 Complete Documentation
For comprehensive guides, testing architecture deep-dives, and complete API references, visit our documentation site: 👉 http://127.0.0.1:8000/ (Replace with your deployed docs URL, e.g., GitHub Pages)
⚖️ License
Distributed under the MIT License. Any modification or distribution (including forks) must include the original copyright notice and liability waiver. See LICENSE for more information.
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
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 flint_core-0.1.2.tar.gz.
File metadata
- Download URL: flint_core-0.1.2.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79bacd2a90197308e6e7d26c2b16dcf48f85ae8d94893a473f02d9111ebd042f
|
|
| MD5 |
5110e1fb00faee04980fcf5cd4af4e19
|
|
| BLAKE2b-256 |
312e10d07ad2f2d89ad2ab69612113d5a94f30f1b656ad004ab05e59af55a61d
|
File details
Details for the file flint_core-0.1.2-py3-none-any.whl.
File metadata
- Download URL: flint_core-0.1.2-py3-none-any.whl
- Upload date:
- Size: 32.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.4.1 CPython/3.12.13 Linux/6.17.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8924b90be4a3c69be3d0c8ef25d9635f13f1a47aedc4a0c6045b66a50aea6ae
|
|
| MD5 |
fd3ff65e7909f3d7c074e208776c3f6c
|
|
| BLAKE2b-256 |
9686c1bb27f0a42793063df71f4491ccd33ad4dfdf0e23b2c699c4350fbe39a9
|