Skip to main content

OmniCart data pipeline

Project description

#OmniCart Pipeline OmniCart Data Pipeline is a Python-based tool designed to extract, transform, and load (ETL) product data from the OmniCart API into a clean and structured dataset. It automates data retrieval, cleaning, and integration processes while ensuring consistent performance and scalability. The project demonstrates an advanced data engineering pipeline suitable for analytics and integration tasks within modern retail systems.

Installation Instructions: You can install the package using pip after building it locally or from an internal repository. Command: pip install omnicart-pipeline

Usage Guide: After installation, you can run the pipeline directly from the command line using the CLI entry point. Command: omnicart-pipeline This will trigger the main data extraction and processing workflow as defined in the CLI module.

Package Data Solution: To ensure that the configuration file (pipeline.cfg) is always accessible after installation, even when the package is installed through pip, the project uses Python’s importlib.resources module. This approach dynamically locates the configuration file within the installed package, instead of relying on hardcoded file paths like open('pipeline.cfg'), which would break after installation. Additionally, the pyproject.toml file has been configured to include the .cfg file in the final package distribution so that the application can always find and load it at runtime, regardless of where the package is installed on the system.

This project implements an end-to-end data pipeline for OmniCart — a fictional e-commerce analytics platform.
It’s designed to demonstrate robust, modular data engineering principles using Python, Poetry, and modern configuration management.


Key Features

  • Configurable pipeline with a centralized pipeline.cfg file
  • Modular architecture with independent components (API client, data analyzer, transformer, etc.)
  • Reliable configuration loading using importlib.resources (so the config file is always accessible after packaging)
  • CLI-based orchestration (cli.py) for running the full pipeline
  • Pytest test suite under /tests
  • Poetry-managed environment for dependency isolation

Project Structure

omnicart-pipeline-project/ ├── omnicart_pipeline/ │ ├── init.py │ ├── cli.py │ ├── config.py │ ├── api_client.py │ ├── data_analyzer.py │ ├── data_transformer.py │ ├── pipeline.cfg │ └── ... │ ├── tests/ │ ├── test_config.py │ ├── test_data_analyzer.py │ ├── test_data_transformer.py │ └── ... │ ├── poetry.lock ├── pyproject.toml ├── README.md └── .gitignore

To run python -m omnicart_pipeline.pipeline.cli(In bash terminal)

Configuration Management The pipeline reads configuration values from pipeline.cfg using importlib.resources, ensuring it works in both development and packaged environments.

Running Tests Tests are located under the tests/ directory.

poetry run pytest -v or python -m pytest -v

API Integration The pipeline can make live API calls for data ingestion. If your API requires credentials, update the corresponding section in pipeline.cfg.

Author Obaloluwa Adeleke Omnicart Pipeline Project

Notes Ensure internet access for live API tests. Avoid hardcoding local paths — the configuration loader handles cross-environment access.

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

omnicart_pipeline_obaloluwaadeleke-0.1.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file omnicart_pipeline_obaloluwaadeleke-0.1.1.tar.gz.

File metadata

File hashes

Hashes for omnicart_pipeline_obaloluwaadeleke-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b05812d1eca2afb01e0ff65c3046a50cae191ae81cebfd3337979c1b83483b90
MD5 eff61e43bb5e9d856d84acc2ec1da812
BLAKE2b-256 6f757ccc791c98ab3dc074ab9a2bccf9ef1c13763c29a7fa1604e9e4c9dd8e20

See more details on using hashes here.

File details

Details for the file omnicart_pipeline_obaloluwaadeleke-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for omnicart_pipeline_obaloluwaadeleke-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 49ff96d144b26b4ba38fe5a11e49fca7d5d7993596174bca2f14300e6d8d6a5b
MD5 e3f4e2d59bb4e95a29da891d97387142
BLAKE2b-256 dfa0c36df7b751c5f91162afa3081382634a3030be2ff4dd8e4f30eb26721f49

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page