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.3.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.3-py3-none-any.whl (153.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for charms_dwellir_blockchain_common-0.2.3.tar.gz
Algorithm Hash digest
SHA256 b730a31b310c816bef4b0890b485352ad5cba084b1be5160b167a8549f055356
MD5 8470dcd2c6aef3a009fedf7e3401d47d
BLAKE2b-256 24f14b0e44e6d3535c264f7a1a3a8ca90f8a3f37ccd80a0119e98361f60aac6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for charms_dwellir_blockchain_common-0.2.3.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.3-py3-none-any.whl.

File metadata

File hashes

Hashes for charms_dwellir_blockchain_common-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7897f541803e1bcad9923889d9e21936d7872f0debf7b8214ee8691d3c0a4501
MD5 e8991163db07dc5c6d47543a04a65bb5
BLAKE2b-256 45307d1dc08b3ee1920e5f0b67018a02c69ee9de333dc87ce782f696913457d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for charms_dwellir_blockchain_common-0.2.3-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