5.4 KiB
5.4 KiB
OSS-INVENTORY — 0pt (FAS 3)
Kartlagd 2026-08-10. Status per manifest/läsning: INSTALLERAD (i requirements.txt/package.json) vs PLANAD (docs/07-dependencies.md, ej installerad) vs REFERENS (nämnd i kod/docs). Licens-URLer och licenser är välkända, ej individuellt omverifierade denna pass (ANTAGANDE där annat ej anges).
1. Python — engine (services/api/requirements.txt)
| Paket | Roll | Licens | Status |
|---|---|---|---|
| fastapi | API-ramverk | MIT | INSTALLERAD |
| uvicorn | ASGI-server | BSD-3-Clause | INSTALLERAD |
| pydantic | validering | MIT | INSTALLERAD |
| httpx | HTTP (kompliant, identifierar sig) | BSD-3-Clause | INSTALLERAD, aktivt använd |
| asyncpg | Postgres-driver | Apache-2.0 | INSTALLERAD men oanvänd (grep) |
| python-dotenv | env | BSD-3-Clause | INSTALLERAD |
| pyyaml | sources.yaml | MIT | INSTALLERAD, använd |
| rapidfuzz | fuzzy matching / entity resolution (Levenshtein-familjen) | MIT | INSTALLERAD, enda matching-engine (workers/resolve.py) |
| tenacity | retry | Apache-2.0 | INSTALLERAD |
| spaCy (+modeller) | NER / entity resolution | MIT (modeller: CC-BY-SA-3.0) | PLANAD (docs/07), EJ installerad — NER saknas helt i kod |
| dedupe | record linkage / dedupe | MIT | PLANAD/ERSATT — rapidfuzz fyller dedup-rollen idag; dedupe ej installerat |
| DuckDB | kolumnanalys | MIT | REFERENS + kodanvändning — lazy-import i services/scrapers/clickhouse_pipeline.py:220 (DuckDBWriter), men SAKNAS i requirements.txt (GAP: låsas om den ska vara del av stacken) |
| Playwright | kompliant JS-rendering (public pages) | Apache-2.0 | PLANAD (docs/07 rad 45) — ej installerad; klart skild från bypass |
| python-Levenshtein | Levenshtein | GPL-2.0-or-later | UNDVIK medvetet — rapidfuzz (MIT) ersätter (GPL-kompatibilitetsskäl, docs/07-rad 39) |
| polars | tabular | MIT | PLANAD, ej installerad |
| unstructured | PDF/HTML→element | Apache-2.0 | PLANAD, ej installerad |
| paddleocr/pytesseract | OCR | Apache-2.0 | PLANAD, ej installerad |
2. Python — scrapers (services/scrapers/requirements.txt) — medvetet behållen stack
⚠️ AR-1-undantag (användarbeslut): hela
services/scrapers/*+services/infra/docker-compose.data-stack.ymlbehålls intakt. OSS-inventeringen listar dem ärligt; compliance-bedömning sker i GOLDEN-STANDARD-REPORT.
| Paket/komponent | Roll | Licens | Status |
|---|---|---|---|
| curl_cffi | TLS-fingerprintbyte | MIT | INSTALLERAD, använd i engine.py/engine_v2.py/waf_bypass.py |
| cloudscraper | Cloudflare-bypass (basic) | MIT | INSTALLERAD, använd |
| httpx / aiohttp / requests | HTTP | BSD-3-Clause / Apache-2.0 / Apache-2.0 | INSTALLERAD |
| beautifulsoup4 + lxml | HTML-parsing | MIT | INSTALLERAD |
| boto3 | S3-sync (MinIO/R2) | Apache-2.0 | INSTALLERAD, använd i s3_sync.py |
| FlareSolverr | CF-bypass (tung) | GPL-3.0 | REFERENS — container i docker-compose.data-stack.yml + waf_bypass.py |
| Tor | proxy-rotation | BSD-3-Clause | REFERENS — tor-proxy-container i docker-compose.data-stack.yml |
| nodriver | undetected browser | Apache-2.0 | REFERENS (waf_bypass.py) — ej i requirements |
| DuckDB | alternativ lagring | MIT | KODANVÄND (clickhouse_pipeline.py) men ej i requirements.txt — GAP |
3. JS/TS (package.json, urval) — OSS + proprietär
| Paket | Roll | Licens | Status |
|---|---|---|---|
| next / react / react-dom | App Router | MIT | INSTALLERAD |
| zod | schema-validering | MIT | INSTALLERAD |
| jose | JWT/JWKS | MIT | INSTALLERAD |
| stripe | betalningar | Apache-2.0 | INSTALLERAD |
| postgres (pg) | DB-driver | Unlicense | INSTALLERAD |
| tailwindcss / shadcn-ui-komponenter | styling | MIT | INSTALLERAD |
| Radix-primitiver (react-*) | a11y-komponenter | MIT | INSTALLERAD |
| vitest | testrunner | MIT | INSTALLERAD |
| recharts | diagram | MIT | INSTALLERAD |
| @vercel/analytics | FÖRBJUDET (AR-4) | MIT | INSTALLERAD → tas bort FAS 6 |
4. Self-hosted containers (infra/, services/infra/)
| Komponent | Licens | Status |
|---|---|---|
| postgres pgvector (pg16) | PostgreSQL | infra/docker-compose.yml (ej verifierat körande) |
| redis:7 | BSD-3-Clause | infra/docker-compose.yml |
| nocodb/nocodb | AGPL-3.0 | infra/docker-compose.yml |
| metabase/metabase | AGPL-3.0 | infra/docker-compose.yml |
| caddy | Apache-2.0 | infra/Caddyfile |
| clickhouse | Apache-2.0 | services/infra/data-stack (ej verifierat körande) |
| trino | Apache-2.0 | services/infra/data-stack |
| flaresolverr | GPL-3.0 | services/infra/data-stack — medvetet behållen |
| tor-proxy | BSD-3-Clause | services/infra/data-stack — medvetet behållen |
| superset | Apache-2.0 | services/infra/data-stack |
5. Noteringar
- AR-3 (ärvd licens): 0pt är ingen fork — egen proprietär kod. Inga ärvda licenser att ersätta. ✔
- GPL-fläckar: FlareSolverr (GPL-3.0) och NocoDB/Metabase (AGPL-3.0) är containeriserade, ej inlänkade bibliotek — GPL-eksponeringen begränsad men bör hållas i åtanke vid byte av BI-verktyg.
- Låsnings-GAP:
duckdbanvänds i kod (scrapers) men saknas i requirements.txt — se BACKLOG (P4). - Playwright/FlareSolverr radas som referens i samma dokumentfamilj men är varandras motsatser: Playwright = kompliant hämtning (docs/07, ej installerad), FlareSolverr = bypass (medvetet behållen).
6. Utfallsfil FAS 3
✅ docs/compliance/OSS-INVENTORY.md skapad.