Skip to main content

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

Project description

IFPA API Python

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

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/

License

MIT License — see LICENSE file.


Not affiliated with or endorsed by IFPA.

Project details


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.5.tar.gz (53.2 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.5-py3-none-any.whl (73.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ifpa_api-0.4.5.tar.gz
Algorithm Hash digest
SHA256 341e0ed13d37f141f05e0396ce5f49637a5a72c073d782530bb26a18ce598549
MD5 7a26f75c95dba931c2758a0c56a8cb34
BLAKE2b-256 c145e5a76e5739bd646dfa9be172b3bda87f196ff46bf9a21b49c0024b5c93c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifpa_api-0.4.5.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.5-py3-none-any.whl.

File metadata

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

File hashes

Hashes for ifpa_api-0.4.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ccdf701fb63ccc8c01cb351d966f81d70bb4498b232f7fead79b713fd1f52a0f
MD5 76723414d96b6059b27e1e8022c8abbc
BLAKE2b-256 3258e5b93bc88d48efc842a7e167fb2166671a07c7c4cdea9c0e1b134f797775

See more details on using hashes here.

Provenance

The following attestation bundles were made for ifpa_api-0.4.5-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.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page