Name | judobase JSON |
Version |
1.0.0
JSON |
| download |
home_page | None |
Summary | Python Judobase API async client |
upload_time | 2025-02-11 11:06:29 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.8 |
license | MIT |
keywords |
judobase
wrapper
client
async
api
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Judobase API Wrapper
[](https://pypi.org/project/judobase/)
[](https://www.python.org/)
[](https://pypistats.org/packages/judobase)
[](https://opensource.org/licenses/MIT)
[](https://daviddzgoev.github.io/judobase/)
[](https://app.codecov.io/gh/DavidDzgoev/judobase)
[](https://github.com/DavidDzgoev/judobase/graphs/contributors)
[](https://github.com/astral-sh/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](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)
---
## 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.8+**
- **pip** (Python package installer)
### pip
```bash
pip install judobase
```
---
## Usage
After installing the library, you can easily integrate it into your project. Below is a basic usage example:
```python
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](https://daviddzgoev.github.io/judobase/).
---
## Contributing
Contributions are welcome! Also, if you have any questions or suggestions, please feel free to open an [issue](https://github.com/DavidDzgoev/judobase/issues).
> **Note:** See [CONTRIBUTING.md](.github/CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](.github/CODE_OF_CONDUCT.md) for details on how to contribute..
---
## License
This project is licensed under the [MIT License](LICENSE). See the LICENSE file for more details.
---
## Contact
If you have any questions or suggestions, please feel free to reach out:
- **GitHub:** [DavidDzgoev](https://github.com/DavidDzgoev)
- **Email:** ddzgoev@gmail.com
> **Important:** This project is not an official Judobase solution. It is an API wrapper developed through reverse engineering of the Judobase API.
Raw data
{
"_id": null,
"home_page": null,
"name": "judobase",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "judobase, wrapper, client, async, api",
"author": null,
"author_email": "ddzgoev <ddzgoev@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/9a/00/7f410e72e981884e3849e94d7432772918c367791777b9a62193013c5bb4/judobase-1.0.0.tar.gz",
"platform": null,
"description": "# Judobase API Wrapper\n\n[](https://pypi.org/project/judobase/)\n[](https://www.python.org/)\n[](https://pypistats.org/packages/judobase)\n[](https://opensource.org/licenses/MIT)\n[](https://daviddzgoev.github.io/judobase/)\n[](https://app.codecov.io/gh/DavidDzgoev/judobase)\n[](https://github.com/DavidDzgoev/judobase/graphs/contributors)\n[](https://github.com/astral-sh/ruff)\n\n\nJudobase 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.\n\n---\n\n## Table of Contents\n\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n- [Documentation](#documentation)\n- [Contributing](#contributing)\n- [License](#license)\n- [Contact](#contact)\n\n---\n\n## Features\n\n- **Reverse Engineered:** Reverse engineered base Judobase API methods. Access to data \non tournaments, athletes, results is available by python classes `JudokaAPI`, `CompetitionAPI`, `ContestAPI`, `CountryAPI`. \n- **Extension:** Implemented additional methods to the API to make it more user-friendly. \nLook at `JudoBase` class.\n- **Pydantic Schemas:** All data is returned as Pydantic models, making it easy to work with.\n- **Async:** All requests are asynchronous, allowing for faster data retrieval.\n\n---\n\n## Installation\n\n### Requirements\n\n- **Python 3.8+**\n- **pip** (Python package installer)\n\n### pip\n\n```bash\npip install judobase\n```\n\n---\n\n## Usage\n\nAfter installing the library, you can easily integrate it into your project. Below is a basic usage example:\n\n```python\nimport asyncio\n\nfrom judobase import JudoBase, Competition, Contest\n\n\nasync def main():\n async with JudoBase() as api:\n contests: list[Contest] = await api.all_contests()\n print(len(contests)) # Output: 195161\n\n api = JudoBase()\n olympic_games_2024: Competition = await api.competition_by_id(2653)\n print(olympic_games_2024.city) # Output: Paris\n await api.close_session()\n\nasyncio.run(main())\n```\n\n### Key classes\n\n- `JudoBase`: Main class that provides access to user-friendly methods.\n- `JudokaAPI`: Base methods for fetching data about athletes.\n- `CompetitionAPI`: Base methods for fetching data about competitions.\n- `ContestAPI`: Base methods for fetching data about contests.\n- `CountryAPI`: Base methods for fetching data about countries.\n\n---\n\n## Documentation\n\nFor a detailed description of all available methods and endpoints, please refer to the [Documentation](https://daviddzgoev.github.io/judobase/).\n\n---\n\n## Contributing\n\nContributions are welcome! Also, if you have any questions or suggestions, please feel free to open an [issue](https://github.com/DavidDzgoev/judobase/issues).\n\n> **Note:** See [CONTRIBUTING.md](.github/CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](.github/CODE_OF_CONDUCT.md) for details on how to contribute..\n\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE). See the LICENSE file for more details.\n\n---\n\n## Contact\n\nIf you have any questions or suggestions, please feel free to reach out:\n\n- **GitHub:** [DavidDzgoev](https://github.com/DavidDzgoev)\n- **Email:** ddzgoev@gmail.com\n\n> **Important:** This project is not an official Judobase solution. It is an API wrapper developed through reverse engineering of the Judobase API.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python Judobase API async client",
"version": "1.0.0",
"project_urls": {
"Documentation": "https://daviddzgoev.github.io/judobase/",
"Homepage": "https://github.com/DavidDzgoev/judobase",
"Repository": "https://github.com/DavidDzgoev/judobase"
},
"split_keywords": [
"judobase",
" wrapper",
" client",
" async",
" api"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "f83090bedcda244a64c42ab9b45eaa13630fde3ea5ed9ed0ee00018a99339c10",
"md5": "4e5859185d35873455e49df5fd5e5158",
"sha256": "d47d80617392ab6229f0c6bbc7e989e0ef2e9a6bbac6683751515302c0935fbb"
},
"downloads": -1,
"filename": "judobase-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4e5859185d35873455e49df5fd5e5158",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 16293,
"upload_time": "2025-02-11T11:06:28",
"upload_time_iso_8601": "2025-02-11T11:06:28.487602Z",
"url": "https://files.pythonhosted.org/packages/f8/30/90bedcda244a64c42ab9b45eaa13630fde3ea5ed9ed0ee00018a99339c10/judobase-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9a007f410e72e981884e3849e94d7432772918c367791777b9a62193013c5bb4",
"md5": "def3b1bc603dd5d00c6b4781c029cca4",
"sha256": "c39a66a0a76ce4418f21988d5bf71524c39ca9411f35cdb3d275aec3066ff939"
},
"downloads": -1,
"filename": "judobase-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "def3b1bc603dd5d00c6b4781c029cca4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 16380,
"upload_time": "2025-02-11T11:06:29",
"upload_time_iso_8601": "2025-02-11T11:06:29.456110Z",
"url": "https://files.pythonhosted.org/packages/9a/00/7f410e72e981884e3849e94d7432772918c367791777b9a62193013c5bb4/judobase-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-11 11:06:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DavidDzgoev",
"github_project": "judobase",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "judobase"
}