Automatically sync new DDR simfiles from Zenius-I-Vanisher to your local Stepmania Songs folder
Project description
zenius-auto-download
Automatically sync new DDR simfiles from Zenius-I-Vanisher to your local Stepmania Songs folder.
Run it whenever you want to check for updates — it tracks what you already have and only downloads what's new.
Requirements
- Python 3.10 or newer
Installation
Option A — Install via pip (recommended)
pip install zenius-downloader
This gives you the zenius-update command globally.
Option B — Run from source
git clone https://github.com/YOUR_USERNAME/zenius-auto-download.git
cd zenius-auto-download
pip install -e .
Setup
Run the interactive setup wizard to pick your games and configure your Songs folder:
zenius-update --init
This fetches the list of official DDR/Dance Stage releases from Zenius, lets you select which ones to sync, and writes config.json for you.
Alternatively, copy and edit the config manually:
cp config.example.json config.json
{
"category_urls": [
"https://zenius-i-vanisher.com/v5.2/viewsimfilecategory.php?categoryid=1709"
],
"download_dir": "C:/Games/StepMania 5/Songs",
"delay_seconds": 2.0,
"skip_videos": false
}
Run
zenius-updatefrom the same folder as yourconfig.json.
Usage
# First-time setup: pick your games interactively
zenius-update --init
# Download all new simfiles
zenius-update
# Preview what would be downloaded (no files touched)
zenius-update --dry-run
# List all simfiles on the site and their download status
zenius-update --list
# Force re-download a specific simfile by ID
zenius-update --force-id 63195
Config options
| Key | Description | Default |
|---|---|---|
category_urls |
List of Zenius category page URLs to sync | DDR WORLD category |
download_dir |
Path to your Stepmania Songs folder | (required) |
delay_seconds |
Pause between downloads (be polite to the server) | 2.0 |
skip_videos |
Skip .avi video files when extracting ZIPs |
false |
To sync multiple categories, add more URLs to the category_urls list:
"category_urls": [
"https://zenius-i-vanisher.com/v5.2/viewsimfilecategory.php?categoryid=1709",
"https://zenius-i-vanisher.com/v5.2/viewsimfilecategory.php?categoryid=XXXX"
]
Automatic scheduling (optional)
Windows — Task Scheduler
- Open Task Scheduler and click Create Basic Task
- Set the trigger (e.g. daily)
- Set the action to:
zenius-update - Set Start in to the folder containing your
config.json
macOS / Linux — cron
crontab -e
Add a line to run daily at 9am:
0 9 * * * cd /path/to/your/config/folder && zenius-update
How it works
- Fetches each configured category page and scrapes all simfile IDs
- Compares against
state.json(tracks what you've already downloaded) - Downloads each new simfile as a ZIP, extracts it into your Songs folder, deletes the ZIP
- Updates
state.jsonafter each successful download — safe to interrupt at any time
Troubleshooting
"Bad ZIP" error — Some files on Zenius may require a logged-in account to download. Login support is planned for a future version.
Songs folder not updating — Make sure download_dir in config.json points to the correct Stepmania Songs/ subfolder, not the Stepmania root.
zenius-update is not recognized — Python's Scripts folder isn't in your PATH. Either add it (find it with py -c "import sysconfig; print(sysconfig.get_path('scripts'))"), or use the module form instead:
py -m zenius_downloader --init
py -m zenius_downloader
py -m zenius_downloader --dry-run
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zenius_downloader-0.3.0.tar.gz.
File metadata
- Download URL: zenius_downloader-0.3.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f28650048aee7c04a14bb4295e416b1f56146e929ffd493c465c0d8e95dd66b
|
|
| MD5 |
abecc12502454c43fafd359959db2911
|
|
| BLAKE2b-256 |
95fddbbcbb6f6ff064a4cc2df2fe1bf90762d309eb80bbf052a6346fa7c2c37a
|
File details
Details for the file zenius_downloader-0.3.0-py3-none-any.whl.
File metadata
- Download URL: zenius_downloader-0.3.0-py3-none-any.whl
- Upload date:
- Size: 11.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3997be4d846fd880bd5e3b3188e13cbb40ff4e3000d9e7b0544376769d7e32df
|
|
| MD5 |
f8f937a9a603c1c76f7fda0579de0f08
|
|
| BLAKE2b-256 |
a2110ed1255101f6a9d1b4ff9a5a8f1aeeffea55297cfcb1ec1524c71ec8da6c
|