Skip to main content

Data engineering tools to create data mash ups using Django

Project description

datagrowth workflow PyPI pyversions GPLv3 license

DATAGROWTH

Data Growth is a lightweight Extract, Transform and Load (ETL) library, that helps to connect your software to external data sources.

These data sources can be API's, terminal commands or LLM's. Datagrowth is the bridge between all that data and your application logic. Because data sources and their outputs can be described uniformly in Python, using Datagrowth prevents vendor lock-in to specific data sources. It can also save costs, because it will re-use data sources like LLM responses whenever possible.

Datagrowth is mainly used within Django projects, where the data can be stored inside Django models. Use the different processors to extract and transform data, before loading it into your models exactly how your project needs. When using Django Restframework you can also share the loaded data easily over a REST API to other devices or services. Datagrowth also provides classes to set this up quickly.

Installation

You can install Datagrowth by running

pip install datagrowth

And then add datagrowth.django.apps.DatagrowthConfig to INSTALLED_APPS.

Getting started

Currently there are two major use cases. The Resources provide a way to uniformly gather data from very different sources. Configurations are a way to store and transfer key-value pairs, which your code can use to act on different contexts.

Follow these guides to get an idea how you can use Datagrowth:

Running the tests

There is a Django mock project inside the tests directory of the repository. In it are a lot of tests to demonstrate how Datagrowth and Django can work together, as well as to assure that everything functions as designed.

Apart from the Django tests there is also a pytest suite, which checks lower level Datagrowth functionality. In the future it will be feasible to use Datagrowth without Django in smaller prototype projects.

You can run all tests by running this inside the repo root:

invoke test.run

Alternatively you can execute the tests against multiple Python/Django/database versions by running:

tox

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

datagrowth-0.22.0.tar.gz (111.9 kB view details)

Uploaded Source

Built Distribution

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

datagrowth-0.22.0-py3-none-any.whl (138.0 kB view details)

Uploaded Python 3

File details

Details for the file datagrowth-0.22.0.tar.gz.

File metadata

  • Download URL: datagrowth-0.22.0.tar.gz
  • Upload date:
  • Size: 111.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for datagrowth-0.22.0.tar.gz
Algorithm Hash digest
SHA256 d1fd0b1dd7a774ea1c16ae53d629e0c26b6f227503a587c7ec26d127942ef1ed
MD5 97f802add7d3973a2a442c07cb9abb6a
BLAKE2b-256 a725a13034de91cab197390220dd408ed35f277871ecb61f65967cb02ffd3523

See more details on using hashes here.

File details

Details for the file datagrowth-0.22.0-py3-none-any.whl.

File metadata

  • Download URL: datagrowth-0.22.0-py3-none-any.whl
  • Upload date:
  • Size: 138.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for datagrowth-0.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0c255ac249c8c20a9bff1cb3c5408827f4c52440b824daeb1f3f6ce93d4c967c
MD5 9d16806224cc948db371e3c6c5a350f4
BLAKE2b-256 756a82ca8e63e393688d89c1ae2961102b10f9a21f3b6981a29b8fa79a243025

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