Modern Python/PySide6 clone of the Neverwinter Nights Aurora Toolset
- Python 100%
|
Some checks failed
CI / check (push) Failing after 42s
- ruff format: reformat 47 files that drifted from style - ruff lint: fix B007/B905/RUF005 in merchant_properties, N802 in store_setup_wizard, E501 in main_window; noqa N806 on pre-existing in-function constants - mypy: fix WaypointGizmo not in _Renderable union (use _get_gizmo()), LoadedModule.res → resource_manager, list[Command] type for sub_cmds, pre-declare dlg: QDialog before if/elif, use res.list() not list_resources(), noqa arg-type for GFF value int cast, remove stale type: ignore comments |
||
|---|---|---|
| .forgejo/workflows | ||
| bioware-docs | ||
| docs | ||
| src/pyaurora | ||
| tests | ||
| .gitignore | ||
| LICENSE | ||
| Makefile | ||
| Pipfile | ||
| pyproject.toml | ||
| README.md | ||
| uv.lock | ||
pyaurora-toolset
Modern Python/PySide6 clone of the Neverwinter Nights Aurora Toolset.
Quickstart
uv sync
uv run pyaurora
On first launch the toolset auto-detects your NWN:EE installation. If detection fails you will be prompted to browse to the installation root manually.
Environment variables
| Variable | Purpose | Required |
|---|---|---|
NWNEE_HOME |
Path to the NWN:EE installation root (the directory containing chitin.key). Overrides auto-detection. |
No |
Auto-detection search order (first valid path wins):
NWNEE_HOMEenv var- Steam — platform default paths (Linux, Windows, macOS)
- GOG — platform default paths (Windows, macOS)
If no installation is found automatically, set NWNEE_HOME explicitly:
export NWNEE_HOME="/path/to/Neverwinter Nights"
uv run pyaurora
Development
uv sync --group dev
make check # format check + lint + typecheck + tests
make fmt # auto-format and fix lint
make test # tests only
make typecheck # mypy only
Integration tests require a real NWN:EE installation and are skipped automatically
when NWNEE_HOME is not set. To run them:
NWNEE_HOME="/path/to/Neverwinter Nights" uv run pytest -m integration