- unified importer framework (app/services/importers/): normalized model, registry, common pipeline (hierarchy, attachments, collections, dedup), async jobs, dry-run preview, column->type mapping - Phase 1: Obsidian, Notion, Logseq/Roam, HTML (Apple Notes/Bear/Ulysses/ OneNote), Google Keep, generic Markdown - Phase 2: typed CSV/TSV, Excel (openpyxl), generic JSON - Phase 3: Word .docx (python-docx), PDF (pypdf), HTML folders - Phase 4: Raindrop, Pocket, Readwise, Shaarli, Netscape bookmarks, .ics, OPML, Standard Notes, Gitea/GitHub issues (+labels/milestones) - Phase 5: incremental re-sync (skip/update/duplicate), partial-error resume, forge repo files, URL web clipper (SSRF guard), batch multi-file + UI queue, Notion relation resolution, exportable JSON reports - /import wizard, API /api/import/*, migration 9 (import_items, import_jobs) - fix: property values stored by property id (correct DB view rendering) - deps: openpyxl, beautifulsoup4, PyYAML, python-docx, pypdf - 43 import tests; full suite 491 green; ruff clean - bump version 5.11.5
21 lines
351 B
Plaintext
21 lines
351 B
Plaintext
fastapi==0.115.*
|
|
uvicorn[standard]==0.34.*
|
|
httpx==0.28.*
|
|
jinja2==3.1.*
|
|
python-multipart==0.0.*
|
|
pydantic==2.10.*
|
|
pydantic-settings==2.7.*
|
|
aiosqlite==0.20.*
|
|
loguru==0.7.*
|
|
python-dotenv==1.0.*
|
|
packaging>=24.0
|
|
itsdangerous==2.2.*
|
|
slowapi==0.1.*
|
|
weasyprint==69.0
|
|
xhtml2pdf==0.2.*
|
|
openpyxl==3.1.*
|
|
beautifulsoup4==4.*
|
|
PyYAML==6.*
|
|
python-docx>=1.1
|
|
pypdf==6.*
|