Skip to main content

Koza, an ETL framework for LinkML data models

Project description

Pyversions PyPi

Koza

pupa Data transformation framework

Disclaimer: Koza is in beta; we are looking for beta testers

Transform csv, json, yaml, jsonl, and xml and converting them to a target csv, json, or jsonl format based on your dataclass model. Koza also can output data in the KGX format

Documentation: https://koza.monarchinitiative.org/

Highlights
  • Author data transforms in semi-declarative Python
  • Configure source files, expected columns/json properties and path filters, field filters, and metadata in yaml
  • Create or import mapping files to be used in ingests (eg id mapping, type mappings)
  • Create and use translation tables to map between source and target vocabularies

Installation

pip install koza

Getting Started

Send a local or remove csv file through Koza to get some basic information (headers, number of rows)

koza validate \
  --file https://raw.githubusercontent.com/monarch-initiative/koza/main/examples/data/string.tsv \
  --delimiter ' '

Sending a json or jsonl formatted file will confirm if the file is valid json or jsonl

koza validate \
  --file ./examples/data/ZFIN_PHENOTYPE_0.jsonl.gz \
  --format jsonl
koza validate \
  --file ./examples/data/ddpheno.json.gz \
  --format json \
  --compression gzip
Example: transforming StringDB
koza transform --source examples/string/protein-links-detailed.yaml --global-table examples/translation_table.yaml 

koza transform --source examples/string-declarative/protein-links-detailed.yaml --global-table examples/translation_table.yaml

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

koza-0.1.2.tar.gz (222.9 kB view details)

Uploaded Source

Built Distribution

koza-0.1.2-py3-none-any.whl (26.1 kB view details)

Uploaded Python 3

File details

Details for the file koza-0.1.2.tar.gz.

File metadata

  • Download URL: koza-0.1.2.tar.gz
  • Upload date:
  • Size: 222.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.26.0

File hashes

Hashes for koza-0.1.2.tar.gz
Algorithm Hash digest
SHA256 bc991c4038afacb2c8785e7094092278e4c30e6f82abf1b648281f0d6d424f6a
MD5 ca8d70fa1d565a5776a0b72febafda1b
BLAKE2b-256 3e8cdea2ad2505da21dad56c74b0fda50c40bb96eb8db8dac932b1bf67501369

See more details on using hashes here.

File details

Details for the file koza-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: koza-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 26.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.26.0

File hashes

Hashes for koza-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8b071aa6a64bd60c972d697abf6aea50a50af9f0db86f0fd3da200b88b862f7f
MD5 d3e77f468bf0ce221f54135de432c243
BLAKE2b-256 6634b2f81f1c9790b00638d61327ed83027c5a02ae7ef8051080c88a3ad8c913

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page