CLI tool and Python library for manipulating artifacts in OCI registries
Project description
RegShape
RegShape (from REGistry reSHAPE) is a CLI tool and a Python library for manipulating artifacts in an OCI registry. While there are many other tools that can do this (see ORAS, regclient, or Google's crane), the goal of RegShape is to provide flexibility to manipulate the requests with an intention to break the consistency of the artifacts.
You can use RegShape in two modes:
- Standard mode — interact with registries as you would with any other tool: pull and push manifests, blobs, tags, and more.
- Expert / break mode — manually craft requests to test registry implementations and probe their security boundaries.
RegShape is written in Python and offers Python libraries that can be leveraged to build your own tools. The CLI is built on top of the libraries and uses the Click framework.
Note: The tool is still in early development and the API is not stable yet.
Installation
git clone https://github.com/toddysm/regshape.git
cd regshape
pip install -e .
Quick Start
Ping a registry to verify connectivity:
regshape ping registry-1.docker.io
Retrieve a manifest:
regshape manifest get -i docker.io/library/alpine:latest
List tags for a repository:
regshape tag list -i docker.io/library/alpine
Documentation
Guides
Architecture & Design
CLI Command Specs
| Command | Spec |
|---|---|
| Auth | specs/cli/auth.md |
| Blob | specs/cli/blob.md |
| Catalog | specs/cli/catalog.md |
| Manifest | specs/cli/manifest.md |
| Tag | specs/cli/tag.md |
| Referrer | specs/cli/referrer.md |
| Ping | specs/cli/ping.md |
| Layout | specs/cli/layout.md |
| Layout Push | specs/cli/layout-push.md |
| Formatting | specs/cli/formatting.md |
Library Specs
- Models — Blob, Catalog, Error, Manifest, Referrer, Tags
- Operations — Blobs, Catalog, Manifests, Referrers, Tags
Contributing
See CONTRIBUTING.md for instructions on setting up your development environment.
Security
To report a vulnerability, please see SECURITY.md.
License
This project is licensed under the Apache License 2.0 — see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file regshape-0.1.0.tar.gz.
File metadata
- Download URL: regshape-0.1.0.tar.gz
- Upload date:
- Size: 168.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b62f391b462d158df1e6a1b414175fe022c3c6a2f26d4207d44259c36150c0a
|
|
| MD5 |
71f95fffb5827fd5ef4aaa0bfa64dd02
|
|
| BLAKE2b-256 |
889a833fc8b92d72c95854ac8eacd948ea80e196e3db7b7c4eb807ef1b41aa65
|
Provenance
The following attestation bundles were made for regshape-0.1.0.tar.gz:
Publisher:
publish.yml on toddysm/regshape
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
regshape-0.1.0.tar.gz -
Subject digest:
8b62f391b462d158df1e6a1b414175fe022c3c6a2f26d4207d44259c36150c0a - Sigstore transparency entry: 1109207267
- Sigstore integration time:
-
Permalink:
toddysm/regshape@7ad88ba52039aaf8ca485182ad5e6f2d22bfea80 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/toddysm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7ad88ba52039aaf8ca485182ad5e6f2d22bfea80 -
Trigger Event:
release
-
Statement type:
File details
Details for the file regshape-0.1.0-py3-none-any.whl.
File metadata
- Download URL: regshape-0.1.0-py3-none-any.whl
- Upload date:
- Size: 218.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c864d8e162754e310e8dd9759e00a6b2f4f899314482fec4c3a5edb025f98c06
|
|
| MD5 |
005037c5c4e6a8fae8687e8ff28da7ad
|
|
| BLAKE2b-256 |
a4def9e26390bdbef047a1e024dfdf7effcbef65b414673e194e4853f2530be6
|
Provenance
The following attestation bundles were made for regshape-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on toddysm/regshape
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
regshape-0.1.0-py3-none-any.whl -
Subject digest:
c864d8e162754e310e8dd9759e00a6b2f4f899314482fec4c3a5edb025f98c06 - Sigstore transparency entry: 1109207276
- Sigstore integration time:
-
Permalink:
toddysm/regshape@7ad88ba52039aaf8ca485182ad5e6f2d22bfea80 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/toddysm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7ad88ba52039aaf8ca485182ad5e6f2d22bfea80 -
Trigger Event:
release
-
Statement type: