Skip to main content

Shared helpers for Dwellir blockchain charms

Project description

charms-dwellir-blockchain-common

Shared helpers for Dwellir blockchain charms. Provides a minimal charm-facing interface and a small set of utilities that charms can import to reduce duplicated code.

This package now exposes its stable utility surface at charms.dwellir.blockchain_common.v1.

What is included

  • charms.dwellir.blockchain_common.v1.process
  • charms.dwellir.blockchain_common.v1.systemd
  • charms.dwellir.blockchain_common.v1.users
  • charms.dwellir.blockchain_common.v1.packages
  • charms.dwellir.blockchain_common.v1.downloads
  • charms.dwellir.blockchain_common.v1.crypto
  • charms.dwellir.blockchain_common.v1.actions
  • charms.dwellir.blockchain_common.v1.config
  • charms.dwellir.blockchain_common.v1.version
  • charms.dwellir.blockchain_common.v1.jsonrpc
  • charms.dwellir.blockchain_common.v1.metadata
  • charms.dwellir.blockchain_common.v1.evm_chains.registry

Quick usage

Add the package to your charm's requirements.txt from PyPI.

charms-dwellir-blockchain-common>=0.0.1,<1

Optional fallback for private source installs:

git+ssh://git@github.com/dwellir-public/dwellir-blockchain-charms-common.git@main#egg=charms-dwellir-blockchain-common

Development

  • Run unit tests:
python -m pip install -e ".[test]"
pytest -q

Local charm testing

For a temporary workflow that uses a locally built wheel from this repository in any uv-based charm, see LOCAL_WHEEL_STEPS.md.

Upload to TestPyPi for testing and more flexibility

Run:

make upload-testpypi TOKEN='pypi-<testpypi-token>' VERSION=<new-version>

This target temporarily sets version in setup.cfg for the TestPyPI upload and restores it automatically after the command finishes. For the full manual workflow, see this file.

Releases

  • Follow version bump criteria in RELEASE_VERSIONING_GUIDELINES.md.
  • Bump version in setup.cfg.
  • Trigger .github/workflows/release-pypi-and-github.yml manually from GitHub Actions.
  • Approve the pypi environment when prompted.
  • On success, the workflow also creates a GitHub release/tag v<version> and uploads dist/* artifacts.

Notes:

  • There is a pypi environment configured in repository that restricts publishing to PyPi from other branches than the default branch (main).

PyPI Trusted Publisher Setup

In PyPI project settings, add a GitHub Actions publisher with:

  • Owner: dwellir-public
  • Repository: dwellir-blockchain-charms-common
  • Workflow filename: release-pypi-and-github.yml
  • Environment: pypi

Notes:

  • These values must match .github/workflows/release-pypi-and-github.yml exactly.
  • If the project does not exist on PyPI yet, create a pending publisher first, then run the manual release workflow.

GitHub Branch Protection

There are branch protection rules for the default branch (main) that prevents from force pushing or merging without a PR.

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

charms_dwellir_blockchain_common-0.2.2.tar.gz (144.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

charms_dwellir_blockchain_common-0.2.2-py3-none-any.whl (153.4 kB view details)

Uploaded Python 3

File details

Details for the file charms_dwellir_blockchain_common-0.2.2.tar.gz.

File metadata

File hashes

Hashes for charms_dwellir_blockchain_common-0.2.2.tar.gz
Algorithm Hash digest
SHA256 9c25b0d70f980e24de076c7bae7b336f1b5795d13454297eeecf79b02d22139f
MD5 3315a894baa26b4376c03df81ff5e268
BLAKE2b-256 953ee5a824fe5ab59d70f2d286a70ed2abebc92fc77dc323e584395b072bcd9d

See more details on using hashes here.

Provenance

The following attestation bundles were made for charms_dwellir_blockchain_common-0.2.2.tar.gz:

Publisher: release-pypi-and-github.yml on dwellir-public/dwellir-blockchain-charms-common

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file charms_dwellir_blockchain_common-0.2.2-py3-none-any.whl.

File metadata

File hashes

Hashes for charms_dwellir_blockchain_common-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b09bd2633bd0b09071b7e0cc353922623ed5d66e76b2d3e90d1f63dae397c707
MD5 95b506f72cfede24a1333e22b35879c6
BLAKE2b-256 6a054075fa4ec511d34da73d1868a5931c1fc0d14e889946d3f4af7e54608194

See more details on using hashes here.

Provenance

The following attestation bundles were made for charms_dwellir_blockchain_common-0.2.2-py3-none-any.whl:

Publisher: release-pypi-and-github.yml on dwellir-public/dwellir-blockchain-charms-common

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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