Installation, Upgrade and Uninstallation
Paper Atlas runs as a local web service. There are two supported ways to use it:
- Source mode — run
start.sh/start.bat; the launcher creates a private Python environment. - Portable build — build (or download) a single executable; no Python required.
Both modes use the same data/ folder format.
Requirements
| Item | Requirement |
|---|---|
| OS | Windows 10/11, Ubuntu 20.04+, Debian, Fedora, macOS |
| Python (source mode) | 3.10 or newer |
| Disk | ~600 MB for the private environment + space for PDFs |
| Network | Required for search/download and remote AI APIs; not required for reading existing local files |
| Permissions | No administrator rights; everything is installed inside the project folder |
The launcher can download a private Python interpreter and uv into .tools/ when no suitable system Python is available. Set PAPER_ATLAS_NO_PROMPT=1 for unattended installs.
Source installation
Windows
- Install Python 3.10+ from python.org and enable Add python.exe to PATH.
- Open the project folder.
- Double-click
start.bat, or run:
start.bat
Linux / macOS
cd Paper_Atlas1.5
chmod +x start.sh
./start.sh
The launcher:
- Finds a suitable Python (or downloads one into
.tools/python). - Creates
.venv/. - Installs
requirements.txt. - Creates
data/on first start. - Starts the dashboard and opens the browser.
First start
- URL:
http://127.0.0.1:8765 - A fixed access code is generated and printed in the console; it is also stored in
data/config.json. - Enter the code on the login page. Change it later in Settings → Network.
- If the browser does not open automatically, open the URL manually.
Environment check
python launcher.py --check
This prints the detected Python, virtual environment, data folder and optional modules without starting the server.
Manual dependency installation
If you prefer to manage the environment yourself:
python -m venv .venv
. .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install -r requirements.txt
python app.py --host 127.0.0.1 --port 8765
Optional browser fallback for arXiv downloads:
python -m pip install -r requirements-optional.txt
python -m playwright install firefox
Then enable Settings → Downloads → Browser fallback.
Configuration
Do not edit files unless the UI does not expose the option.
| File | Purpose |
|---|---|
data/config.json |
AI provider, model, base URL, API keys, access code, port, downloads, review settings |
data/library.json |
arXiv download index |
data/review/review.db |
papers, projects, analyses, notes, annotations |
data/jobs.db |
durable download jobs |
.env |
optional environment overrides (not included) |
Environment variables override data/config.json. See .env.example.
API keys
- DeepSeek key: Settings → AI → API Key.
- Ollama: no key required; start
ollama serveand select Ollama. - Elsevier: optional; without it journal search falls back to OpenAlex/Crossref.
- Keys are stored locally in
data/config.jsonand masked in the UI. Never commit this file.
Data folder
Default locations:
| Mode | Data folder |
|---|---|
| Source | <project>/data/ |
| Portable build | data/ next to the executable |
| Read-only install (frozen) | %LOCALAPPDATA%\PaperAtlas\data or ~/.local/share/paper-atlas/data |
A complete data folder contains PDFs, SQLite databases, settings and optionally a Firefox profile. Treat it as private user data.
Backup
python scripts/backup_data.py
The script uses the SQLite backup API, excludes firefox-profile/, and keeps the last three backups under data/backups/.
Verify
python scripts/verify_data.py
python scripts/verify_data.py --backup data/backups/<timestamp>
Move to another machine
- Stop Paper Atlas.
- Copy the whole project folder and
data/(or use a backup). - Start on the new machine.
- If the old machine used absolute PDF paths, open Local papers once; the arXiv sync repairs paths. Journal PDFs use paths relative to
data/review/pdfs/.
Upgrade
- Back up
data/first. - Stop the running service.
- Replace the code folder with the new version. Keep your existing
data/folder. - Start normally. Pending database migrations are applied automatically and a schema version is recorded.
- To run the migration explicitly with an automatic backup:
python scripts/migrate_schema.py
python scripts/verify_data.py
If a migration fails:
python scripts/migrate_schema.py --restore-on-failure
The pre-migration database is in data/backups/<timestamp>/review.db.
Never delete
data/to “fix” an upgrade. Restore from backup instead.
Portable build
Build on the same OS family you intend to run on.
# Linux / macOS
./build.sh --clean --zip
# Windows
build.bat --clean --zip
Outputs:
dist/PaperAtlasordist/PaperAtlas.exePaperAtlas-<platform>.zipwhen--zipis used
The executable bundles Python, dependencies, templates, static assets and PDF.js. It still writes user data to data/ next to the executable (or the per-user folder if that location is read-only).
Uninstallation
Paper Atlas does not install system services, registry entries or global packages. Uninstalling means deleting files.
Source installation
- Stop the server (
Ctrl+Cin the terminal, or close the launcher window). - Delete the project folder, including:
.venv/.tools/data/
- If you created a desktop shortcut with
--shortcut, delete it manually. - Optional: remove a
.envfile if you created one.
Portable build
- Stop the app.
- Delete
PaperAtlas/PaperAtlas.exeand the adjacentdata/folder. - On a read-only installation, also delete:
- Windows:
%LOCALAPPDATA%\PaperAtlas - Linux:
~/.local/share/paper-atlas - macOS:
~/Library/Application Support/PaperAtlas
- Windows:
Keep your research data
If you may reinstall later, keep a copy of data/ (or a data/backups/ snapshot). PDFs and notes are not recoverable once deleted.
Troubleshooting installation
See TROUBLESHOOTING.md. The most common causes are:
- Python older than 3.10;
- no network during the first dependency install;
- port 8765 already in use;
- a stale
.venv/copied from another machine (delete it and rerunstart.sh).