Store bindings for Snaps and Charms
Project description
[![Documentation Status](https://readthedocs.com/projects/canonical-craft-store/badge/?version=latest)](https://canonical-craft-store.readthedocs-hosted.com/en/latest/?badge=latest)
# Craft Store
This project aims to provide python interfaces for communicating with Canonical Stores, such as Charmhub and the Snap Store.
# License
Free software: GNU Lesser General Public License v3
# Documentation:
https://canonical-craft-store.readthedocs-hosted.com.
# Contributing
## Running tests
To run all tests in the suite run:
tox
### Integration tests
Some integration tests require collaborator permission on the craft-store-test-charm charm package on the staging craft-store. These can be run by creating a pull request.
Other integration tests simply require a valid login to the staging charmhub store. These can be run by exporting charmhub staging credentials to the environment variable CRAFT_STORE_CHARMCRAFT_CREDENTIALS. An easy way to do this is to create a charmcraft.yaml file containing the lines:
- charmhub:
api-url: “https://api.staging.charmhub.io” storage-url: “https://storage.staging.snapcraftcontent.com”
and then run charmcraft login –export cc.cred to login and export CRAFT_STORE_CHARMCRAFT_CREDENTIALS=$(cat cc.cred) to put the credentials into the environment variable. Note that if you do not have collaborator permissions on craft-store-test-charm, some tests will fail rather than being skipped.
## Adding new requirements
If a new dependency is added to the project run:
TODO
## Verifying documentation changes
To locally verify documentation changes run:
tox run -e lint-docs,build-docs
After running, newly generated documentation shall be available at ./docs/_build/html/.
## Committing code
Please follow these guidelines when committing code for this project:
Use a topic with a colon to start the subject
Separate subject from body with a blank line
Limit the subject line to 50 characters
Do not capitalize the subject line
Do not end the subject line with a period
Use the imperative mood in the subject line
Wrap the body at 72 characters
Use the body to explain what and why (instead of how)
As an example:
endpoints: support package attenuations
Required in order to obtain credentials that apply only to a given package; be it charm, snap or bundle.
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
File details
Details for the file craft_store-3.0.2.tar.gz
.
File metadata
- Download URL: craft_store-3.0.2.tar.gz
- Upload date:
- Size: 92.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee30a06ea0337288ee93856d225edc315b40f8621c63aac1dab88154658374c4 |
|
MD5 | 670a86d8fce0c2db74373c295bda1e2d |
|
BLAKE2b-256 | e4d693505356ba0620145b8fa2b4d4425c1129d5360bccea6e8d5ae9088983f9 |
File details
Details for the file craft_store-3.0.2-py3-none-any.whl
.
File metadata
- Download URL: craft_store-3.0.2-py3-none-any.whl
- Upload date:
- Size: 43.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8be34a0411d0673d948a42696cb6c1662a0100bc142bce0e15a00fd17af1b14 |
|
MD5 | 5c7f6b18120331cb8308856147ed8ebd |
|
BLAKE2b-256 | 58cb277157452b4935a935529d2cce31db639660c97af77a062a38d61ffae5eb |