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.processcharms.dwellir.blockchain_common.v1.systemdcharms.dwellir.blockchain_common.v1.userscharms.dwellir.blockchain_common.v1.packagescharms.dwellir.blockchain_common.v1.downloadscharms.dwellir.blockchain_common.v1.cryptocharms.dwellir.blockchain_common.v1.actionscharms.dwellir.blockchain_common.v1.configcharms.dwellir.blockchain_common.v1.versioncharms.dwellir.blockchain_common.v1.jsonrpccharms.dwellir.blockchain_common.v1.metadatacharms.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
versioninsetup.cfg. - Trigger
.github/workflows/release-pypi-and-github.ymlmanually from GitHub Actions. - Approve the
pypienvironment when prompted. - On success, the workflow also creates a GitHub release/tag
v<version>and uploadsdist/*artifacts.
Notes:
- There is a
pypienvironment 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.ymlexactly. - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file charms_dwellir_blockchain_common-0.2.2.tar.gz.
File metadata
- Download URL: charms_dwellir_blockchain_common-0.2.2.tar.gz
- Upload date:
- Size: 144.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c25b0d70f980e24de076c7bae7b336f1b5795d13454297eeecf79b02d22139f
|
|
| MD5 |
3315a894baa26b4376c03df81ff5e268
|
|
| BLAKE2b-256 |
953ee5a824fe5ab59d70f2d286a70ed2abebc92fc77dc323e584395b072bcd9d
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
charms_dwellir_blockchain_common-0.2.2.tar.gz -
Subject digest:
9c25b0d70f980e24de076c7bae7b336f1b5795d13454297eeecf79b02d22139f - Sigstore transparency entry: 1396375925
- Sigstore integration time:
-
Permalink:
dwellir-public/dwellir-blockchain-charms-common@53488cc80836f6b6c49ceccf95a6c98a104ae3b1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/dwellir-public
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
self-hosted -
Publication workflow:
release-pypi-and-github.yml@53488cc80836f6b6c49ceccf95a6c98a104ae3b1 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file charms_dwellir_blockchain_common-0.2.2-py3-none-any.whl.
File metadata
- Download URL: charms_dwellir_blockchain_common-0.2.2-py3-none-any.whl
- Upload date:
- Size: 153.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b09bd2633bd0b09071b7e0cc353922623ed5d66e76b2d3e90d1f63dae397c707
|
|
| MD5 |
95b506f72cfede24a1333e22b35879c6
|
|
| BLAKE2b-256 |
6a054075fa4ec511d34da73d1868a5931c1fc0d14e889946d3f4af7e54608194
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
charms_dwellir_blockchain_common-0.2.2-py3-none-any.whl -
Subject digest:
b09bd2633bd0b09071b7e0cc353922623ed5d66e76b2d3e90d1f63dae397c707 - Sigstore transparency entry: 1396375938
- Sigstore integration time:
-
Permalink:
dwellir-public/dwellir-blockchain-charms-common@53488cc80836f6b6c49ceccf95a6c98a104ae3b1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/dwellir-public
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
self-hosted -
Publication workflow:
release-pypi-and-github.yml@53488cc80836f6b6c49ceccf95a6c98a104ae3b1 -
Trigger Event:
workflow_dispatch
-
Statement type: