Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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 from alfalfa-client/AlfalfaClient to pacer-client/PacerClient. During the transition, both names keep working: AlfalfaClient is an alias of PacerClient, and the alfalfa_client package/pip install alfalfa-client continue to be published with identical functionality (see alfalfa_client/__init__.py). import alfalfa_client (in any form) emits a DeprecationWarning pointing you to pacer_client; the alfalfa-client name and imports will eventually be removed, so new code should prefer pacer_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.

  1. Confirm all PRs intended for the release are merged into develop, are labeled correctly, and CI is passing.
  2. 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.
  3. Fast-forward main to develop so 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-only fails, main and develop have diverged (e.g. a hotfix landed only on main) — reconcile that first so the release doesn't leave the branches out of sync.
  4. Draft a release on the GitHub repository targeting main (tag v0.1.2) and click "Generate release notes" (UI), or run gh release create v0.1.2 --target main --generate-notes --draft — do not publish yet.
  5. Copy the generated "## What's Changed" notes into CHANGELOG.md under the # Unreleased section, then (as part of the release) rename that header to # pacer-client Version 0.1.2 and add the **Full Changelog** line.
  6. Commit this alongside the version bump PR, or as a quick follow-up commit on main.
  7. Publish the drafted release. This triggers the PyPIRelease workflow (.github/workflows/pypi_release.yml), which builds the package twice (once as pacer-client, once with the name swapped to alfalfa-client) and publishes both to PyPI via trusted publishing — no manual poetry build/poetry publish needed. Both distributions have identical contents; this keeps pip install alfalfa-client working during the rename transition (see the note in the README's Usage section). Publishing to alfalfa-client requires a Trusted Publisher to be configured on that PyPI project pointing at the pypi_release_alfalfa environment — set this up once on pypi.org before the first release after this change.
  8. Confirm the new version appears on both pacer-client and alfalfa-client on PyPI, and that the release notes and CHANGELOG.md match.

Release files for pacer-client 1.1.0rc1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pacer-client 1.1.0rc1
File Size Uploaded
pacer_client-1.1.0rc1.tar.gz 8.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pacer-client 1.1.0rc1
File Interpreter ABI Platform
pacer_client-1.1.0rc1-py3-none-any.whl Python 3 none any Details

Total release size: 20.0 kB

Release files / pacer_client-1.1.0rc1.tar.gz

Download URL pacer_client-1.1.0rc1.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
cce1bc5c1034d9e1426607a78f8565b83ccf2d30c225899a40db8f0c4955866c
BLAKE2b-256 checksum
How to use checksums
220574a95afdebf5162f6971bd6a8c2b5751ac01cdae1ccfd2ad950d700e4635
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

Release files / pacer_client-1.1.0rc1-py3-none-any.whl

Download URL pacer_client-1.1.0rc1-py3-none-any.whl
Size 11.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ceb3e68f116c6397f50f5d096fd07d41d430096bf308d5840cefd7cdacc93dfb
BLAKE2b-256 checksum
How to use checksums
d8db3e03fd6aae2bbfc2141c096f9dd38240b6b3da603e7227ed2cd7f64575d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0rc1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page