https://github.com/drxxmy/osu-bookmarks-api
osu!bookmarks - an API to manage collections of osu!beatmaps
https://github.com/drxxmy/osu-bookmarks-api
fastapi osu python
Last synced: 2 months ago
JSON representation
osu!bookmarks - an API to manage collections of osu!beatmaps
- Host: GitHub
- URL: https://github.com/drxxmy/osu-bookmarks-api
- Owner: drxxmy
- Created: 2025-06-06T20:25:24.000Z (about 1 year ago)
- Default Branch: v1
- Last Pushed: 2025-06-08T19:05:30.000Z (about 1 year ago)
- Last Synced: 2025-06-08T20:19:20.100Z (about 1 year ago)
- Topics: fastapi, osu, python
- Language: Python
- Homepage:
- Size: 90.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# osu!bookmarks API 📌



A modern Python project with FastAPI, SQLAlchemy, and osu! API integration.
### Built With đź’™



## Table of Contents đź“–
- [Install dependencies](#dependencies)
- [Setup API keys](#api-keys)
- [Usage](#usage)
- [Documentation](#documentation)
## Dependencies 🛠️
While in the projects directory, execute the following command to create a virtual environment and install dependencies:
```bash
$ uv sync
```
## API keys đź”’
In case of questions, first refer to [ossapi documentation](https://tybug.github.io/ossapi/index.html).
### 1. Create OAuth client
First, we’ll need to create an OAuth client.
Navigate to your [settings page](https://osu.ppy.sh/home/account/edit#oauth) and click “New OAuth Application”. You can name it anything you like, but choose a callback url on localhost. For example, http://localhost:3914/. Any port greater than 1024 is fine as long as you don’t choose something another application is using.
When you create the application, it will show you a client id and secret. Take note of these two values.
### 2. Edit .env file
Rename `.env.example` file to `.env` and edit accordingly:
```.env
OSU_CLIENT_ID=your_client_id
OSU_CLIENT_SECRET=your_client_secret
```
## Usage 🖥️
Start API server by executing:
```bash
$ fastapi dev app/main.py
```
## Documentation đź“„
After running the FastAPI server, you can access documentation either via [Swagger UI](http://127.0.0.1:8000/api/v1/docs) or [ReDoc](http://127.0.0.1:8000/api/v1/redoc)