Skip to main content

Quilt3 catalog: local development mode

Project description

Quilt3 catalog: Local development mode

Open source implementation of the Quilt3 registry that works in the local environment (not requiring AWS cloud services aside from S3 / S3 Select).

This package is not intended to be installed/used directly by end users. Instead, install quilt3[catalog] and use quilt3 catalog CLI command.

Developing

TL;DR

# set up venv, assuming poetry is available in the PATH
poetry install

# build catalog bundle
(cd ../catalog && npm i && npm run build && cp -r build ../quilt3_local/quilt3_local/catalog_bundle)

# run the app at http://localhost:3000
poetry run quilt3-local

Set-up

Python environment set-up

First, you need poetry installed.

Then, you have to set up the virtualenv by running poetry install from the project directory -- it will create a virtualenv and install the requirements.

Catalog (node.js) environment set-up

Refer to the catalog documentation.

Running

You can either serve a static catalog bundle (produced by npm run build) or proxy static files from a running catalog instance.

NOTE: you need valid AWS credentials available, see boto3 docs for details.

Serving a static catalog bundle

Run poetry run quilt3-local to start the app on port 3000 serving the static catalog bundle from the ./quilt3_local/catalog_bundle directory. Path to the bundle can be overriden by QUILT_CATALOG_BUNDLE env var. Port can be configured via PORT env var.

In order to serve the bundle, you should first build it by running npm run build from the catalog directory and then either copying it to ./quilt3_loca/catalog_bundle or overriding QUILT_CATALOG_BUNDLE to point to your bundle. However, this approach is not very convenient when developing catalog features, since it requires rebuilding the bundle to pick up the changes. To address this there's a "proxy" mode available.

Proxying a running catalog instance

In this mode the app proxies all the static files requests to a running catalog instance. One can be started by executing PORT=3001 npm start from the catalog directory (setting port to 3001 required to avoid conflict with the quilt3_local app's default settings).

After starting up a catalog instance, you can start the quilt3_local app and point it to that instance by running QUILT_CATALOG_URL=http://localhost:3001 poetry run quilt3-local (the app will be available at http://localhost:3000 and will serve static files from the catalog running at http://localhost:3001, catalog URL configurable via QUILT_CATALOG_URL env var).

Building and publishing

  1. Make sure you set up credentials for poetry

  2. Bump package version in pyproject.toml

  3. Update catalog commit hash in catalog-commit if required

  4. Commit, tag, push: git c -am "release X.Y.Z" && git tag vX.Y.Z && git push && git push --tags

  5. Build and publish the package: make publish

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

quilt3_local-1.1.1rc1.tar.gz (38.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quilt3_local-1.1.1rc1-py3-none-any.whl (38.7 MB view details)

Uploaded Python 3

File details

Details for the file quilt3_local-1.1.1rc1.tar.gz.

File metadata

  • Download URL: quilt3_local-1.1.1rc1.tar.gz
  • Upload date:
  • Size: 38.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.10.7 Darwin/21.6.0

File hashes

Hashes for quilt3_local-1.1.1rc1.tar.gz
Algorithm Hash digest
SHA256 29610b7cc4e1f5d50c3f00830bdc409a19832f5b4b4f161ebd6c65768b114028
MD5 045c53e3e78e06fb7681f1d3e7e51e37
BLAKE2b-256 863f6eac3cb03f14cc8bc1c84dfc4f5b49261b185266b30af53d9481b30430eb

See more details on using hashes here.

File details

Details for the file quilt3_local-1.1.1rc1-py3-none-any.whl.

File metadata

  • Download URL: quilt3_local-1.1.1rc1-py3-none-any.whl
  • Upload date:
  • Size: 38.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.10.7 Darwin/21.6.0

File hashes

Hashes for quilt3_local-1.1.1rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc231d6c13f68153149ab71ebe190da199ef7441c0c43586e4d8216b2d2288da
MD5 3d71e2fb81a3d47ee1fead3c1437f584
BLAKE2b-256 904aef1be4e0ad8dc6a43092961a311577d3ac283f1731dd0cb6e70b64cee011

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page