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

Uploaded Source

Built Distribution

quiltcore-0.3.3-py3-none-any.whl (26.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: quiltcore-0.3.3.tar.gz
  • Upload date:
  • Size: 19.9 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.3.tar.gz
Algorithm Hash digest
SHA256 3bc7ae49ca9fba5cd2afbda777e3cb5548e0a27aad62d08a6985696c5cce873a
MD5 276bb9fa1d56c5d2fbaf3032f8223576
BLAKE2b-256 3895618abf1d0acf35236ad1c09c75d44d82cfaf0dc27837218064dbae5c6670

See more details on using hashes here.

File details

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

File metadata

  • Download URL: quiltcore-0.3.3-py3-none-any.whl
  • Upload date:
  • Size: 26.4 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9e1798e419bc90279d3f1940762979e5da1dc041bb078d372e5d71e63e9c338e
MD5 7fe1c66914d2c40306fb886847d777ca
BLAKE2b-256 7fb296be18b35198126e708ec1bcbc4be0207fbca9964adb80e8ffcd0629b811

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