Skip to main content

Betwatch Python SDK

PyPI - Version PyPI - Python Version


The Betwatch Python SDK allows you to interact with the Betwatch.com API to integrate up to date racing price data into your Python applications.

Disclaimer

This library is provided on a best-effort basis in order to lower the barrier of entry for accessing the Betwatch API. No guarantees are made for the reliability of this library and development will be ongoing.

Installation

pip install betwatch

Usage

See examples

A Betwatch API key is required. Please contact api@betwatch.com for more information.

Development

Setup

Install dependencies using uv:

uv sync

Install pre-commit hooks:

pre-commit install --hook-type commit-msg

Commit Convention

This project follows Conventional Commits for automatic changelog generation. All commit messages must follow this format:

<type>(<scope>): <subject>

[optional body]

[optional footer]

Types:

  • feat: A new feature (triggers minor version bump)
  • fix: A bug fix (triggers patch version bump)
  • docs: Documentation only changes
  • style: Changes that don't affect code meaning (white-space, formatting)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Performance improvement
  • test: Adding missing tests
  • chore: Changes to build process or auxiliary tools

Breaking Changes: Add ! after the type or BREAKING CHANGE: in the footer to trigger a major version bump.

Examples:

feat: add support for new market types
fix: resolve race condition in async client
docs: update API examples
feat!: change API endpoint structure

The pre-commit hook will validate your commit messages automatically.

Running Tests

uv run pytest

Linting and Type Checking

uv run ruff check .
uv run basedpyright

Generating Changelog Locally

To see what the changelog would look like:

git-cliff --unreleased

Releasing

This project uses GitHub Actions for automated releases and publishing to PyPI.

Release Process

  1. Go to the Actions tab in GitHub
  2. Click "Run workflow"
  3. Enter the new version number (e.g., 1.8.0)
  4. Select the release type (major, minor, or patch)
  5. Click "Run workflow"

This will:

  • Create a release branch with the version bump
  • Generate a changelog from recent commits
  • Create a Pull Request for the release
  • Auto-merge the PR (if CI passes)
  • Create a GitHub release with the changelog
  • Trigger the publish workflow to upload to PyPI

Manual Release

If you need to create a release manually:

  1. Update the version in pyproject.toml
  2. Commit the change: git commit -am "chore: bump version to X.Y.Z"
  3. Create a tag: git tag vX.Y.Z
  4. Push the tag: git push origin vX.Y.Z
  5. Create a GitHub release from the tag

The publish workflow will automatically upload to PyPI when a GitHub release is published.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

betwatch-1.7.4.tar.gz (8.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

betwatch-1.7.4-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file betwatch-1.7.4.tar.gz.

File metadata

  • Download URL: betwatch-1.7.4.tar.gz
  • Upload date:
  • Size: 8.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for betwatch-1.7.4.tar.gz
Algorithm Hash digest
SHA256 996817f9c33879d96ed7ecb35ca6dc7ad46db5a9c2fd5c5ad779416ef8038255
MD5 3d335dc5eae694d0df718a3d442f87bc
BLAKE2b-256 c7edf8469e71acf2d443c0293909eb7728fcd874ff3354154a6af4ccbc4dd5ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for betwatch-1.7.4.tar.gz:

Publisher: release.yml on betwatch/betwatch-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file betwatch-1.7.4-py3-none-any.whl.

File metadata

  • Download URL: betwatch-1.7.4-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for betwatch-1.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cbc44ee4db3e3e498a525950bd02ce5ee73e8bdf58d13a0517303af27a11dcb2
MD5 24592370bafd5267519b8691578d1e5c
BLAKE2b-256 6b7be246e003e57be37ca58bd05da89b60ae345a3e2545fb78809f0835169378

See more details on using hashes here.

Provenance

The following attestation bundles were made for betwatch-1.7.4-py3-none-any.whl:

Publisher: release.yml on betwatch/betwatch-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.7.4 This release

2 files

1.7.3

2 files

1.7.2

2 files

1.7.0

2 files

1.6.0

2 files

1.5.1

2 files

1.5.0

2 files

1.4.7

2 files

1.4.6

2 files

1.4.5

2 files

1.4.3

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

1.3.4

2 files

1.3.3

2 files

1.3.2

2 files

1.3.1

2 files

1.3.0

2 files

1.2.3

2 files

1.2.2

2 files

1.2.1

2 files

1.2.0

2 files

1.1.18

2 files

1.1.17

2 files

1.1.16

2 files

1.1.15

2 files

1.1.12

2 files

1.1.10

2 files

1.1.9

2 files

1.1.8

2 files

1.1.7

2 files

1.1.6

2 files

1.1.5

2 files

1.1.4

2 files

1.1.3

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.8

2 files

1.0.7

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.9.31

2 files

0.9.30

2 files

0.9.29

2 files

0.9.28

2 files

0.9.27

2 files

0.9.26

2 files

0.9.25

2 files

0.9.24

2 files

0.9.23

2 files

0.9.22

2 files

0.9.21

2 files

0.9.20

2 files

0.9.19

2 files

0.9.18

2 files

0.9.16

2 files

0.9.15

2 files

0.9.14

2 files

0.9.13

2 files

0.9.12

2 files

0.9.11

2 files

0.9.10

2 files

0.9.9

2 files

0.9.8

2 files

0.9.7

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.8.6

2 files

0.8.5

2 files

0.8.4

2 files

0.8.3

2 files

0.8.2

2 files

0.8.0

2 files

0.7.11

2 files

0.7.10

2 files

0.7.9

2 files

0.7.8

2 files

0.7.7

2 files

0.7.6

2 files

0.7.5

2 files

0.7.4

2 files

0.7.3

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.9

2 files

0.6.8

2 files

0.6.7

2 files

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.5.5

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.20

2 files

0.4.19

2 files

0.4.18

2 files

0.4.17

2 files

0.4.16

2 files

0.4.15

2 files

0.4.14

2 files

0.4.13

2 files

0.4.12

2 files

0.4.11

2 files

0.4.10

2 files

0.4.9

2 files

0.4.8

2 files

0.4.7

2 files

0.4.6

2 files

0.4.5

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.1

2 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