AA wanderer
Project description
aa-wanderer-map
Alliance Auth application linking your auth with a wanderer instance.
This is a maintained fork of the original aa-wanderer by T'rahk Rokym, which includes bug fixes and improvements.
Recent Updates
v0.1.5 - Fixed migration errors and improved database table initialization handling
Credit to:
- T'rahk Rokym for the original aa-wanderer implementation
- A-A-Ron for his work on allianceauth-multiverse without which multiple services wouldn't have been possible
Planned features
- Wanderer ACL management through the auth
Usage
Currently, I recommend keeping a normal wanderer access list on your map that you configure yourself.
You can add your corporation/alliance on this access list to make sure that all mains can easily open your map.
It also allows you to add another group if needed during a joint op.
The application will create another access list that will be fully managed and shouldn't be manually edited.
The only thing you can change on that access list is moving some characters to admin or manager to keep an overview.
But even these admin/manager characters will be removed from the access list if they lose access to the service.
Installation
Step 1 - Check prerequisites
- aa-wanderer is a plugin for Alliance Auth. If you don't have Alliance Auth running already, please install it first before proceeding. (see the official AA installation guide for details)
- You need to have a map with administrator access on wanderer to recover the map API key that will be used to create a new access list.
Step 2 - Install app
Make sure you are in the virtual environment (venv) of your Alliance Auth installation. Then install the newest release from PyPI:
pip install aa-wanderer-map
Step 3 - Configure Auth settings
Configure your Auth settings (local.py) as follows:
- Add
'wanderer'toINSTALLED_APPS - Add below lines to your settings file:
CELERYBEAT_SCHEDULE['wanderer_cleanup_access_lists'] = {
'task': 'wanderer.tasks.cleanup_all_access_lists',
'schedule': crontab(minute='0', hour='*/1'),
}
Step 4 - Finalize App installation
Run migrations & copy static files
python manage.py migrate
python manage.py collectstatic --noinput
Restart your supervisor services for Auth.
Commands
The following commands can be used when running the module:
| Name | Description |
|---|---|
wanderer_cleanup_acls |
Will execute the cleanup command on all your managed maps and update their access lists. |
Development
Development Setup
If you want to contribute to this project or test it locally, follow these steps:
1. Install System Dependencies
Before setting up the development environment, you need to install system-level dependencies required by Alliance Auth:
Ubuntu/Debian:
sudo apt-get update
sudo apt-get install -y pkg-config python3-dev default-libmysqlclient-dev build-essential git redis-server
Or for MariaDB:
sudo apt-get install -y pkg-config python3-dev libmariadb-dev build-essential git redis-server
Fedora/RHEL/CentOS:
sudo dnf install -y pkg-config python3-devel mysql-devel gcc git redis
macOS:
brew install pkg-config mysql redis git
2. Clone the Repository
git clone https://github.com/guarzo/aa-wanderer-map.git
cd aa-wanderer-map
3. Create Virtual Environment
Using the setup script (recommended):
# Make the script executable
chmod +x dev-setup.sh
# Run the setup script
./dev-setup.sh
Manual setup:
# Create virtual environment
python3 -m venv venv
# Activate virtual environment
source venv/bin/activate # On Linux/Mac
# or
venv\Scripts\activate # On Windows
# Upgrade pip
pip install --upgrade pip
# Install development dependencies
pip install -e .
pip install tox black isort flake8
4. Running Tests
# Activate venv if not already activated
source venv/bin/activate
# Run all tests with tox
tox
# Run specific Python version tests
tox -e py310-django42
# Check code formatting
black --check .
# Format code
black .
# Check import sorting
isort . --check-only
# Sort imports
isort .
# Run linter
flake8 wanderer/
# Run pylint
tox -e pylint
5. Building the Package
# Install build tools
pip install build
# Build the package
python -m build
# Check the built package
ls -la dist/
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Format your code:
black . && isort . - Run tests:
tox - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Troubleshooting
mysqlclient Build Errors
If you encounter errors like Can not find valid pkg-config name or mysql_config not found:
Solution: Install the required system packages:
# Ubuntu/Debian
sudo apt-get install pkg-config python3-dev default-libmysqlclient-dev build-essential
# Fedora/RHEL/CentOS
sudo dnf install pkg-config python3-devel mysql-devel gcc
# macOS
brew install pkg-config mysql
Then retry the setup.
Redis Connection Errors
If tests fail with Redis connection errors:
# Start Redis
redis-server --daemonize yes
# Or on macOS with Homebrew
brew services start redis
Code Formatting Issues
To format your code properly:
# Auto-format with Black
black .
# Sort imports
isort .
# Check for issues
flake8 wanderer/
# Then commit the changes
git add .
git commit -m "Fix formatting"
Reporting Issues
Please report issues on the GitHub issue tracker.
Include:
- Steps to reproduce
- Expected behavior
- Actual behavior
- Your Python version
- Your Alliance Auth version
- Any relevant error messages
- Your operating system and version
Project details
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 aa_wanderer_map-0.1.5.tar.gz.
File metadata
- Download URL: aa_wanderer_map-0.1.5.tar.gz
- Upload date:
- Size: 21.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 |
cb94b56fdb342674e82517b6b81a305f5c0c983cc511f7623f43e8abbb967c2e
|
|
| MD5 |
2e6e5106cd063a0b09456d8b8716d27c
|
|
| BLAKE2b-256 |
9b6ee03e95fa5b943cf92d85c2f37ae063c8d65a574105b931e3935bb7c3486b
|
Provenance
The following attestation bundles were made for aa_wanderer_map-0.1.5.tar.gz:
Publisher:
publish.yml on guarzo/aa-wanderer-map
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aa_wanderer_map-0.1.5.tar.gz -
Subject digest:
cb94b56fdb342674e82517b6b81a305f5c0c983cc511f7623f43e8abbb967c2e - Sigstore transparency entry: 641779498
- Sigstore integration time:
-
Permalink:
guarzo/aa-wanderer-map@529451ab4384c6f1d424389b1b111f8a996faa28 -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/guarzo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@529451ab4384c6f1d424389b1b111f8a996faa28 -
Trigger Event:
release
-
Statement type:
File details
Details for the file aa_wanderer_map-0.1.5-py3-none-any.whl.
File metadata
- Download URL: aa_wanderer_map-0.1.5-py3-none-any.whl
- Upload date:
- Size: 24.5 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 |
d0d0d45bfc4605b7f0f46845ae2f37668d654c7b732db908f959e724324ea07f
|
|
| MD5 |
4f2bbeee3872b0c637d1401b44d37e44
|
|
| BLAKE2b-256 |
ad75ac05fbc840705297ede99a4edf7d53b2510aa423ca49002797754f6d201d
|
Provenance
The following attestation bundles were made for aa_wanderer_map-0.1.5-py3-none-any.whl:
Publisher:
publish.yml on guarzo/aa-wanderer-map
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aa_wanderer_map-0.1.5-py3-none-any.whl -
Subject digest:
d0d0d45bfc4605b7f0f46845ae2f37668d654c7b732db908f959e724324ea07f - Sigstore transparency entry: 641779502
- Sigstore integration time:
-
Permalink:
guarzo/aa-wanderer-map@529451ab4384c6f1d424389b1b111f8a996faa28 -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/guarzo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@529451ab4384c6f1d424389b1b111f8a996faa28 -
Trigger Event:
release
-
Statement type: