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.1.tar.gz (117.3 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.1-py3-none-any.whl (144.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datagrowth-0.22.1.tar.gz
  • Upload date:
  • Size: 117.3 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.1.tar.gz
Algorithm Hash digest
SHA256 4a8d99cbce1cb25cf8be1341a6191cffc33f39f55f35bd8f1955079c76ae0ee3
MD5 788317f1037c13d2cd6b7f54e33feaab
BLAKE2b-256 46ea4420fac48f0f7c5ffc077abac6975716a47c849e34a575b7a8f6ba00c8e0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datagrowth-0.22.1-py3-none-any.whl
  • Upload date:
  • Size: 144.5 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 89806467b4c676c40f2c5e1c577b5b9c0466d007001c60ee146a98109d703014
MD5 1d4631a8d69af1aa8c190563bc6b5d4f
BLAKE2b-256 c889024eb2ece6d070a3512ec920982934a52eb2330f78ebfe707ca7d04128ee

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