Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
July 26, 2021 16:08
December 22, 2022 21:48
June 16, 2021 13:03
June 16, 2021 13:03
December 23, 2022 13:46
January 11, 2023 22:39
July 28, 2021 13:21
June 16, 2021 12:58
January 19, 2022 17:34
June 27, 2021 21:09

Table of Contents

What is guweb?

guweb is the front-facing appearance of the osu! server protocol, gulag! Using native async/await syntax written on top of Quart and cmyui's multipurpose library, guweb achieves flexability, cleanliness, and efficiency not seen in other frontend implementations - all while maintaining the simplicity of Python.


  • Some know-how with Linux (tested on Ubuntu 18.04), Python, and general-programming knowledge.
  • MySQL


Setup is relatively simple - these commands should set you right up.


  • Ubuntu 20.04 is known to have issues with NGINX and osu! for unknown reasons?
  • If you have any difficulties setting up guweb, feel free to join the Discord server at the top of the README, we now have a bit of a community!
# Install Python >=3.9 and latest version of PIP.
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9 python3.9-dev python3.9-distutils
python3.9 && rm

# Install MySQL and NGINX.
sudo apt install mysql-server nginx

# Clone guweb from GitHub.
git clone
cd guweb

# Initialize and update the submodules.
git submodule init && git submodule update

# Install requirements from pip.
python3.9 -m pip install -r ext/requirements.txt

# Add and configure guweb's NGINX config to your nginx/sites-enabled.
sudo ln -r -s ext/nginx.conf /etc/nginx/sites-enabled/guweb.conf
sudo nano ext/nginx.conf
sudo nginx -s reload

# Configure guweb.
cp ext/

# Run guweb (on port 8000).
python3.9 # Run directly to access debug features for development!
hypercorn # Please run guweb with hypercorn when in production! It will improve performance drastically by disabling all of the debug features a developer would need!

Directory Structure

β”œβ”€β”€ blueprints   # Modular routes such as the API, Frontend, or Admin Panel.
β”œβ”€β”€ docs         # Markdown files used in guweb's documentation system.
β”œβ”€β”€ ext          # External files from guweb's primary operation.
β”œβ”€β”€ objects      # Code for representing privileges, global objects, and more.
β”œβ”€β”€ static       # Code or content that is not modified or processed by guweb itself.
β”œβ”€β”€ templates    # HTML that contains content that is rendered after the page has loaded.
    β”œβ”€β”€ admin    # Templated content for the admin panel (/admin).
    β”œβ”€β”€ settings # Templated content for settings (/settings).
    β”” ...         # Templated content for all of guweb (/).

The team

  • Yoru | Backend, Grammar Checking [Deprecated]
  • Varkaria | Frontend, Backend?

The End

Well know that you know everything, why not check out the original code guweb was based off of in this i think i should continue this work to finish work?


The frontend appearance for the osu! server protocol, gulag! 🧢




Security policy





No releases published


No packages published