Skip to main content

IFPA API Python

PyPI version Python versions License: MIT CI codecov Documentation Code style: black AI Code Review

Unofficial Python client for the IFPA (International Flipper Pinball Association) API.

Access player rankings, tournament data, and statistics through a clean, type-safe Python interface with Pydantic validation.

Installation

pip install ifpa-api

Requires Python 3.11+.

Quick Start

from ifpa_api import IfpaClient

# Initialize (uses IFPA_API_KEY environment variable)
client = IfpaClient()

# Get player by ID
player = client.player.get(2643)
print(f"{player.first_name} {player.last_name}")

# Access stats
stats = player.player_stats["system"]["open"]
print(f"WPPR Rank: {stats['current_rank']}")

# Search with filters
results = client.player.search("John") \
    .country("US") \
    .state("CA") \
    .limit(10) \
    .get()

# Get rankings
rankings = client.rankings.wppr(count=100)
for entry in rankings.rankings[:10]:
    print(f"{entry.rank}. {entry.player_name}")

# Get tournament results
results = client.tournament(67890).results()
for result in results.results[:5]:
    print(f"{result.position}. {result.player_name}: {result.points} pts")

Features

  • Type-safe: Full type hints and Pydantic validation with IDE autocomplete
  • Fluent API: Chainable query builder for complex searches
  • 46 Endpoints: Complete IFPA API v2.1 coverage across 7 resources
  • Automatic Pagination: Memory-efficient iteration with .iterate() and .get_all()
  • Enhanced Errors: Structured exceptions with request context for debugging
  • 99% Test Coverage: Comprehensive unit and integration tests

Resources

  • Players — Search, profiles, rankings, tournament results, head-to-head
  • Tournaments — Search, details, results, formats
  • Rankings — WPPR, women, youth, country, age-based
  • Series — Circuit standings, player cards, region data
  • Stats — Overall metrics, largest tournaments, player activity
  • Directors — Search, tournament listings

Documentation

Full documentation: https://johnsosoka.github.io/ifpa-api-python/

AI Code Review

All pull requests are automatically reviewed by GPT-4o via ai-code-review. The AI checks for code quality, security issues, performance concerns, and maintainability.

Reviews run on every PR open and update. Results are posted as inline comments on the pull request.

License

MIT License — see LICENSE file.


Not affiliated with or endorsed by IFPA.

Download files

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

Source Distribution

ifpa_api-0.4.11.tar.gz (53.6 kB view details)

Uploaded Source

Built Distribution

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

ifpa_api-0.4.11-py3-none-any.whl (73.8 kB view details)

Uploaded Python 3

File details

Details for the file ifpa_api-0.4.11.tar.gz.

File metadata

  • Download URL: ifpa_api-0.4.11.tar.gz
  • Upload date:
  • Size: 53.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ifpa_api-0.4.11.tar.gz
Algorithm Hash digest
SHA256 d09718a65446cfc8468252bf1ad9acdaebe9658607e6902daf83370217caaab4
MD5 f97d4690ab9634c7005bfa0a60f554fe
BLAKE2b-256 11388ad77cb13f87ef0716a01ad2e840b670f96d08bdd30c0e0f030a79bf28b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifpa_api-0.4.11.tar.gz:

Publisher: publish.yml on johnsosoka/ifpa-api-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 ifpa_api-0.4.11-py3-none-any.whl.

File metadata

  • Download URL: ifpa_api-0.4.11-py3-none-any.whl
  • Upload date:
  • Size: 73.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for ifpa_api-0.4.11-py3-none-any.whl
Algorithm Hash digest
SHA256 f08c5ed5d61b54ca66a258d5c76c98804e9490932c1ade1d77ab2c41424c0b1b
MD5 14dc1ac4c2575600a7218e6f1d04f07c
BLAKE2b-256 c32e33b5bb63da811642026bb03c29323d07fb9286c805d83a33a7d32f28f21e

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifpa_api-0.4.11-py3-none-any.whl:

Publisher: publish.yml on johnsosoka/ifpa-api-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

0.4.12

2 files

This release

0.4.11 This release

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.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

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