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.0.tar.gz (19.4 kB view details)

Uploaded Source

Built Distribution

quiltcore-0.3.0-py3-none-any.whl (25.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quiltcore-0.3.0.tar.gz
  • Upload date:
  • Size: 19.4 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.3.0.tar.gz
Algorithm Hash digest
SHA256 5ce2d743846bc1dc883b12cc3ed0c08c8a68806419b32bc8ca0a77a512b9adf7
MD5 447984d96e37a2d180aeb19ef659b910
BLAKE2b-256 f35c896e74eeb8b50ccfae0fa6a0bf3235274799852b3abd8ceca457ba4f4db1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quiltcore-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 25.8 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d36d72cc298a810d6bc470fc9afd385fb77a52b9d774b67f9d636a7f075bcc26
MD5 5d0ac70627fda5659a9ef355d6461e31
BLAKE2b-256 72de3fd60a3129df5d007e8eda73923f10db143aaa906b68eade51c71837c1fd

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