SPB Git forge

spb/ai-atlas

Public
41commits 1branches 0releases
4.6 MBsize
maindefault branch
12 days agolast push
HTML 77.2% TypeScript 10.5% Python 9.6% JavaScript 2.5%
1.8 KB · 50 lines python
Raw Blame History
1"""NVIDIA — corporate blog RSS + technical (developer) blog Atom feed → ANNOUNCEMENT events."""2from __future__ import annotations34from aiatlas.registry import org_ref5from aiatlas.sdk.connector import BaseConnector, Parsed, RunContext6from aiatlas.sdk.facts import Facts, Target7from aiatlas.sdk.fetch import FetchResult89from ._common import announcement_events1011BLOG_RSS = "https://blogs.nvidia.com/feed/"12DEVELOPER_RSS = "https://developer.nvidia.com/blog/feed"131415class NvidiaConnector(BaseConnector):16    name = "nvidia"17    label = "NVIDIA — blog & technical blog feeds"18    description = "NVIDIA corporate blog (RSS) and NVIDIA Technical Blog (Atom): announcements, model and platform releases."19    source_key = "blogs.nvidia.com"20    version = "1"21    parser_version = "1"22    interval_seconds = 720023    min_interval_seconds = 360024    rate_per_min = 1025    tier = 126    priority = 127    expected_min_records = 128    concurrency = 22930    async def discover(self, ctx: RunContext) -> list[Target]:31        return [32            Target(url=BLOG_RSS, doc_type="feed", key="blog", min_bytes=1000),33            Target(url=DEVELOPER_RSS, doc_type="feed", key="developer", min_bytes=1000),34        ]3536    async def extract(self, ctx: RunContext, target: Target, res: FetchResult, parsed: Parsed) -> Facts:37        facts = Facts()38        org = org_ref("nvidia")39        facts.entities.append(org)40        if parsed.kind != "feed":41            return facts42        source = "developer.nvidia.com/blog" if target.key == "developer" else "blogs.nvidia.com"43        announcement_events(facts, org, parsed.feed_items, source_name=source, max_follow=10)44        facts.document_title = "NVIDIA Technical Blog" if target.key == "developer" else "NVIDIA Blog"45        facts.document_entity = org46        return facts474849CONNECTORS = [NvidiaConnector]50