A standalone client for the NLR's Alfalfa application
Project description
Pacer Client
The purpose of this repository is to provide a standalone client for use with the Alfalfa application. It additionally includes a Historian to quickly/easily enable saving of results from Alfalfa simulations.
Usage
This repo is packaged and hosted on PyPI here.
pip install pacer-client
from pacer_client.pacer_client import PacerClient
client = PacerClient("http://localhost")
Renaming from
alfalfa-client: this project was renamed fromalfalfa-client/AlfalfaClienttopacer-client/PacerClient. During the transition, both names keep working:AlfalfaClientis an alias ofPacerClient, and thealfalfa_clientpackage/pip install alfalfa-clientcontinue to be published with identical functionality (seealfalfa_client/__init__.py).import alfalfa_client(in any form) emits aDeprecationWarningpointing you topacer_client; thealfalfa-clientname and imports will eventually be removed, so new code should preferpacer_client/PacerClient.
Additional documentation for the functions of pacer-client can be found here.
Development
Prerequisites:
- poetry for managing environment
Cloning and Installing:
git clone https://github.com/NatLabRockies/alfalfa-client.git
cd alfalfa-client
poetry install
Running Tests:
All pacer-client tests currently require a running instance of Alfalfa with at least 2 workers.
poetry run pytest -m integration
Releasing
Every PR must carry at least one categorization label (breaking, enhancement, bug, dependencies,
github_actions, python, documentation, add test, or do not publish to exclude it) — this is enforced by
the Verify Pull Request Labeling CI check and is what allows GitHub to group the auto-generated release notes
correctly, per .github/release.yml.
- Confirm all PRs intended for the release are merged into
develop, are labeled correctly, and CI is passing. - Bump the version on
develop(assume version is 0.1.2):poetry version 0.1.2, open a PR, and merge it once tests pass. - Fast-forward
maintodevelopso both branches point at the same commit (do not create a merge commit):git checkout main git merge --ff-only develop git push origin main
If--ff-onlyfails,mainanddevelophave diverged (e.g. a hotfix landed only onmain) — reconcile that first so the release doesn't leave the branches out of sync. - Draft a release on the GitHub repository targeting
main(tagv0.1.2) and click "Generate release notes" (UI), or rungh release create v0.1.2 --target main --generate-notes --draft— do not publish yet. - Copy the generated "## What's Changed" notes into
CHANGELOG.mdunder the# Unreleasedsection, then (as part of the release) rename that header to# pacer-client Version 0.1.2and add the**Full Changelog**line. - Commit this alongside the version bump PR, or as a quick follow-up commit on
main. - Publish the drafted release. This triggers the
PyPIReleaseworkflow (.github/workflows/pypi_release.yml), which builds the package twice (once aspacer-client, once with the name swapped toalfalfa-client) and publishes both to PyPI via trusted publishing — no manualpoetry build/poetry publishneeded. Both distributions have identical contents; this keepspip install alfalfa-clientworking during the rename transition (see the note in the README's Usage section). Publishing toalfalfa-clientrequires a Trusted Publisher to be configured on that PyPI project pointing at thepypi_release_alfalfaenvironment — set this up once on pypi.org before the first release after this change. - Confirm the new version appears on both pacer-client and
alfalfa-client on PyPI, and that the release notes and
CHANGELOG.mdmatch.
Project details
Release history Release notifications | RSS feed
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 pacer_client-1.1.0rc1.tar.gz.
File metadata
- Download URL: pacer_client-1.1.0rc1.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cce1bc5c1034d9e1426607a78f8565b83ccf2d30c225899a40db8f0c4955866c
|
|
| MD5 |
86855a632f4692f54787a4452894c252
|
|
| BLAKE2b-256 |
220574a95afdebf5162f6971bd6a8c2b5751ac01cdae1ccfd2ad950d700e4635
|
Provenance
The following attestation bundles were made for pacer_client-1.1.0rc1.tar.gz:
Publisher:
pypi_release.yml on NatLabRockies/alfalfa-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pacer_client-1.1.0rc1.tar.gz -
Subject digest:
cce1bc5c1034d9e1426607a78f8565b83ccf2d30c225899a40db8f0c4955866c - Sigstore transparency entry: 2219862975
- Sigstore integration time:
-
Permalink:
NatLabRockies/alfalfa-client@0f9b014dd8b12c759df5bcf8e415655a251f8ec4 -
Branch / Tag:
refs/tags/v1.1.0rc1 - Owner: https://github.com/NatLabRockies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi_release.yml@0f9b014dd8b12c759df5bcf8e415655a251f8ec4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file pacer_client-1.1.0rc1-py3-none-any.whl.
File metadata
- Download URL: pacer_client-1.1.0rc1-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ceb3e68f116c6397f50f5d096fd07d41d430096bf308d5840cefd7cdacc93dfb
|
|
| MD5 |
c48b05b849a95a18d256f6801503fbcd
|
|
| BLAKE2b-256 |
d8db3e03fd6aae2bbfc2141c096f9dd38240b6b3da603e7227ed2cd7f64575d2
|
Provenance
The following attestation bundles were made for pacer_client-1.1.0rc1-py3-none-any.whl:
Publisher:
pypi_release.yml on NatLabRockies/alfalfa-client
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pacer_client-1.1.0rc1-py3-none-any.whl -
Subject digest:
ceb3e68f116c6397f50f5d096fd07d41d430096bf308d5840cefd7cdacc93dfb - Sigstore transparency entry: 2219863008
- Sigstore integration time:
-
Permalink:
NatLabRockies/alfalfa-client@0f9b014dd8b12c759df5bcf8e415655a251f8ec4 -
Branch / Tag:
refs/tags/v1.1.0rc1 - Owner: https://github.com/NatLabRockies
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi_release.yml@0f9b014dd8b12c759df5bcf8e415655a251f8ec4 -
Trigger Event:
release
-
Statement type: