Spaces:
Build error
Download NOTICE.md from abinazebinoy/bharatgraph: direct link, hf CLI and curl.
- Browser
- Download file 8.1 kB
-
https://huggingface.co/spaces/abinazebinoy/bharatgraph/resolve/main/NOTICE.md
- Command line
-
hf download hf://spaces/abinazebinoy/bharatgraph/NOTICE.md
-
curl -L -o NOTICE.md https://huggingface.co/spaces/abinazebinoy/bharatgraph/resolve/main/NOTICE.md
Third-Party Notices
BharatGraph is licensed under the MIT License (see LICENSE). This project
depends on a number of third-party open-source packages and, for the
optional PDF-export feature, a set of native system libraries. Their
licenses are listed below.
This file resolves two items flagged by the industry-grade repository audit
(August 2026): Finding Lic-1 (fake-useragent's license, previously
unverified) and Finding D-7 (no NOTICE/attribution file existed anywhere
in the repository, required before any installer bundling these
dependencies directly ships).
Scope note: this file is a licensing inventory, current as of the
audit date above. It establishes what's bundled and under what terms --
it does not by itself complete every packaging-time compliance step (in
particular, the LGPL "user can relink" requirement discussed under Pango,
Cairo, and GDK-Pixbuf below is a distribution-mechanism decision, not a
paperwork one, and needs to be revisited once an actual Windows installer
pipeline is chosen -- see PHASE_ROADMAP.md's desktop-migration track).
Direct Python dependencies (requirements.txt)
Verified individually via each package's own PyPI metadata, official
repository, or (for fake-useragent) its pyproject.toml directly, not
assumed from memory.
| Package | License | Copyleft? | Note |
|---|---|---|---|
| requests | Apache-2.0 | No | |
| beautifulsoup4 | MIT | No | |
| feedparser | BSD-2-Clause | No | |
| lxml | BSD-3-Clause | No | |
| fake-useragent | Apache-2.0 | No | Resolved (Lic-1): confirmed via the project's own pyproject.toml (license = "Apache-2.0"), corroborated independently by conda-forge's feedstock metadata. The audit's automated PyPI/GitHub metadata check returned empty at the time -- the SPDX license identifier was added to the package's own pyproject.toml relatively recently (see its "Add SPDX license identifier" changelog entry), which explains the earlier miss. |
| pandas | BSD-3-Clause | No | |
| numpy | BSD-3-Clause | No | |
| scipy | BSD-3-Clause | No | |
| neo4j (driver) | Apache-2.0 | No | |
| networkx | BSD-3-Clause | No | |
| fastapi | MIT | No | |
| uvicorn | BSD-3-Clause | No | |
| python-dotenv | BSD-3-Clause | No | |
| jinja2 | BSD-3-Clause | No | |
| spacy | MIT | No | Ships a separately-licensed model -- see below |
| sentence-transformers | Apache-2.0 | No | Ships separately-licensed models -- see below |
| weasyprint | BSD-3-Clause | No, but see below | The Python package itself is BSD-3-Clause; its native rendering dependencies are not -- see the dedicated section below |
| pdfplumber | MIT | No | |
| loguru | MIT | No | |
| schedule | MIT | No |
Bundled AI models
Following the model_selector tiering fix (Findings R-2/R-3/R-4), each of
these tasks can now load any of its three tier variants depending on the
detected hardware profile, not just one fixed model -- all three variants
per task are listed below, not just the one previously hardcoded.
| Model | Used by | Tier | License |
|---|---|---|---|
xx_ent_wiki_sm |
ai/nlp_extractor.py (NER) |
low | MIT, per its own model card / spacy-models release metadata |
en_core_web_sm |
ai/nlp_extractor.py (NER) |
medium (and the guaranteed fallback on low/high if the tier-specific model isn't installed) | MIT, matching the spaCy models project's stated license |
en_core_web_trf |
ai/nlp_extractor.py (NER) |
high | MIT, per its own model card / spacy-models release metadata |
paraphrase-MiniLM-L3-v2 |
ai/shadow_draft_detector.py, processing/entity_resolver_v2.py (embeddings) |
low | Apache-2.0, per its model card |
all-MiniLM-L6-v2 |
ai/shadow_draft_detector.py, processing/entity_resolver_v2.py (embeddings) |
medium | Apache-2.0, per its model card |
paraphrase-multilingual-MiniLM-L12-v2 |
ai/shadow_draft_detector.py, processing/entity_resolver_v2.py (embeddings) |
high | Apache-2.0, per its model card |
None of the six introduces a copyleft obligation.
Frontend JavaScript dependencies (vendored files)
| File | Package / version | License | Source | Note |
|---|---|---|---|---|
frontend/js/vendor/d3.min.js |
d3 7.9.0 |
ISC (Copyright 2010-2023 Mike Bostock) | https://registry.npmjs.org/d3/-/d3-7.9.0.tgz, dist/d3.min.js |
Resolves Finding N-2/F-14: previously loaded from cdnjs.cloudflare.com with no working offline fallback (window._d3Failed was set on load failure but never read anywhere). Vendored locally instead -- same exact version as the CDN reference it replaces, so no API-compatibility change. SHA-256 of the vendored file: f2094bbf6141b359722c4fe454eb6c4b0f0e42cc10cc7af921fc158fceb86539. ISC is a permissive license functionally equivalent to MIT/BSD-2-Clause -- requires only that the copyright/permission notice (above) be preserved; this file's own header comment already carries it (// https://d3js.org v7.9.0 Copyright 2010-2023 Mike Bostock). No copyleft obligation. |
WeasyPrint's native rendering stack (only relevant if PDF export is bundled into a distributable installer)
WeasyPrint (the Python package) depends on native C libraries it does not
itself provide. In the current Docker-based web deployment, these are
installed via apt-get at container-build time -- dynamically linking
against system-provided libraries this way does not trigger the
source-availability obligations that statically bundling them into a
distributed installer would. That distinction is why this section
exists: it becomes a live compliance question the moment a desktop
installer vendors these libraries directly, per PHASE_ROADMAP.md's
D2/D3 packaging phases.
Licenses below verified individually against each project's own
authoritative source (its repository's COPYING file or, where the
project publishes one, its official license page) -- not assumed to be
uniform across the group, which turns out to matter: HarfBuzz is not
LGPL, despite being part of the same rendering pipeline as three libraries
that are.
| Library | License | Verified via | LGPL relink obligation applies? |
|---|---|---|---|
| Pango | LGPL v2.1 (or later) | Pango's own COPYING file (GNOME/pango repository) |
Yes |
| Cairo | LGPL v2.1 or MPL v1.1 (dual-licensed, redistributor's choice) | Cairo's own licensing documentation | Yes, if the LGPL branch is chosen (or MPL's equivalent terms if that branch is chosen instead) |
| GDK-Pixbuf | LGPL-2.1-or-later | Package metadata (matches upstream GTK project licensing) | Yes |
| HarfBuzz | MIT ("Old MIT" license) -- not LGPL | HarfBuzz's own COPYING file (harfbuzz/harfbuzz repository) |
No -- MIT only requires the license text and copyright notice to be included, not a relink mechanism |
What the LGPL relink obligation actually means for a bundled installer:
for Pango, Cairo (if the LGPL option is used), and GDK-Pixbuf specifically,
the LGPL requires that an end user be able to replace or relink the
LGPL-licensed component with a modified version of their own -- typically
satisfied for a Windows installer by shipping these as separate, replaceable
.dll files rather than statically linking them into a single monolithic
executable, plus including the LGPL license text and a notice of which
files it covers (this file, updated at packaging time, can serve as that
notice). This has not been implemented or verified against any actual
installer build -- no Windows/PyInstaller build has been executed in this
project as of this writing (see PHASE_ROADMAP.md) -- and needs a real
compliance pass once a specific installer pipeline exists, not just this
inventory.
Sources checked, not assumed
Every license above was verified against the dependency's own
authoritative metadata or source repository at the time this file was
written (August 2026). Licenses for actively-maintained open-source
packages can change between major versions; if any dependency in
requirements.txt is upgraded to a new major version, re-verify its
license before assuming this file still applies unchanged.