Skip to content

DavidDzgoev/judobase

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Judobase API Wrapper

PyPI Python Downloads License Docs Codecov Contributors Ruff

Judobase API Wrapper is a Python library that provides a async interface to interact with the Judobase API. Developed entirely through reverse engineering, this wrapper allows developers to access and integrate Judobase data effortlessly into their projects.


Table of Contents


Features

  • Reverse Engineered: Reverse engineered base Judobase API methods. Access to data on tournaments, athletes, results is available by python classes JudokaAPI, CompetitionAPI, ContestAPI, CountryAPI.
  • Extension: Implemented additional methods to the API to make it more user-friendly. Look at JudoBase class.
  • Pydantic Schemas: All data is returned as Pydantic models, making it easy to work with.
  • Async: All requests are asynchronous, allowing for faster data retrieval.

Installation

Requirements

  • Python 3.10+
  • pip (Python package installer)

pip

pip install judobase

Usage

After installing the library, you can easily integrate it into your project. Below is a basic usage example:

import asyncio

from judobase import JudoBase, Competition, Contest


async def main():
    async with JudoBase() as api:
        contests: list[Contest] = await api.all_contests()
        print(len(contests)) # Output: 195161

    api = JudoBase()
    olympic_games_2024: Competition = await api.competition_by_id(2653)
    print(olympic_games_2024.city) # Output: Paris
    await api.close_session()

asyncio.run(main())

Key classes

  • JudoBase: Main class that provides access to user-friendly methods.
  • JudokaAPI: Base methods for fetching data about athletes.
  • CompetitionAPI: Base methods for fetching data about competitions.
  • ContestAPI: Base methods for fetching data about contests.
  • CountryAPI: Base methods for fetching data about countries.

Documentation

For a detailed description of all available methods and endpoints, please refer to the Documentation.


Contributing

Contributions are welcome! Also, if you have any questions or suggestions, please feel free to open an issue.

Note: See CONTRIBUTING.md and CODE_OF_CONDUCT.md for details on how to contribute..


License

This project is licensed under the MIT License. See the LICENSE file for more details.


Contact

If you have any questions or suggestions, please feel free to reach out:

Important: This project is not an official Judobase solution. It is an API wrapper developed through reverse engineering of the Judobase API.