Skip to main content

A Django package

Project description

ISEKAI

ISEKAI is a general-purpose ETL framework for Django. It helps you migrate any data (including files) from any source into your Django models using a clear, pluggable pipeline. ISEKAI makes it simple to bring data from anywhere into Django models.

Why ISEKAI?

Django projects often need to bring data from a wide variety of sources into structured models, but writing ad-hoc scripts for this quickly becomes messy and repetitive. ISEKAI offers a clear, reusable framework for defining ETL pipelines so your migrations stay predictable, testable, and easy to maintain.

Concepts

At the core of ISEKAI is the Resource model. A Resource represents a single distinct piece of data you want to migrate. As it moves through the pipeline, the Resource accumulates data and undergoes transformations, and by the final stage it resolves to a single Django model instance. In other words, every Resource eventually becomes one record in your database, and the pipeline describes how it gets there.

The pipeline has five stages:

  1. Seed - Create the initial set of Resources, often by reading from a sitemap, CSV file, database table, or another source through custom seeders.
  2. Extract - Using those keys, fetch the raw bytes from the source, whether that's through the web with the HTTPExtractor or any other system via a custom extractor.
  3. Mine - Inspect extracted data to discover or 'mine" related Resources. For example, the HTMLImageMiner will create new Resources for each image it finds linked in an HTML page.
  4. Transform - Using the data on the Resource, produce a target Spec (your project's model-shaped representation) that the Load stage will create in Django.
  5. Load - Create the Django models from the Resource's Spec. This stage calculates the optimal build order for the objects, and can reconcile circular dependencies through a two-phase create mechanism.

Each stage is handled by processors. ISEKAI includes built-in processors for common use cases, but you can also write your own. This means you can extract resources from any source, apply custom transformations, and load into any Django model structure.

License

MIT

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

isekai_django-0.1.0a4.tar.gz (449.5 kB view details)

Uploaded Source

Built Distribution

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

isekai_django-0.1.0a4-py3-none-any.whl (36.6 kB view details)

Uploaded Python 3

File details

Details for the file isekai_django-0.1.0a4.tar.gz.

File metadata

  • Download URL: isekai_django-0.1.0a4.tar.gz
  • Upload date:
  • Size: 449.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for isekai_django-0.1.0a4.tar.gz
Algorithm Hash digest
SHA256 5f1e7fb9617480773957aa5a36a926d1e39a1eb6e767849ad56e5d09e53aff3c
MD5 910872d5dc2662c1703da9bc6c488b2b
BLAKE2b-256 fb5110033e2406f88c9d712782d9087110a8d5a1864f45d8f9943ad4c617ad57

See more details on using hashes here.

Provenance

The following attestation bundles were made for isekai_django-0.1.0a4.tar.gz:

Publisher: publish.yml on mixxorz/isekai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isekai_django-0.1.0a4-py3-none-any.whl.

File metadata

File hashes

Hashes for isekai_django-0.1.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 75c54dfb53d3246f0602c4c7ef6c87c7fc3bddcabf70d1f21bd164d051da9db8
MD5 34f41689327db3d9bd02cc6db83ca4a5
BLAKE2b-256 941899d972a626ad05d7c9915239709bde0dda443728725af8578cc0f41046a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for isekai_django-0.1.0a4-py3-none-any.whl:

Publisher: publish.yml on mixxorz/isekai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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