Skip to main content

low-level plubming to read/write Quilt packages

Project description

QuiltCore

QuiltCore is a library for building and running Quilt data packages. It is designed to leverage standard open source technology and YAML configuration files so that it can easily be ported to other languages and platforms.

This initial implementation is in Python.

Key Technologies

  • Apache Arrow for reading, writing, and representing manifests
    • PyArrow for Python bindings to Arrow
  • fsspec filesystems for reading and writing files from various sources
  • PyYAML for reading and writing YAML configuration files

Example

poetry install
from quiltcore import Registry
from tempfile import TemporaryDirectory
from upath import UPath

TEST_BKT = "s3://quilt-example"
TEST_PKG = "akarve/amazon-reviews"
TEST_TAG = "1570503102"
TEST_HASH = "ffe323137d0a84a9d1d6f200cecd616f434e121b3f53a8891a5c8d70f82244c2"
TEST_KEY = "camera-reviews"

Get Manifest

path = UPath(TEST_BKT)
registry = Registry(path)
named_package = registry.get(TEST_PKG)
manifest = named_package.get(TEST_TAG)
entry = manifest.get(TEST_KEY)

Get Object

with TemporaryDirectory() as tmpdir:
  dest = UPath(tmpdir)
  outfile = dest / TEST_KEY
  entry.get(tmpdir)
  print(outfile.resolve())
  assert outfile.exists()
  local_bytes = outfile.read_bytes()
  assert entry.verify(local_bytes)

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

quiltcore-0.3.5.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

quiltcore-0.3.5-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

Details for the file quiltcore-0.3.5.tar.gz.

File metadata

  • Download URL: quiltcore-0.3.5.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.4 Darwin/22.6.0

File hashes

Hashes for quiltcore-0.3.5.tar.gz
Algorithm Hash digest
SHA256 20f8b41c6c346b242190e409c1798f505937a2edf352a105fc93827a376fc988
MD5 08f957a16f6a49b74c8bf7997fd008f2
BLAKE2b-256 55a50792fd5820bf6945c3fa0aba9d8389a74731b060ec50f7ed9a1c7e735309

See more details on using hashes here.

File details

Details for the file quiltcore-0.3.5-py3-none-any.whl.

File metadata

  • Download URL: quiltcore-0.3.5-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.4 Darwin/22.6.0

File hashes

Hashes for quiltcore-0.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 bfe803fcc294bce01b8af480672979f2c713d6f12bb3971499601735dd8192ee
MD5 3105712f501f6ec12107877b69cb52c9
BLAKE2b-256 3868e9f21c80795221e5c94ae209c4038001bc09a1f1f4f958b37731ec15c40f

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