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.install(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.5.0.tar.gz (33.3 kB view details)

Uploaded Source

Built Distribution

quiltcore-0.5.0-py3-none-any.whl (46.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quiltcore-0.5.0.tar.gz
  • Upload date:
  • Size: 33.3 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.5.0.tar.gz
Algorithm Hash digest
SHA256 aabd3a9d92b4dd8520a6539603363cf8db172793625333d8bed28affad970622
MD5 5c1352e7f91b4cb75e24b63654665a54
BLAKE2b-256 e2c0c9a0ccccab6de0f97f1bbc38fac51086af3a7ec5cf3ec5846781afa71512

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quiltcore-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 46.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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3c636edfcc844cf1d096555d25e44c6ebf8824d49ad74e036d7bc1043bcc9368
MD5 eeef861bd79bebbed6e04e71eb8c9c92
BLAKE2b-256 6fe17d1aa6044a39381eee86220ffb3e5c9cf4ae4c1e3f5180b7b05767e31257

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