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.2.tar.gz (118.7 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.2-py3-none-any.whl (146.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datagrowth-0.22.2.tar.gz
  • Upload date:
  • Size: 118.7 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.2.tar.gz
Algorithm Hash digest
SHA256 70691c4d6cb6fdfa8e323960c2de86ae3228536754c80e197c8c32348191dc82
MD5 38d9f5d718ac0aa07cab4fb5fac374e9
BLAKE2b-256 9c3515d7251391b993c878e89c3b20e6e5d5cf2cac251a4588042f19d48db6ea

See more details on using hashes here.

File details

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

File metadata

  • Download URL: datagrowth-0.22.2-py3-none-any.whl
  • Upload date:
  • Size: 146.2 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a82a26b984ee095d711ff56e535106647e20f2cfaa91eb904de8a57149068cf5
MD5 d27ad839dab1b7875b32518b2ae480ff
BLAKE2b-256 093ab24f8eea6540dcaed18b3753cf21bd8aa64ca0d914bafd13c334f01b3b04

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