Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

craft_store-3.0.2.tar.gz (92.6 kB view details)

Uploaded Source

Built Distribution

craft_store-3.0.2-py3-none-any.whl (43.6 kB view details)

Uploaded Python 3

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

Hashes for craft_store-3.0.2.tar.gz
Algorithm Hash digest
SHA256 ee30a06ea0337288ee93856d225edc315b40f8621c63aac1dab88154658374c4
MD5 670a86d8fce0c2db74373c295bda1e2d
BLAKE2b-256 e4d693505356ba0620145b8fa2b4d4425c1129d5360bccea6e8d5ae9088983f9

See more details on using hashes here.

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

Hashes for craft_store-3.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c8be34a0411d0673d948a42696cb6c1662a0100bc142bce0e15a00fd17af1b14
MD5 5c7f6b18120331cb8308856147ed8ebd
BLAKE2b-256 58cb277157452b4935a935529d2cce31db639660c97af77a062a38d61ffae5eb

See more details on using hashes here.

Supported by

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