REMI website source and rebuilding
===================================
The website's entry page and session toolbar offer /source, which downloads
source/REMI-Website-Source.zip. This is a static source bundle generated at
build time, not an archive of server settings or visitor data. The modified
program is distributed under GNU AGPL v3; see app/LICENSE. Documentation and
visual assets retain the separate terms in app/LICENSE-CONTENT.md.

To run the website from the extracted source, use Python 3.11+ in a virtual
environment and install the website dependencies:
    python -m pip install Flask==3.0.3 Werkzeug==3.1.9 requests==2.32.3 waitress==3.0.2
Then run:
    python website_server.py --standalone
The default is a localhost website on port 8080. On Windows, website_host.py
provides the native settings/control window. See README-Website.txt for
network and HTTPS configuration. Visitors still supply their own NCBI keys.

For personal REMI or the complete regression suite, install the dependencies
in packaging/requirements-windows.txt; packaging/requirements-lock.txt lists
the Windows distribution's full pinned dependency set. Run offline tests with:
    python -B -m unittest discover -s packaging -p "test_*.py" -v

The installed application includes the bundled Python runtime and third-party
licenses. From that installed directory, NSIS 3.x and Python can rebuild a
Windows installer:
    python packaging/rebuild.py --makensis PATH_TO_MAKENSIS --output REMI-Setup.exe
The rebuild helper refreshes the source offer before packaging. To build from
the source ZIP alone, also provide the Windows python/ runtime directory from
the installer, or recreate it using packaging/runtime-release.json and the
locked requirements. The exact runtime download URL and digest are in that
provenance file. The Windows installer is unsigned.

packaging/build_source_bundle.py regenerates the downloadable source offer
after source changes. It includes application/launcher/build source, license
files, runtime provenance, dependency versions and included third-party source
archives. It excludes the prebuilt Python binaries, user settings, logs and
visitor data, and replaces app/config.ini with a public placeholder template.
