You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add `python autobiographer.py fetch <plugin>` CLI subcommand; fetchable
plugins download data, non-fetchable ones print manual export steps
- Add python-dotenv support so .env is loaded automatically by both the
CLI and Streamlit app — no more manual export in every terminal session
- Add Fetch Latest Data button in sidebar with live per-page progress
shown in a sidebar-level placeholder (always visible, even when the
plugin expander is collapsed)
- Show fetch identity (username) and save path before fetching
- Auto-populate config field after a successful fetch
- Auto-expand plugin expander and show warning when saved path no longer
exists on disk
- Extract location assumptions into its own AssumptionsPlugin
(location-context type) with its own sidebar section and config field;
remove assumptions_file from SwarmPlugin
- Add pytest pythonpath = ["."] so tests run without AUTOBIO_PYTHONPATH
- Add per-plugin READMEs (lastfm, swarm, assumptions) and a Data Sources
table in the main README linking to all three
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Autobiographer is built around a plugin system. Each plugin owns a specific data source — its format, how to obtain it, and how it maps into the common schema. All path configuration happens in the sidebar; nothing is hardcoded.
30
+
31
+
| Plugin | Type | Description |
32
+
|--------|------|-------------|
33
+
|[Last.fm Music History](plugins/sources/lastfm/README.md)| what-when | Your complete listening history, fetched automatically via the Last.fm API. One click in the sidebar downloads everything. |
34
+
|[Foursquare / Swarm Check-ins](plugins/sources/swarm/README.md)| where-when | Your check-in history from the Swarm app. Requires a one-time manual data export request from Foursquare. |
35
+
|[Location Assumptions](plugins/sources/assumptions/README.md)| location-context | A user-authored JSON file that fills in your location for periods not covered by Swarm — trips, recurring holidays, and home residency rules. |
36
+
37
+
Each plugin has its own README with setup instructions, data format details, and schema documentation.
38
+
27
39
## Quickstart (Docker)
28
40
29
41
No Python knowledge required — just [Docker](https://www.docker.com/products/docker-desktop/).
@@ -45,7 +57,7 @@ To download your listening history directly into the mounted data volume, pass y
45
57
```bash
46
58
cp .env.example .env # fill in your API key, secret, and username
47
59
docker compose run --rm dashboard \
48
-
python autobiographer.py --user YOUR_USERNAME
60
+
python autobiographer.py fetch lastfm
49
61
docker compose up
50
62
```
51
63
@@ -79,21 +91,45 @@ docker compose up
79
91
80
92
### 3. Configuration
81
93
82
-
Set your Last.fm credentials in your environment:
94
+
Set your credentials as environment variables. Required for Last.fm fetching:
0 commit comments