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:
- Seed - Create the initial set of Resources, often by reading from a sitemap, CSV file, database table, or another source through custom seeders.
- 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.
- 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.
- 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.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file isekai_django-0.1.0a5.tar.gz.
File metadata
- Download URL: isekai_django-0.1.0a5.tar.gz
- Upload date:
- Size: 448.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96f97a0a483fdfe778bcef9f2da4403b891ff0d368d99970ebfc553253e5ad1a
|
|
| MD5 |
8c37789ad96232909ba7ee35a6b5f3f8
|
|
| BLAKE2b-256 |
ec305bfc62c98e97d8cc1e55095372233ab27a289beed792338252110860222a
|
Provenance
The following attestation bundles were made for isekai_django-0.1.0a5.tar.gz:
Publisher:
publish.yml on mixxorz/isekai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
isekai_django-0.1.0a5.tar.gz -
Subject digest:
96f97a0a483fdfe778bcef9f2da4403b891ff0d368d99970ebfc553253e5ad1a - Sigstore transparency entry: 622088992
- Sigstore integration time:
-
Permalink:
mixxorz/isekai@b5bcf894f4de4f97af3ad71d41a9ddb2010bf9aa -
Branch / Tag:
refs/tags/v0.1.0a5 - Owner: https://github.com/mixxorz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b5bcf894f4de4f97af3ad71d41a9ddb2010bf9aa -
Trigger Event:
release
-
Statement type:
File details
Details for the file isekai_django-0.1.0a5-py3-none-any.whl.
File metadata
- Download URL: isekai_django-0.1.0a5-py3-none-any.whl
- Upload date:
- Size: 36.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5f93309363cc0be0e3cdb76a0229e2eac69091ec79227b8c5e6fc9063a0b6f2
|
|
| MD5 |
ea8704e09a7b75207be9671d0fe7c64c
|
|
| BLAKE2b-256 |
8726be431080835991dc0ae305fc39a371bf5c421d7805226edf4c29c3e9bfc0
|
Provenance
The following attestation bundles were made for isekai_django-0.1.0a5-py3-none-any.whl:
Publisher:
publish.yml on mixxorz/isekai
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
isekai_django-0.1.0a5-py3-none-any.whl -
Subject digest:
d5f93309363cc0be0e3cdb76a0229e2eac69091ec79227b8c5e6fc9063a0b6f2 - Sigstore transparency entry: 622088994
- Sigstore integration time:
-
Permalink:
mixxorz/isekai@b5bcf894f4de4f97af3ad71d41a9ddb2010bf9aa -
Branch / Tag:
refs/tags/v0.1.0a5 - Owner: https://github.com/mixxorz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@b5bcf894f4de4f97af3ad71d41a9ddb2010bf9aa -
Trigger Event:
release
-
Statement type: