Skip to main content

Validate and Test DAGs

ImpactU Airflow ETL

Central repository for Apache Airflow DAGs and ETL (Extraction, Transformation, and Loading) processes for the ImpactU project. This package includes the full logic for data orchestration, source extraction, and data processing.

🚀 Description

This project orchestrates data collection from various scientific and academic sources, its processing using the Kahi tool, and its subsequent loading into query systems such as MongoDB and Elasticsearch.

� Installation

You can install the package directly from PyPI:

pip install impactu_airflow

Or for development:

git clone https://github.com/colav/impactu_airflow.git
cd impactu_airflow
pip install -e .

�📂 Project Structure

The repository is organized by data lifecycle stages and Airflow components:

  • dags/: Apache Airflow DAG definitions.
  • extract/: Extraction logic for sources like OpenAlex, ORCID, ROR, etc.
  • transform/: Transformation and normalization processes (Kahi).
  • load/: Loading scripts to final destinations (MongoDB, Elasticsearch).
  • impactu/: Core utilities and shared logic for the project.
  • deploys/: Deployment logic for external services (APIs, databases) via DAGs.
  • backups/: Database backup automation via DAGs.
  • tests/: Integration, unit, and data quality tests.

📋 Requirements and Architecture

For details on design principles (Checkpoints, Idempotency, Parallelism), see the System Requirements document.

🛠 DAG Naming Standard

To maintain consistency in the Airflow interface, we follow this convention:

Type Format Example
Extraction extract_{source} extract_openalex
Transformation transform_{entity} transform_sources
Loading load_{db}_{env} load_mongodb_production
Deployment deploy_{service}_{env} deploy_mongodb_production
Backup backup_{db}_{name} backup_mongodb_kahi
Tests tests_{service} tests_kahi

⚙️ Development and Deployment

This repository focuses exclusively on DAG logic and ETL processes. The base infrastructure is provided by the Chia repository.

For details on the CI/CD strategy, image building, and environment management, see the document: 👉 README_DEVOPS.md

Local Workflow

  1. Clone the repository.
  2. Install dependencies: pip install -r requirements.txt.
  3. Develop DAGs in the dags/ folder.
  4. Validate integrity: pytest tests/etl/test_dag_integrity.py.

Colav - ImpactU

Metadata

Release files for impactu-airflow 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for impactu-airflow 0.1.0
File Size Uploaded Provenance Actions
impactu_airflow-0.1.0.tar.gz 11.0 kB Without provenance Details for impactu_airflow-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for impactu-airflow 0.1.0
File Interpreter ABI Platform Actions
impactu_airflow-0.1.0-py3-none-any.whl Python 3 none any Details for impactu_airflow-0.1.0-py3-none-any.whl

Total release size: 21.2 kB

Release files / impactu_airflow-0.1.0.tar.gz

Download URL impactu_airflow-0.1.0.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e57c2bbc1945beef3eb85068cc961fd84cd2d6ccf4a3c6274bdf753999c357bd
BLAKE2b-256 checksum
How to use checksums
36b4b35667867b3ddc5039cfec3e9541d5bc9724f4e1a77c56d6e1d568ff586c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Release files / impactu_airflow-0.1.0-py3-none-any.whl

Download URL impactu_airflow-0.1.0-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
49a7d1337c3e94bc39c312711a947fe020e720c12187f256593a0d789b086a13
BLAKE2b-256 checksum
How to use checksums
b89a82223177a3896f6ba0a9d754b5534c1be4e5d9540ee3b3cb3dd6e919799e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.12

Security for impactu-airflow 0.1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page