Skip to main content

"Store bindings for Snaps and Charms"

Project description

# 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://craft-store.readthedocs.io.

# Contributing

A Makefile is provided for easy interaction with the project. To see all available options run:

` make help `

## Running tests

To run all tests in the suite run:

` make tests `

### 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:

` make freeze-requirements `

## Verifying documentation changes

To locally verify documentation changes run:

` make 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-2.4.0.tar.gz (24.4 kB view details)

Uploaded Source

Built Distribution

craft_store-2.4.0-py2.py3-none-any.whl (36.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file craft-store-2.4.0.tar.gz.

File metadata

  • Download URL: craft-store-2.4.0.tar.gz
  • Upload date:
  • Size: 24.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for craft-store-2.4.0.tar.gz
Algorithm Hash digest
SHA256 6813e32df00003df16cf17257619ef25e86d5933b3ede41615b3d48a768a18cf
MD5 d4cacaaac50d77bfeba2bd20732121c5
BLAKE2b-256 2c81d1ef36c5bb5caece17c9361a8a9c45418286f13f74a25b9f60425e50e4cf

See more details on using hashes here.

File details

Details for the file craft_store-2.4.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for craft_store-2.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1964f660b7c26dbced6e78f350f5d0b041cc29b8feadd4d726b048008da9dc54
MD5 f02131b1b919a413c468b59c3a9ab5a6
BLAKE2b-256 c5d5bfede1595e01a2607b07f8819efa5be01ec3a045e64692414d55d52234fa

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