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 tmpdirname:
  dest = UPath(tmpdirname)
  outfile = dest / TEST_KEY
  entry.get(dest)
  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.2.0.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

quiltcore-0.2.0-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quiltcore-0.2.0.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.10.11 Darwin/22.5.0

File hashes

Hashes for quiltcore-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9f96f50191e4ad0e9bfe7d5f2b4bbbc784bcaf917aec2dfae966038d176284ad
MD5 eb5b401e3e9e0d3028f5d66ace8e950f
BLAKE2b-256 638a445ce9f08dfefc02bdb03b916acbc229328a840472813b7f5cb4114a5a90

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quiltcore-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 18.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.0 CPython/3.10.11 Darwin/22.5.0

File hashes

Hashes for quiltcore-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 310cf7d4a1824bee3ea0e3b101a5752dc4a551e4125f2e30767c2f8ca76d9d6b
MD5 b5769e4bf96f9eb7799d7c66d82a016b
BLAKE2b-256 57d7c0fb5ee1ecb2367aebeca60ff0806c1062c1f38664e56b0c8092e9bd0b5e

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