Metadata-Version: 2.4
Name: osu-finder
Version: 1.0.5
Summary: Smart search and analysis of osu! maps using advanced filters and profiles
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: aiohttp>=3.8.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rosu-pp-py>=4.0.2
Requires-Dist: rich>=13.0.0

# osu! Map Finder

A high-performance command-line utility for searching, analyzing, and downloading osu! beatmaps based on advanced criteria and player profiles.

## Installation

```bash
pipx install osu-finder
```

## Configuration
You can automatically generate and populate your configuration file from any directory using the initialization command:

```Bash
osu-finder --init
```
Alternatively, you can provide parameters directly via arguments:

```
osu-finder --init --client-id "YOUR_CLIENT_ID" --client-secret "YOUR_CLIENT_SECRET" --songs-folder
```

This will create a config.yaml file with the following structure:

```YAML
credentials:
  client_id: "YOUR_CLIENT_ID"
  client_secret: "YOUR_CLIENT_SECRET"

paths:
  songs_folder: "C:/Users/YourName/AppData/Local/osu!/Songs"
  download_folder: "./downloads"

mirror:
  base_url: "[https://catboy.best](https://catboy.best)"
  osu_file_path: "/osu/{id}"
  osz_download_path: "/d/{id}"

network:
  proxy_url: "http://user:pass@proxy:port"
  fallback_to_direct: true

active_preset: "default"
blacklist: []
```

## Usage

### 1. Search and Download

Run the finder using your active preset:

```bash
osu-finder
```

Use a specific preset:

```bash
osu-finder --preset preset_name
```

### 2. Profile Analysis

Generate a customized search preset based on a player's top performance records:

```bash
osu-finder -u Username --focus stream
```

Available focus modes: balanced, stream, jump, push, farm.
Combine analysis and immediate execution:

```bash
osu-finder -u Username --focus farm --run-search
```

### 3. Blacklist Maps

Add an unwanted beatmap set ID to the global blacklist:

```bash
osu-finder --ban 1234567
```
