An awesome-style list of osu! projects built by the community. Circle People is not affiliated with & does not endorse any projects listed here.
| URL | Description/Notes |
|---|---|
| osu! | The official website for the rhythm game osu!. |
| osu!lazer | osu!lazer source code, the next generation client for osu! |
| osu!stream | An official port of osu! on iOS and Android devices from a past era. |
| osu!web | osu!'s website source code |
| osu!wiki | The home of the community-managed wiki for osu! |
| osu!framework | The framework that powers osu!, including features that can be used to make other games/applications |
| other osu! projects | Other official osu!team projects can be found here. |
🤔 You may want to check out osu!lazer
Neither of these are official, however many users have reported success with these methods.
servers*, but may be useful for practice, writing tools or other things.
| Client | Description |
|---|---|
| opsu! | An unofficial open-source osu! client written in Java |
| McOsu | An osu! client designed for practice, with VR support |
| osu!droid | An open-source fanmade client of osu! for the Android platform |
| URL | Description/Notes |
|---|---|
| Custom ruleset directory | Official directory for lazer custom rulesets |
| Mirror | Description/Notes |
|---|---|
| Beatconnect | Comprehensive beatmap mirror with API support |
| Nerinyan | |
| osu.direct | |
| Mino |
| Bot | Description/Notes |
|---|---|
| owo! | Popular osu! tracking and score bot |
| Sunny | osu! bot with support for restricted users and osu! login |
| Bathbot | Feature-rich bot for osu! |
| Quna | Actively developed osu! bot that supports unranked score submission |
| MissAnalyzer | osu! bot for replay analysis |
| Yuna | osu! replay recording bot |
| Shisha | osu! replay recording bot approved by the creator of danser |
| Sombrax79 | Bot for stamina training recommendations |
| Bot | Description/Notes |
|---|---|
| Tillerino | Bot for beatmap recommendations |
| Sombrax79 | Bot for stamina training recommendations |
| Elitebotix | A osu! bot focused around tournaments and analysis. |
| goeobot | Actively maintained irc bot for beatmap recommendations |
| Bot | Description/Notes |
|---|---|
| AutoHost | osu!'s official autohost bot. |
| osu-ahr | Auto Host Rotation bot for osu! multiplayer. |
| script-chan | A bot used to create and handle matches/players easily. |
| Tool | Description |
|---|---|
| StreamCompanion | A tool for streamers featuring a PP counter, map overlays, and more! |
| gosumemory | Cross-Platform memory reader for osu! featuring web-based & in-game pp counters. |
| Ronnia | Twitch bot for linking maps from Twitch to ingame chat |
| Danser | High fps video creation tool for osu! replays. |
| tosu | Eponymous software for reading osu! memory, accounting for most of gosumemory's issues |
- osuplus - requires osu!APIv1 key
- osu!web enhanced
- osu!web color changer
| URL | Description |
|---|---|
| CollectionManager | An extensive tool for creating, editing, and exporting of osu! collections. |
| osuCollector! | Explore curated beatmap collections from fellow players. |
| osu-pps | A list of the most overweighted maps in osu!. |
| URL | Description |
|---|---|
| storybrew | Storyboard generator for osu! |
| Mapset Verifier | A desktop app which tests quantifyable issues in osu! beatmapsets. |
| Mapping Tools | Tools for manipulating beatmaps |
| bezier-approximation | Bezier curve approximator |
| Image to Anchors | Tool for converting images to slider anchors for view in the osu! editor. |
| Mapperator | Efficient beatmap pattern search and beatmap construction based on features like rhythm & distance |
| osu-collaboration-bot | A Discord bot meant to streamline the organisation of mapping collabs for osu! |
| beatmap-viewer-web | Open-source browser-based beatmap viewer |
| URL | Description |
|---|---|
| osuskinner | Online tool for skin mixing and creation. |
| URL | Description/Notes |
|---|---|
| Circle People | Skins from many top players featured on the channel. |
| rudj skinhub | Collection of skin sources from many players |
| Skinship Compendium | A comprehensive archive of all completed skins from the osu!forum. |
| Osuck Skins | Discover a vast selection of osu!skins in one convenient place. |
| URL | Description/Notes |
|---|---|
| OsuSkinMixer | Mix and manage your osu! skins with ease! |
| OsuSkinChecker | Simple program to check if all the elements for an osu! skin are present. |
| Osuck's skin.ini editor | Create your skin.ini file via a web interface. |
⚠ These libraries are maintained by the community, and may have minor differences from the official API. Your mileage may vary.
| Library | Language | Description/Notes |
|---|---|---|
| aiosu | python | Async Python library for everything osu! related |
| ossapi | python | A definitive python wrapper for the osu! api. |
| osu-api-extended | typescript | Package for advanced work with "osu" api |
| rosuv1 / rosuv2 | rust | A rust wrapper for osu!api v1 / v2. |
| OsuSharp | c# | Unofficial wrapper for the osu! API (V1, V2) written in C# and compatible with .NET 5 |
| osu.py | python | A minimal async python wrapper for the osu API |
| Library | Language | Description/Notes |
|---|---|---|
| rosu-pp | rust | Standalone crate to calculate star ratings and performance points for all osu! gamemodes |
| osu-classes | typescript | Rewrite of the basic class structure of osu!lazer in TypeScript |
| osu-parsers | typescript | A bundle of TS parsers for all osu! data formats |
| osu-pp-calculator | typescript | The most up-to-date TS star rating/performance calculator library |
| gosu-pp | go | Port of osu!lazer difficulty and performance calculator in go |
| rosu-pp-py | python | Python bindings for rosu-pp |
| rosu-pp-js | javascript | JS bindings for rosu-pp |
| akatsuki-pp-go | golang | Go bindings for rosu-pp |
| akatsuki-pp | c# | c# bindings for rosu-pp |
| akatsuki-pp-js | javascript | JS bindings for akatsuki-pp |
| bancho.js | javascript | ThePoon's bancho library |
| slider | python | osu! file format parser |
| mapping_tools_core | c# | C# library for interacting with beatmaps |
| aiordr | python | Python library for replay recording |
| URL | Description/Notes |
|---|---|
| osu! matchmaking | Competitive matchmaking system for osu! |
| osumapper | An automatic beatmap generator using Tensorflow / Deep Learning. |
| Osekai.net | the home of alternative rankings, in-depth profile info, medal solutions, hundreds of versions, and more |
| Rewind | A beatmap/replay analyzer for the rhythm game called osu! |
| CircleGuard | A tool to help you analyze osu! replays. |
| minipad | Open-Source wooting-like analog keypad with rapid trigger |
| osu! batch beatmap downloader | Tool for easily downloading large amounts of osu! maps |
| FunOrange's osu!trainer | A tool that allows you to modify the difficulty of a beatmap very easily. |
| OpenTabletDriver | Open source, cross-platform, user-mode tablet driver |
| PMDF | Library for interacting with in-memory values, used for StreamCompanion |
| wysi | Open-source osu website alternative with player setup details. |
| huismetbenen | Osu PP rankings alternatives supporting simulation of pp reworks. |
Feel free to join the Discord above and join the thread for this list if you want to improve it! Alternatively, create a discussion if you want to discuss here on GitHub.
This document is a work in progress. Feel free to improve it by:
- Adding new, unique projects.
- Improving formatting.
- Updating statuses of projects that have been abandoned.
Please follow these guidelines when adding a project:
- Familiarize yourself with Markdown so you don't break things.
- This goes without saying, but it should be relevant to osu!.
- It also should not break osu! rules (ex. tools that give advantages that interact with the client, custom servers, etc.) If you don't know, ask.
- Provide some (concise) details about your project.
- Avoid using link shorteners when possible.
- These are hard to moderate and deal with, hard links are appreciated (ex. A clean Discord invite link, a website, or a Git page for your bot)
- Long links can be dealt with by using reference style links. This helps people using the web editor to help readability.
- If you link to another project in the description that is already on this page, use a reference style link as well.
- When using the GitHub web editor use
No wrapoption so it doesn't look terrible when editing long tables.
This document is released under the CC BY-SA 4.0 license. "osu!" and "ppy" are trademarks of ppy Pty Ltd. & are not affiliated with Circle People.