{"id":18565673,"url":"https://github.com/quiltdata/local","last_synced_at":"2025-04-10T04:33:04.831Z","repository":{"id":43225754,"uuid":"454286686","full_name":"quiltdata/local","owner":"quiltdata","description":"Local Mode for the Quilt Catalog","archived":false,"fork":false,"pushed_at":"2023-06-09T10:52:57.000Z","size":690,"stargazers_count":4,"open_issues_count":9,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-12-19T19:01:37.400Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quiltdata.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-01T06:39:37.000Z","updated_at":"2023-04-13T06:52:48.000Z","dependencies_parsed_at":"2024-11-06T22:20:35.254Z","dependency_job_id":"c1e4c484-8984-4826-b81f-6411799c5728","html_url":"https://github.com/quiltdata/local","commit_stats":{"total_commits":17,"total_committers":3,"mean_commits":5.666666666666667,"dds":0.2941176470588235,"last_synced_commit":"dabe81bda7fd9649feff7e0a71a2276cdc343ec1"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quiltdata%2Flocal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quiltdata%2Flocal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quiltdata%2Flocal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quiltdata%2Flocal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quiltdata","download_url":"https://codeload.github.com/quiltdata/local/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248157712,"owners_count":21057057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T22:19:41.475Z","updated_at":"2025-04-10T04:33:04.377Z","avatar_url":"https://github.com/quiltdata.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quilt3 catalog: Local development mode\n\nOpen source implementation of the Quilt3 registry that works in the local\nenvironment (not requiring AWS cloud services aside from S3 / S3 Select).\n\nThis package is not intended to be installed/used directly by end users.\nInstead, install `quilt3[catalog]` and use `quilt3 catalog` CLI command.\n\n## Developing\n\n### TL;DR\n\n```shell\n# set up venv, assuming poetry is available in the PATH\npoetry install\n\n# build catalog bundle\n(cd ../catalog \u0026\u0026 npm i \u0026\u0026 npm run build \u0026\u0026 cp -r build ../quilt3_local/quilt3_local/catalog_bundle)\n\n# run the app at http://localhost:3000\npoetry run quilt3-local\n```\n\n### Set-up\n\n#### Python environment set-up\n\nFirst, you need [`poetry` installed](https://python-poetry.org/docs/#installation).\n\nThen, you have to set up the virtualenv by running `poetry install` from the\nproject directory -- it will create a virtualenv and install the requirements.\n\n#### Catalog (node.js) environment set-up\n\nRefer to the [catalog documentation](../catalog/).\n\n### Running\n\nYou can either serve a static catalog bundle (produced by `npm run build`) or\nproxy static files from a running catalog instance.\n\n**NOTE**: you need valid AWS credentials available, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html#configuring-credentials) for details.\n\n#### Serving a static catalog bundle\n\nRun `poetry run quilt3-local` to start the app on port 3000 serving the static\ncatalog bundle from the `./quilt3_local/catalog_bundle` directory.\nPath to the bundle can be overriden by `QUILT_CATALOG_BUNDLE` env var.\nPort can be configured via `PORT` env var.\n\nIn order to serve the bundle, you should first build it by running\n`npm run build` from the catalog directory and then either copying it to\n`./quilt3_loca/catalog_bundle` or overriding `QUILT_CATALOG_BUNDLE` to point to\nyour bundle.\nHowever, this approach is not very convenient when developing catalog features,\nsince it requires rebuilding the bundle to pick up the changes.\nTo address this there's a \"proxy\" mode available.\n\n#### Proxying a running catalog instance\n\nIn this mode the app proxies all the static files requests to a running catalog\ninstance. One can be started by executing `PORT=3001 npm start` from the catalog\ndirectory (setting port to `3001` required to avoid conflict with the `quilt3_local`\napp's default settings).\n\nAfter starting up a catalog instance, you can start the `quilt3_local` app and\npoint it to that instance by running\n`QUILT_CATALOG_URL=http://localhost:3001 poetry run quilt3-local`\n(the app will be available at `http://localhost:3000` and will serve static\nfiles from the catalog running at `http://localhost:3001`, catalog URL\nconfigurable via `QUILT_CATALOG_URL` env var).\n\n### Building and publishing\n\n1. Make sure you set up [credentials for `poetry`](https://python-poetry.org/docs/repositories/#configuring-credentials)\n\n2. Bump package version in `pyproject.toml` and update `CHANGELOG.md`\n\n3. Update catalog commit hash in `catalog-commit` if required\n\n4. Commit, tag, push: `git c -am \"release X.Y.Z\" \u0026\u0026 git tag vX.Y.Z \u0026\u0026 git push \u0026\u0026 git push --tags`\n\n5. Build and publish the package: `make publish`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquiltdata%2Flocal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquiltdata%2Flocal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquiltdata%2Flocal/lists"}