Skip to main content

Koza, an ETL framework for the Biolink model

Project description

Koza

pupa Data transformation framework

Disclaimer: Koza is in pre-alpha

Transform csv, json, and jsonl 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

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/dev/tests/resources/source-files/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/metadata.yaml 

koza transform --source examples/string-declarative/metadata.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.0.1a5.tar.gz (235.5 kB view details)

Uploaded Source

Built Distribution

koza-0.0.1a5-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file koza-0.0.1a5.tar.gz.

File metadata

  • Download URL: koza-0.0.1a5.tar.gz
  • Upload date:
  • Size: 235.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.1

File hashes

Hashes for koza-0.0.1a5.tar.gz
Algorithm Hash digest
SHA256 de37858c79a8eeaf519be683017d9d1ef73d3ce54651a37f34f0bd8614e8b040
MD5 2855f9df0e641fa66d9519d30a6907d4
BLAKE2b-256 a7e1f93781f67d077cd1fb65a5357b59f51efeffd071cb0bc6b7cb1410e13b37

See more details on using hashes here.

File details

Details for the file koza-0.0.1a5-py3-none-any.whl.

File metadata

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

File hashes

Hashes for koza-0.0.1a5-py3-none-any.whl
Algorithm Hash digest
SHA256 57b39eef49de5caecc595170cef7d3ebfc05cf0bf6385b13a25de9bcca2065e9
MD5 8752a0bf075a654c71f0159527a1f58c
BLAKE2b-256 11e313672f6efbef0e3e36e42032de24ffeb2639e44e41aafc7a61184036babf

See more details on using hashes here.

Supported by

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