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
Hashes for craft_store-3.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8be34a0411d0673d948a42696cb6c1662a0100bc142bce0e15a00fd17af1b14 |
|
MD5 | 5c7f6b18120331cb8308856147ed8ebd |
|
BLAKE2b-256 | 58cb277157452b4935a935529d2cce31db639660c97af77a062a38d61ffae5eb |