Logo Lanfrica

Bini-fish/Maji-Ndogo-Data-Validation-Pipeline

Domain:

agriculture

Record type:

software
Creator:
Bin
Host:
# Maji-Ndogo Data Validation and ETL Pipeline This repository hosts the source code and documentation for the **Maji Ndogo Data Validation and ETL Pipeline**. The goal of this project is to build a robust, repeatable process to ingest, clean, and validate raw farm survey data and related weather data before it is passed to down-stream Machine Learning models. ## Project Overview The core pipeline is built around validating the integrity and quality of agricultural data, which is crucial for accurate predictions of crop yield and resource allocation. The process involves: 1. **Extraction (E):** Ingesting raw data from the SQLite database. 2. **Transformation (T):** Cleaning and processing the field and weather datasets. 3. **Validation (V):** Implementing strict data quality checks (`validate_data.py`) to ensure the data adheres to established business rules and standards. ## Getting Started ### Prerequisites * Python 3.8+ * The raw data file (`Maji_Ndogo_farm_survey_small.db`) must be placed in the `data/raw/` directory. ### Installation and Setup 1. **Clone the repository:** git clone github.com ```bash cd Maji-Ndogo-Data-Validation-Pipeline ``` 2. **Create and activate a virtual environment:** ```bash python -m venv venv source venv/bin/activate # On Linux/macOS # venv\Scripts\activate # On Windows ``` 3. **Install dependencies:** ```bash pip install -r requirements.txt ``` ## Execution The pipeline is designed to be executed by running the core scripts sequentially or via a separate orchestration file (`Testing_Pipeline.ipynb` included in the `notebooks` folder) **To run the data cleaning and validation process:** 1. Ensure all necessary configuration (e.g., database connection) is set up within the `src/` scripts. 2. Run the main ingestion and processing scripts `Testing_Pipeline.ipynb`. ## Source Code (`src/`) | File Name | Description | | :--- | :--- | | `data_ingestion.py` | Ha …