circleapi
---------
Yet another python wrapper for osu! api
Take a look at the "examples" folder for typical use cases.
Disclaimer
----------
circleapi was made with my needs in mind (token management, massive concurrency, easy logging, async support), unless you know what you're doing I would highly recommend using another wrapper ([aiosu](https://github.com/NiceAesth/aiosu), [ossapi](https://github.com/circleguard/ossapi))
Main features
-------------
- Built with high concurrency in mind (thread safe, coroutine safe)
- Optional async support
- Reusable Oauth2 token (api v2)
- Automatic Oauth2 token refresh (api v2)
- Built-in rate limiting
- Built-in thread support
- Strict response validation (msgspec)
Installation
------------
```bash
$ pip install circleapi
```
Development setup
```bash
$ git clone https://github.com/miinorii/circleapi.git
$ cd circleapi
$ python -m venv venv
$ venv/bin/activate # linux
$ venv/Scripts/activate.bat # windows
$ pip install -r requirements.txt
$ pip install -e .
```
Supported endpoints
---------
- osu api v2
- beatmap_lookup
- get_user_beatmap_score
- get_user_beatmap_scores
- get_beatmap_scores
- get_beatmaps
- get_beatmap
- get_beatmap_attributes
- get_score
- get_own_data
- osu.lea.moe
- get_ranked_ids
- get_loved_ids
- get_ranked_and_loved_ids
Raw data
{
"_id": null,
"home_page": "",
"name": "circleapi",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "",
"keywords": "osu!,apiv2,wrapper",
"author": "miinorii",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/a3/d2/00983d4fb140458461ae5678d086ab237a120beab556aef77680dff31b78/circleapi-2024.1.6.1.tar.gz",
"platform": null,
"description": "circleapi\r\n---------\r\n\r\nYet another python wrapper for osu! api\r\n\r\nTake a look at the \"examples\" folder for typical use cases.\r\n\r\nDisclaimer\r\n----------\r\n\r\ncircleapi was made with my needs in mind (token management, massive concurrency, easy logging, async support), unless you know what you're doing I would highly recommend using another wrapper ([aiosu](https://github.com/NiceAesth/aiosu), [ossapi](https://github.com/circleguard/ossapi))\r\n\r\nMain features\r\n-------------\r\n\r\n- Built with high concurrency in mind (thread safe, coroutine safe)\r\n- Optional async support\r\n- Reusable Oauth2 token (api v2)\r\n- Automatic Oauth2 token refresh (api v2)\r\n- Built-in rate limiting\r\n- Built-in thread support\r\n- Strict response validation (msgspec)\r\n\r\nInstallation\r\n------------\r\n\r\n```bash\r\n$ pip install circleapi\r\n```\r\n\r\nDevelopment setup\r\n```bash\r\n$ git clone https://github.com/miinorii/circleapi.git\r\n$ cd circleapi\r\n$ python -m venv venv\r\n$ venv/bin/activate # linux\r\n$ venv/Scripts/activate.bat # windows\r\n$ pip install -r requirements.txt\r\n$ pip install -e .\r\n```\r\n\r\nSupported endpoints\r\n---------\r\n\r\n- osu api v2\r\n - beatmap_lookup\r\n - get_user_beatmap_score\r\n - get_user_beatmap_scores\r\n - get_beatmap_scores\r\n - get_beatmaps\r\n - get_beatmap\r\n - get_beatmap_attributes\r\n - get_score\r\n - get_own_data\r\n- osu.lea.moe\r\n - get_ranked_ids\r\n - get_loved_ids\r\n - get_ranked_and_loved_ids\r\n\r\n\r\n\r\n\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "",
"summary": "Unoffical osu! apiv2 python wrapper",
"version": "2024.1.6.1",
"project_urls": {
"Homepage": "https://github.com/miinorii/circleapi",
"Issues": "https://github.com/miinorii/circleapi/issues"
},
"split_keywords": [
"osu!",
"apiv2",
"wrapper"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a3e6441fb960d131c0c76c6608d62a98c483c618036f92f2e0fba33d227de2fc",
"md5": "e129233718c852f6f4e710ac0d39463f",
"sha256": "0ca12c767f75ab483a0686cc1fc859adfc1bf26bb79f7637d1b8904a7d3b5a95"
},
"downloads": -1,
"filename": "circleapi-2024.1.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e129233718c852f6f4e710ac0d39463f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 17176,
"upload_time": "2024-01-06T19:50:28",
"upload_time_iso_8601": "2024-01-06T19:50:28.333464Z",
"url": "https://files.pythonhosted.org/packages/a3/e6/441fb960d131c0c76c6608d62a98c483c618036f92f2e0fba33d227de2fc/circleapi-2024.1.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a3d200983d4fb140458461ae5678d086ab237a120beab556aef77680dff31b78",
"md5": "17b2192a61558ef354f858583bf7f491",
"sha256": "27bf496bc8cb4e086f0bc8db96eef71bf58b044f1b6b9cfb5b1382634574e226"
},
"downloads": -1,
"filename": "circleapi-2024.1.6.1.tar.gz",
"has_sig": false,
"md5_digest": "17b2192a61558ef354f858583bf7f491",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 14430,
"upload_time": "2024-01-06T19:50:29",
"upload_time_iso_8601": "2024-01-06T19:50:29.412431Z",
"url": "https://files.pythonhosted.org/packages/a3/d2/00983d4fb140458461ae5678d086ab237a120beab556aef77680dff31b78/circleapi-2024.1.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-06 19:50:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "miinorii",
"github_project": "circleapi",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "httpx",
"specs": [
[
"==",
"0.25.2"
]
]
},
{
"name": "msgspec",
"specs": [
[
"==",
"0.18.5"
]
]
},
{
"name": "python-dotenv",
"specs": [
[
"==",
"1.0.0"
]
]
}
],
"lcname": "circleapi"
}