Urgap - node wrapping framework
Urgap is a cloud-native framework for file-based data engineering, containing abstraction layers for data and meta data, extensive re-run skipping logic and data versioning. Urgap can be incorporated with any scheduling/pipelining tool making pipeline development independent from business logic and data storage, while offering standardized logging and execution, which makes monitoring and debugging easy.
Urgap gives us the governance constraints required for a decentralized data domain autonomy as Urgap will enforce shared common data IO for storage, a common meta data capturing process in form of an interface thus can be plugged into any existing processes and finally global data lineages.
Learn More
Watch our introduction talk urgap - unified resource governance and data provenance by Christian Fufezan to get a comprehensive overview of urgap’s design and capabilities:
How to Setup
Prerequisites
We recommend using a virtual environment for Python projects. This guide uses uv for dependency management.
Installation
Basic Installation (local file system access only):
uv sync
With Cloud Storage Support:
uv sync --extra cloud
With All Runtime Extras:
uv sync --extra all
Available extras include:
server: FastAPI/Flask/uvicorn + MCP server for uctl run
tabular: pandas/polars/pyarrow and Excel engines for tabular unodes
viz: plotly-based reporting and visualizer unodes
github: GitHub-backed file IO
cloud: Azure and Google Cloud storage backends
databases: PostgreSQL backend
docs: Sphinx documentation build
dev: test tooling (pytest) plus all runtime extras
all: every runtime extra above (not dev or docs)
Running Tests
Install test dependencies:
uv sync --extra dev
Run the test suite:
uv run pytest tests
Quickstart: Writing Your First Pipeline
The best way to learn urgap is through a complete example. Check out the end-to-end filter CSV pipeline:
Location: tests/integrationtests/end2end/test_filter_csv_pipeline.py
What it demonstrates: Complete pipeline setup, node configuration, and execution
Requirements: Everything needed to run this example is included in the repository
This example can be run entirely on your local machine without any external dependencies.
To run the example:
pytest tests/integrationtests/end2end/test_filter_csv_pipeline.py
Documentation
Please use sphinx in the docs folder
Release files for urgap 3.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| urgap-3.5.1.tar.gz | 349.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| urgap-3.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 770.0 kB
Release files / urgap-3.5.1.tar.gz
| Download URL | urgap-3.5.1.tar.gz |
|---|---|
| Size | 349.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f14b3e52568ff59f67851e99a268287f341987730f0d429a32bac1bfe49e097
|
|
BLAKE2b-256 checksum How to use checksums |
4da6e0be330ef3d1f149b6d03c195baab58df4747e3d8dbf26f74cb914c50718
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / urgap-3.5.1-py3-none-any.whl
| Download URL | urgap-3.5.1-py3-none-any.whl |
|---|---|
| Size | 420.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
16ca763b9ebc987236ad7ed1e2c0a7ee7cbd42a1b42a944c47b257992bb4f6fb
|
|
BLAKE2b-256 checksum How to use checksums |
bdd7ae00b3b645222accfac5b5928e8befa7664d93505f4a40d93c947e61f136
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|