92 lines
5.4 KiB
Markdown
92 lines
5.4 KiB
Markdown
# 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.yml`
|
|
> behå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:** `duckdb` anvä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.
|