judobase


Namejudobase JSON
Version 1.0.0 PyPI version JSON
download
home_pageNone
SummaryPython Judobase API async client
upload_time2025-02-11 11:06:29
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT
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

[![PyPI](https://img.shields.io/pypi/v/judobase)](https://pypi.org/project/judobase/)
[![Python](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/)
[![Downloads](https://img.shields.io/pypi/dm/judobase)](https://pypistats.org/packages/judobase)
[![License](https://img.shields.io/pypi/l/judobase)](https://opensource.org/licenses/MIT)
[![Docs](https://img.shields.io/badge/docs-stable-brightgreen)](https://daviddzgoev.github.io/judobase/)
[![Codecov](https://img.shields.io/codecov/c/gh/DavidDzgoev/judobase)](https://app.codecov.io/gh/DavidDzgoev/judobase)
[![Contributors](https://img.shields.io/github/contributors/DavidDzgoev/judobase)](https://github.com/DavidDzgoev/judobase/graphs/contributors)
[![Ruff](https://img.shields.io/badge/linting-ruff-orange)](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[![PyPI](https://img.shields.io/pypi/v/judobase)](https://pypi.org/project/judobase/)\n[![Python](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/)\n[![Downloads](https://img.shields.io/pypi/dm/judobase)](https://pypistats.org/packages/judobase)\n[![License](https://img.shields.io/pypi/l/judobase)](https://opensource.org/licenses/MIT)\n[![Docs](https://img.shields.io/badge/docs-stable-brightgreen)](https://daviddzgoev.github.io/judobase/)\n[![Codecov](https://img.shields.io/codecov/c/gh/DavidDzgoev/judobase)](https://app.codecov.io/gh/DavidDzgoev/judobase)\n[![Contributors](https://img.shields.io/github/contributors/DavidDzgoev/judobase)](https://github.com/DavidDzgoev/judobase/graphs/contributors)\n[![Ruff](https://img.shields.io/badge/linting-ruff-orange)](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"
}
        
Elapsed time: 7.54116s