circleapi


Namecircleapi JSON
Version 2024.1.6.1 PyPI version JSON
download
home_page
SummaryUnoffical osu! apiv2 python wrapper
upload_time2024-01-06 19:50:29
maintainer
docs_urlNone
authormiinorii
requires_python>=3.10
license
keywords osu! apiv2 wrapper
VCS
bugtrack_url
requirements httpx msgspec python-dotenv
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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"
}
        
Elapsed time: 0.21795s