{"id":9429,"library":"aa-structures","title":"AA Structures","description":"AA Structures (aa-structures) is an Alliance Auth app designed to manage Eve Online structures. It provides tools for tracking, managing ownership, and handling timers for structures within an Alliance Auth installation. Currently at version 3.3.1, it receives updates for compatibility with Alliance Auth and new features, generally aligning with Alliance Auth's release cycle.","status":"active","version":"3.3.1","language":"python","source_language":"en","source_url":"https://github.com/pvyParts/aa-structures","tags":["allianceauth","eve online","django app","structures","gaming"],"install":[{"cmd":"pip install aa-structures","lang":"bash","label":"Install the package"}],"dependencies":[{"reason":"Core platform dependency for the app to function. Requires Alliance Auth v3.0.0 or higher.","package":"allianceauth","optional":false}],"imports":[{"note":"Class name for Eve Online structures. The module path changed in v3.0.0 from `structure_tracker` to `aa_structures` during the Alliance Auth 3.x rewrite.","wrong":"from structure_tracker.models import Structure","symbol":"Structure","correct":"from aa_structures.models import Structure"},{"note":"Example of accessing an app-specific setting directly within Python code. Most settings are configured via Django settings (e.g., in `local.py`).","symbol":"AA_STRUCTURES_ENABLE_STRUCTURE_OWNERSHIP","correct":"from aa_structures.app_settings import AA_STRUCTURES_ENABLE_STRUCTURE_OWNERSHIP"}],"quickstart":{"code":"# Assuming an existing Alliance Auth v3.x installation\n\n# 1. Install the package\n# pip install aa-structures\n\n# 2. Add 'aa_structures' to INSTALLED_APPS in your Alliance Auth local.py\n# local.py\n# INSTALLED_APPS = [\n#     ...,\n#     'aa_structures'\n# ]\n\n# 3. Apply database migrations\n# python manage.py migrate aa_structures\n\n# 4. Collect static files (if not already done)\n# python manage.py collectstatic --noinput\n\n# 5. Restart Gunicorn/Celery if running in production\n# systemctl restart gunicorn\n# systemctl restart celery","lang":"python","description":"To quickly integrate AA Structures into an existing Alliance Auth v3.x installation, follow these steps. This setup adds the app to your Django project, applies necessary database schema changes, and prepares static assets for the web server."},"warnings":[{"fix":"Update your 'INSTALLED_APPS' from 'structure_tracker' to 'aa_structures' in `local.py`. If you were importing models or other components directly, update paths from 'structure_tracker.<module>' to 'aa_structures.<module>'. Ensure your Alliance Auth installation is also updated to v3.0.0 or higher.","message":"Major version 3.0.0 of `aa-structures` introduced breaking changes by renaming the app's internal module path from `structure_tracker` to `aa_structures` to align with Alliance Auth 3.x.","severity":"breaking","affected_versions":"<3.0.0 -> >=3.0.0"},{"fix":"Before installing `aa-structures`, ensure your Alliance Auth installation is updated to v3.0.0 or later. Consult the Alliance Auth upgrade guide for major version upgrades.","message":"`aa-structures` requires Alliance Auth v3.0.0 or higher. Installing it on an older Alliance Auth version (e.g., v2.x) will lead to compatibility issues, errors, or a non-functional app.","severity":"gotcha","affected_versions":"All versions"},{"fix":"After adding `aa_structures` to `INSTALLED_APPS` and running `pip install aa-structures`, always execute `python manage.py migrate aa_structures` to apply database schema changes.","message":"Failure to run database migrations after installing or upgrading `aa-structures` will result in database errors (e.g., 'table does not exist' or 'relation \"...\" does not exist') when the app tries to access its models.","severity":"gotcha","affected_versions":"All versions"},{"fix":"In the Alliance Auth admin panel, navigate to 'Groups & Permissions', create or edit a group, and assign relevant `aa_structures` permissions (e.g., 'Can see structures', 'Can manage timers'). Ensure users are assigned to a group with these permissions.","message":"Users may not see the AA Structures app links or data within Alliance Auth even after successful installation if proper permissions are not configured.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"search_vec":"'3.3.1':39 'aa':1,3,6 'aa-structur':5 'align':52 'allianc':10,33,46,54 'allianceauth':59 'app':12,63 'auth':11,34,47,55 'compat':44 'current':36 'cycl':58 'design':13 'django':62 'eve':16,60 'featur':50 'game':65 'general':51 'handl':27 'instal':35 'manag':15,24 'new':49 'onlin':17,61 'ownership':25 'provid':20 'receiv':41 'releas':57 'structur':2,4,7,18,30,64 'timer':28 'tool':21 'track':23 'updat':42 'version':38 'within':31","created_at":"2026-04-17T01:18:52.977837+00:00","updated_at":"2026-04-17T01:18:52.977837+00:00","problems":{"verify_error":"× Failed to build `mysqlclient==2.2.8`\n  ├─▶ The build backend returned an error\n  ╰─▶ Call to `setuptools.build_meta.build_wheel` failed (exit status: 1)\n\n      [stdout]\n      Trying pkg-config --exists mysqlclient\n      Command 'pkg-config --exists mysqlclient' returned non-zero exit status\n      "},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"4.0.1","cli_name":"","cli_version":null,"type":"library","homepage":"https://gitlab.com/ErikKalkoken/aa-structures","github":null,"docs":"https://aa-structures.readthedocs.io/en/latest/","changelog":"https://gitlab.com/ErikKalkoken/aa-structures/-/blob/master/CHANGELOG.md","pypi":"https://pypi.org/project/aa-structures/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["crm-productivity"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"install_fail","verified_at":"2026-06-28","last_verified":"2026-06-28","next_check":"2026-07-05","install_tag":null}}