{"id":48560270,"url":"https://github.com/silvncr/osutool","last_synced_at":"2026-04-08T12:11:05.912Z","repository":{"id":242287152,"uuid":"803204491","full_name":"silvncr/osutool","owner":"silvncr","description":"wip multipurpose tool for osu! files","archived":false,"fork":false,"pushed_at":"2024-08-07T05:14:20.000Z","size":18,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-28T23:16:50.382Z","etag":null,"topics":["osugame","python-library"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/osutool","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/silvncr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-20T09:20:25.000Z","updated_at":"2025-08-31T17:48:28.000Z","dependencies_parsed_at":"2024-08-07T08:34:54.452Z","dependency_job_id":null,"html_url":"https://github.com/silvncr/osutool","commit_stats":null,"previous_names":["silvncr/osutool"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/silvncr/osutool","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvncr%2Fosutool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvncr%2Fosutool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvncr%2Fosutool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvncr%2Fosutool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/silvncr","download_url":"https://codeload.github.com/silvncr/osutool/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/silvncr%2Fosutool/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31554452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["osugame","python-library"],"created_at":"2026-04-08T12:11:05.335Z","updated_at":"2026-04-08T12:11:05.894Z","avatar_url":"https://github.com/silvncr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- omit from toc --\u003e\n# osutool\n\nmultipurpose tool for *osu!* files\n\n![version](https://img.shields.io/pypi/v/osutool)\n![status](https://img.shields.io/github/actions/workflow/status/silvncr/osutool/python-publish.yml)\n![downloads](https://img.shields.io/pypi/dm/osutool)\n\n![license](https://img.shields.io/github/license/silvncr/osutool)\n![python](https://img.shields.io/pypi/pyversions/osutool)\n\n## Summary\n\nProvides utility for compiling and extracting *osu!*-related filetypes.\n\n- :snake: Supports Python 3.8 and above. Tested on Windows 10.\n- :construction: Work in progress. Features are not finalised and may be unstable.\n- :arrows_clockwise: Pull requests are welcome!\n- :star: Show your support by leaving a star!\n\n\u003e osutool is not affiliated with *osu!*. For official information about *osu!*, visit [osu.ppy.sh](https://osu.ppy.sh).\n\n## Contents\n\n- [Summary](#summary)\n- [Contents](#contents)\n- [Features](#features)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Compilation (folders to files)](#compilation-folders-to-files)\n  - [Extraction (files to folders)](#extraction-files-to-folders)\n\n## Features\n\n- [x] convert beatmap/song folders to `.osz` files, and vice versa\n- [ ] convert skin folders to `.osk` files, and vice versa\n\n## Installation\n\n```sh\npython -m pip install --upgrade osutool\n```\n\n## Usage\n\nOpen a command line from the directory with the files you want to manipulate, then run osutool.\n\n```sh\n$ osutool\n\n [NOTICE]  | Mode is not set.\n [INPUT]   | Set mode to [c]ompile or [e]xtract. \u003e _\n```\n\n### Compilation (folders to files)\n\n```sh\n\u003e c\n```\n\nThe program will create a file for every applicable folder and subfolder. Files generated from subfolders will be placed in the same subfolder.\n\nEach file will be named after the folder it was created from.\n\n### Extraction (files to folders)\n\n```sh\n\u003e e\n```\n\nThe program will generate a folder for every file in the current folder and its subfolders. Folders generated from subfolders will be placed in the same subfolder.\n\nEach folder will be named after the file it was created from.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilvncr%2Fosutool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsilvncr%2Fosutool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsilvncr%2Fosutool/lists"}