Add your description here
Project description
🧙♂️ Archivus
A command-line and (optional) TUI tool for syncing World of Warcraft addons, profiles, and configurations — across characters, accounts, and even friends.
⚠️ Disclaimer
This project was conceptualized and partially written with help from ChatGPT (GPT-5), serving as an assistant in ideation, naming, and boilerplate creation.
All final design, logic, and implementation are written and maintained by Eivind Teig.
✨ Overview
Archivus is a modern Python-based tool that goes beyond ordinary addon managers.
It doesn’t just download addons — it archives and syncs your complete World of Warcraft setup:
- 🧩 Addons
- ⚙️ Configurations
- 🧙 Character profiles
- 🪄 Pre-made collections (for sharing with friends or new characters)
Perfect for players who want to quickly bootstrap a new character or share a fully configured interface with others.
🚀 Quick start
1. Install
pip install archivus
2. Basic usage
# Sync your current setup to your WoW Retail folder
archivus sync --to /path/to/World\ of\ Warcraft/_retail_
# Optional TUI mode
archivus tui
If you have both batgrl and Textual installed, archivus tui will prefer batgrl automatically, falling back to textual if unavailable.
🧩 Features (planned and in progress)
| Status | Feature |
|---|---|
| ✅ | Typer-based CLI with subcommands |
| ⚙️ | batgrl and textual TUI backends |
| 🔄 | Sync addons and saved variables between characters |
| 📦 | Share complete setups with others |
| 🧠 | Smart detection of new or updated addons |
| ☁️ | (Planned) Remote sync backend using GitHub or Gist |
| 🧹 | (Planned) Backup & restore management |
🧭 CLI Examples
Export current addon setup to archive
archivus export --character "eivl"
# Import a shared profile
archivus import --from ./profiles/frost_archivus.zip
# List tracked addons and profiles
archivus list
🧱 Tech stack
Python ≥ 3.10 Typer batgrl (preferred TUI backend) Textual (fallback TUI) Rich Tomlkit httpx
🛠️ Development
Clone the repo and install in editable mode:
git clone https://github.com/eivl/archivus.git
cd archivus
pip install -e .[dev]
Run locally from source:
python -m archivus sync --to ~/Games/WoW/_retail_
📜 License
MIT License © Eivind Teig
🪶 Credits
Eivind Teig — design, code, vision
ChatGPT (GPT-5) — creative assistance and boilerplate generation
salt-die — author of batgrl, inspiration for the TUI backend
Blizzard Entertainment — creators of World of Warcraft (this tool is not affiliated with or endorsed by Blizzard Entertainment in any way)
💬 Feedback
Issues, ideas, or addon-sync suggestions? Open a GitHub Issue or reach out directly — contributions are welcome!
“Archivus remembers what others forget.” 🪶
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 archivus-0.1.0.tar.gz.
File metadata
- Download URL: archivus-0.1.0.tar.gz
- Upload date:
- Size: 2.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b89c2cf0f2fb55c12cdd718f9e769c9c7af1c924e0d3ba34795aa18fc13f3cd
|
|
| MD5 |
694f04bff129d763a4928aba2594b202
|
|
| BLAKE2b-256 |
250922ef369e50844f8421fdcdc76a9de4fca4876449c14681a42438e52f2e48
|
Provenance
The following attestation bundles were made for archivus-0.1.0.tar.gz:
Publisher:
python-publish.yml on eivl/archivus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
archivus-0.1.0.tar.gz -
Subject digest:
6b89c2cf0f2fb55c12cdd718f9e769c9c7af1c924e0d3ba34795aa18fc13f3cd - Sigstore transparency entry: 637635120
- Sigstore integration time:
-
Permalink:
eivl/archivus@a959128c136b063128aec09214d887e994c298b0 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/eivl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@a959128c136b063128aec09214d887e994c298b0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file archivus-0.1.0-py3-none-any.whl.
File metadata
- Download URL: archivus-0.1.0-py3-none-any.whl
- Upload date:
- Size: 3.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e76191a2e08ea174620bed2f0e8ae8a3a4c258fa1c332cc5e190d582ade05a15
|
|
| MD5 |
1d26061bc5b2d1016ea8e922805f61c2
|
|
| BLAKE2b-256 |
4e36bb3d6818799578f166abe6d9c51643e574632d4a7c248c0503ddce2743bb
|
Provenance
The following attestation bundles were made for archivus-0.1.0-py3-none-any.whl:
Publisher:
python-publish.yml on eivl/archivus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
archivus-0.1.0-py3-none-any.whl -
Subject digest:
e76191a2e08ea174620bed2f0e8ae8a3a4c258fa1c332cc5e190d582ade05a15 - Sigstore transparency entry: 637635121
- Sigstore integration time:
-
Permalink:
eivl/archivus@a959128c136b063128aec09214d887e994c298b0 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/eivl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@a959128c136b063128aec09214d887e994c298b0 -
Trigger Event:
push
-
Statement type: