feat(sde): bulk-load downloader + offline system/station lookups
Implements issue #51. Adds a Fuzzwork SDE downloader/importer and expands the offline lookup layer beyond item types. - sde.py: SDE_URL constant (FAMILIAR_SDE_URL override) and async download_sde() that streams + bz2-decompresses the dump incrementally to sde_path(), resetting the cached connection. - sde.py: system_by_id/system_by_name/station_by_id offline lookups, all degrading to None when the table/file is missing. - universe.py: get_system/get_station prefer the SDE when available, falling back to ESI otherwise (signatures unchanged). - __main__.py: `familiar sde download|status|path` subcommands. - tests: download_sde via injected MockTransport, new lookups + None fallbacks, and SDE-vs-ESI fast-path/fallback for get_system/station. - README: short offline-SDE setup note. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit was merged in pull request #58.
This commit is contained in:
5 files changed
+462
-4
No files matched your search
@@ -33,6 +33,17 @@ uv run familiar status # list logged-in characters
|
||||
|
||||
Re-run `login` for each character (switch EVE accounts in the browser as needed); they all live in one encrypted store. Changing the requested scopes requires logging in again.
|
||||
|
||||
### Offline SDE (optional)
|
||||
|
||||
For network-free item / system / station lookups, install a local copy of EVE's Static Data Export (the Fuzzwork SQLite conversion):
|
||||
|
||||
```bash
|
||||
uv run familiar sde download # download + decompress the SDE (a few hundred MB)
|
||||
uv run familiar sde status # show whether it's installed and where
|
||||
```
|
||||
|
||||
Once present, `get_item` / `get_system` / `get_station` serve from it without hitting ESI; familiar falls back to ESI whenever the SDE is absent or doesn't know the id.
|
||||
|
||||
### Connect to Claude
|
||||
|
||||
Claude Code:
|
||||
|
||||
Reference in new issue
Block a user