datasdr/shared/: datasdr-base-api-client-0.3.1 metadata and description

Simple index Newer version available

Reusable async base API client and token providers

description_content_type text/markdown
requires_dist
  • httpx>=0.28.1
  • commitizen>=4.13.9; extra == "dev"
  • mypy>=1.19.1; extra == "dev"
  • pre-commit>=4.5.1; extra == "dev"
  • ruff>=0.15.4; extra == "dev"
requires_python >=3.9

Because this project isn't in the mirror_whitelist, no releases from root/pypi are included.

File Tox results History
datasdr_base_api_client-0.3.1-py3-none-any.whl
Size
5 KB
Type
Python Wheel
Python
3
datasdr_base_api_client-0.3.1.tar.gz
Size
5 KB
Type
Source

base-api-client

Reusable base API client package for Datasdr services.

Package

What it provides

Install

From this repository:

pip install .

Or as a dependency from another service once published:

pip install datasdr-base-api-client

Minimal usage

from datasdr_base_api_client import BaseHTTPClient, StaticTokenProvider

client = BaseHTTPClient(
		base_url="https://api.example.com",
		token_provider=StaticTokenProvider("my-token"),
)

Publish (private PyPI)

Set credentials and publish to Datasdr private repository:

PYPI_PUBLISHER_USERNAME="<username>" \
PYPI_PUBLISHER_PASSWORD="<password>" \
make package-publish-private

This uses:

TWINE_USERNAME="$PYPI_PUBLISHER_USERNAME" \
TWINE_PASSWORD="$PYPI_PUBLISHER_PASSWORD" \
python -m twine upload --repository-url "https://pypi.devops.datasdr.com/datasdr/shared/" --non-interactive dist/*

GitHub Actions publish

Workflow file: .github/workflows/publish-private-pypi.yml

This workflow is validation-only (build + twine check) and does not publish.

Automated release with Commitizen

Workflow file: .github/workflows/release-private-pypi.yml

Changelog best practice

Keep CHANGELOG.md versioned in the repository. This is the recommended approach for libraries because consumers can read version history directly in source control, releases, and packaged artifacts. Build artifacts can include changelog content, but should not be the only source of truth.