docpull 6.2.0__tar.gz → 6.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {docpull-6.2.0/src/docpull.egg-info → docpull-6.3.0}/PKG-INFO +13 -2
- {docpull-6.2.0 → docpull-6.3.0}/README.md +12 -1
- {docpull-6.2.0 → docpull-6.3.0}/pyproject.toml +1 -1
- docpull-6.3.0/src/docpull/__init__.py +287 -0
- docpull-6.3.0/src/docpull/acquisition_workflows.py +567 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/basis.py +18 -14
- docpull-6.3.0/src/docpull/cache/__init__.py +50 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/cache/frontier.py +72 -10
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/cache/manager.py +6 -1
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/cli.py +188 -55
- docpull-6.3.0/src/docpull/context_packs/__init__.py +66 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/cli.py +5 -2
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/common.py +43 -15
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/dataset.py +128 -12
- docpull-6.3.0/src/docpull/context_packs/relationship.py +567 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/typed.py +54 -1
- docpull-6.3.0/src/docpull/context_packs/workflow_cli.py +99 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/contracts.py +153 -1
- docpull-6.3.0/src/docpull/conversion/__init__.py +76 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/extractor.py +16 -4
- docpull-6.3.0/src/docpull/discovery/__init__.py +101 -0
- docpull-6.3.0/src/docpull/discovery/link_extractors/__init__.py +37 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/evidence.py +76 -3
- docpull-6.3.0/src/docpull/export_formats.py +27 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/exports.py +7 -25
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/graph.py +84 -34
- docpull-6.3.0/src/docpull/http/__init__.py +46 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/http/client.py +66 -1
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/local_workflows.py +48 -9
- docpull-6.3.0/src/docpull/mcp/__init__.py +24 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/mcp/server.py +121 -22
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/mcp/tools.py +21 -4
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/metadata_extractor.py +1 -1
- docpull-6.3.0/src/docpull/models/__init__.py +128 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/models/events.py +6 -1
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/models/run.py +15 -6
- docpull-6.3.0/src/docpull/models/schema.py +9 -0
- docpull-6.3.0/src/docpull/native_integrations.py +88 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/output_contract.py +7 -2
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pack_reader.py +86 -20
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pack_tools.py +278 -75
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/base.py +6 -0
- docpull-6.3.0/src/docpull/pipeline/steps/__init__.py +74 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/convert.py +51 -3
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/fetch.py +26 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/metadata.py +2 -2
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/project.py +34 -5
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/intelligence-bundle.v1.schema.json +133 -0
- docpull-6.3.0/src/docpull/schemas/relationship-pack.v1.schema.json +401 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/workflow-result.v1.schema.json +45 -0
- docpull-6.3.0/src/docpull/security/__init__.py +43 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/surface.py +8 -1
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/workflows.py +74 -2
- {docpull-6.2.0 → docpull-6.3.0/src/docpull.egg-info}/PKG-INFO +13 -2
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull.egg-info/SOURCES.txt +11 -0
- docpull-6.3.0/tests/test_acquisition_workflows.py +100 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_ci_policy.py +56 -15
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_cli.py +46 -0
- docpull-6.3.0/tests/test_frontier_resume.py +90 -0
- docpull-6.3.0/tests/test_http_efficiency.py +169 -0
- docpull-6.3.0/tests/test_import_efficiency.py +107 -0
- docpull-6.3.0/tests/test_native_integrations.py +29 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_pack_tools.py +23 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_pipeline.py +20 -0
- docpull-6.3.0/tests/test_relationship_workflow.py +218 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_release_a_plus_check_script.py +8 -2
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_surface_contract.py +16 -16
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_typed_knowledge_packs.py +35 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_workflow_contracts.py +4 -1
- docpull-6.2.0/src/docpull/__init__.py +0 -244
- docpull-6.2.0/src/docpull/cache/__init__.py +0 -16
- docpull-6.2.0/src/docpull/context_packs/__init__.py +0 -46
- docpull-6.2.0/src/docpull/context_packs/workflow_cli.py +0 -52
- docpull-6.2.0/src/docpull/conversion/__init__.py +0 -37
- docpull-6.2.0/src/docpull/discovery/__init__.py +0 -52
- docpull-6.2.0/src/docpull/discovery/link_extractors/__init__.py +0 -11
- docpull-6.2.0/src/docpull/http/__init__.py +0 -13
- docpull-6.2.0/src/docpull/mcp/__init__.py +0 -10
- docpull-6.2.0/src/docpull/models/__init__.py +0 -61
- docpull-6.2.0/src/docpull/pipeline/steps/__init__.py +0 -31
- docpull-6.2.0/src/docpull/security/__init__.py +0 -13
- docpull-6.2.0/tests/test_frontier_resume.py +0 -35
- {docpull-6.2.0 → docpull-6.3.0}/LICENSE +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/setup.cfg +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/__main__.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/accounting.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/agent_publish.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/auth_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/benchmark.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/cache/streaming_dedup.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/change_events.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_aliases.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_ci.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/_legacy_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/brand.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/feed.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/openapi.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/package.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/paper.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/policy_pack.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/product.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/repo.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/schema_extract.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/search.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/standards.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/styleguide.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/transcript.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/typed_models.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/visuals.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/context_packs/wiki.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/contracts_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/article_cleanup.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/chunking.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/ensemble.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/filings.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/markdown.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/protocols.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/special_cases.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/conversion/trafilatura_extractor.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/core/__init__.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/core/fetcher.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/_fetch.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/composite.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/contracts.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/crawler.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/filters.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/link_extractors/enhanced.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/link_extractors/protocols.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/link_extractors/static.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/protocols.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery/sitemap.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/discovery_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/doctor.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/document_parse.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/document_worker.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/eval_grade.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/evidence_pack.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/fixtures/__init__.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/fixtures/parallel-search-extract.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/free_core.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/free_core_smoke.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/hosted.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/http/protocols.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/http/rate_limiter.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/judge.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/mcp/sources.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/models/config.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/models/document.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/models/profiles.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/monitor.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/parallel_workflows.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/parity.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/parity_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/passk.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/__init__.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/manifest.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/chunk.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/dedup.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/render.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save_json.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save_ndjson.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save_okf.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/save_sqlite.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/pipeline/steps/validate.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/policy.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/policy_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/provider_adapters.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/provider_capabilities.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/provider_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/provider_keys.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/provider_probes.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/py.typed +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/redaction.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/rendering.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/artifact-manifest.v1.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/basis.v2.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/change-event.v1.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/citation-map.v1.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/document.v3.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/pack.v3.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/provenance.v1.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/rights.v1.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/run-identity.v1.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/schemas/workflow-request.v1.schema.json +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/scraper.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/security/download_policy.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/security/robots.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/security/url_validator.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/server.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/share.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/skill_export.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/source_scoring.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull/time_utils.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull.egg-info/dependency_links.txt +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull.egg-info/entry_points.txt +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull.egg-info/requires.txt +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/src/docpull.egg-info/top_level.txt +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_accounting.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_auth_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_basis.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_benchmark.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_cache_conditional_get.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_chunking.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_claim_audit_script.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_context_ci.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_context_packs.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_conversion.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_convert_step_new.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_discovery.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_discovery_contracts.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_doctor.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_document_parse.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_document_record.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_evidence_pack.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_exports.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_extractor_ensemble.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_feed_pack.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_free_core.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_graph.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_hosted.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_integration.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_judge.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_link_extractors.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_live_web_smoke.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_local_workflows.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_mcp_server.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_mcp_tools.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_metadata_extractor.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_monitor.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_naming.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_openapi_pack.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_optional_extras_installed.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_output_contract.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_outputs_e2e.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_pack_server.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_parallel_workflows.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_parity_workflows.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_passk.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_policy.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_policy_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_project.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_provider_adapters.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_provider_cli.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_provider_keys.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_provider_probes.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_public_feature_smoke.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_rate_limiter.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_real_feature_smoke_script.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_real_site_regressions.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_rendering.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_reproducible_release_build.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_save_ndjson.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_save_sqlite.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_security_hardening.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_share.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_source_scoring.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_special_cases.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_time_utils.py +0 -0
- {docpull-6.2.0 → docpull-6.3.0}/tests/test_trafilatura_extractor.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: docpull
|
|
3
|
-
Version: 6.
|
|
3
|
+
Version: 6.3.0
|
|
4
4
|
Summary: Declare, sync, diff, and lock context dependencies for AI agents
|
|
5
5
|
Author-email: Zachary Roth <support@raintree.technology>
|
|
6
6
|
Maintainer-email: Raintree Technology <support@raintree.technology>
|
|
@@ -122,6 +122,14 @@ Requires-Dist: types-defusedxml>=0.7.0; extra == "dev"
|
|
|
122
122
|
Requires-Dist: types-pyyaml>=6.0.0; extra == "dev"
|
|
123
123
|
Dynamic: license-file
|
|
124
124
|
|
|
125
|
+
<p align="center">
|
|
126
|
+
<img
|
|
127
|
+
src="https://raw.githubusercontent.com/raintree-technology/docpull/main/docs/launch-assets/logo-square-light-400.png"
|
|
128
|
+
alt="DocPull"
|
|
129
|
+
width="128"
|
|
130
|
+
/>
|
|
131
|
+
</p>
|
|
132
|
+
|
|
125
133
|
# docpull
|
|
126
134
|
|
|
127
135
|
**Context dependencies for AI agents. Browser-free by default.**
|
|
@@ -297,6 +305,8 @@ docpull repo-pack psf/requests -o packs/repo --cache
|
|
|
297
305
|
docpull package-pack pypi:requests -o packs/package
|
|
298
306
|
docpull standards-pack rfc:9110 -o packs/standard
|
|
299
307
|
docpull dataset-pack ./metrics.csv -o packs/dataset
|
|
308
|
+
docpull dataset-pack 'https://data.example.org/rows.json?$limit=100' -o packs/dataset
|
|
309
|
+
docpull relationship-pack example.com --subject "Example Brand" -o packs/relationships
|
|
300
310
|
docpull transcript-pack ./meeting.vtt -o packs/transcript
|
|
301
311
|
docpull wiki-pack wiki:Web_scraping -o packs/wiki
|
|
302
312
|
docpull brand-pack example.com -o packs/brand
|
|
@@ -575,7 +585,8 @@ special handling for common web, documentation, and API surfaces.
|
|
|
575
585
|
| Public GitHub repos | `docpull repo-pack` emits repo metadata, README/docs/examples/changelog files, manifests, and releases |
|
|
576
586
|
| npm / PyPI packages | `docpull package-pack` emits registry metadata, README/description, versions, license, dependencies, and install commands |
|
|
577
587
|
| Standards | `docpull standards-pack` emits RFC, IETF, W3C, and WHATWG metadata plus section-level records |
|
|
578
|
-
| Local datasets | `docpull dataset-pack` emits bounded schema, exact row counts where streamable, column
|
|
588
|
+
| Local/remote datasets | `docpull dataset-pack` emits bounded schema, exact row counts where streamable, column/null/sample summaries, and HTTPS JSON/CSV snapshot provenance |
|
|
589
|
+
| Relationship review | `docpull relationship-pack` emits cited observations and explicit coverage gaps without approving claims or inferring independence |
|
|
579
590
|
| Transcripts | `docpull transcript-pack` emits timestamped segment records from VTT, SRT, text, JSON, or direct transcript URLs |
|
|
580
591
|
| Wikimedia / Wikipedia | `docpull wiki-pack` emits MediaWiki REST page metadata, license/revision metadata, and section-level records |
|
|
581
592
|
| Brand evidence | `docpull brand-pack` emits cited identity, firmographic, social, logo, and color observations |
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img
|
|
3
|
+
src="https://raw.githubusercontent.com/raintree-technology/docpull/main/docs/launch-assets/logo-square-light-400.png"
|
|
4
|
+
alt="DocPull"
|
|
5
|
+
width="128"
|
|
6
|
+
/>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
1
9
|
# docpull
|
|
2
10
|
|
|
3
11
|
**Context dependencies for AI agents. Browser-free by default.**
|
|
@@ -173,6 +181,8 @@ docpull repo-pack psf/requests -o packs/repo --cache
|
|
|
173
181
|
docpull package-pack pypi:requests -o packs/package
|
|
174
182
|
docpull standards-pack rfc:9110 -o packs/standard
|
|
175
183
|
docpull dataset-pack ./metrics.csv -o packs/dataset
|
|
184
|
+
docpull dataset-pack 'https://data.example.org/rows.json?$limit=100' -o packs/dataset
|
|
185
|
+
docpull relationship-pack example.com --subject "Example Brand" -o packs/relationships
|
|
176
186
|
docpull transcript-pack ./meeting.vtt -o packs/transcript
|
|
177
187
|
docpull wiki-pack wiki:Web_scraping -o packs/wiki
|
|
178
188
|
docpull brand-pack example.com -o packs/brand
|
|
@@ -451,7 +461,8 @@ special handling for common web, documentation, and API surfaces.
|
|
|
451
461
|
| Public GitHub repos | `docpull repo-pack` emits repo metadata, README/docs/examples/changelog files, manifests, and releases |
|
|
452
462
|
| npm / PyPI packages | `docpull package-pack` emits registry metadata, README/description, versions, license, dependencies, and install commands |
|
|
453
463
|
| Standards | `docpull standards-pack` emits RFC, IETF, W3C, and WHATWG metadata plus section-level records |
|
|
454
|
-
| Local datasets | `docpull dataset-pack` emits bounded schema, exact row counts where streamable, column
|
|
464
|
+
| Local/remote datasets | `docpull dataset-pack` emits bounded schema, exact row counts where streamable, column/null/sample summaries, and HTTPS JSON/CSV snapshot provenance |
|
|
465
|
+
| Relationship review | `docpull relationship-pack` emits cited observations and explicit coverage gaps without approving claims or inferring independence |
|
|
455
466
|
| Transcripts | `docpull transcript-pack` emits timestamped segment records from VTT, SRT, text, JSON, or direct transcript URLs |
|
|
456
467
|
| Wikimedia / Wikipedia | `docpull wiki-pack` emits MediaWiki REST page metadata, license/revision metadata, and section-level records |
|
|
457
468
|
| Brand evidence | `docpull brand-pack` emits cited identity, firmographic, social, logo, and color observations |
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "docpull"
|
|
7
|
-
version = "6.
|
|
7
|
+
version = "6.3.0"
|
|
8
8
|
dynamic = []
|
|
9
9
|
description = "Declare, sync, diff, and lock context dependencies for AI agents"
|
|
10
10
|
readme = {file = "README.md", content-type = "text/markdown"}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"""DocPull — reproducible context dependencies for AI agents.
|
|
2
|
+
|
|
3
|
+
The public SDK is loaded lazily. Importing :mod:`docpull` is common to every
|
|
4
|
+
CLI command and Python submodule import, so the package root must not eagerly
|
|
5
|
+
load optional workflows or rendering backends. Attribute access and
|
|
6
|
+
``from docpull import ...`` retain the public contract while loading only the
|
|
7
|
+
module that owns the requested symbol.
|
|
8
|
+
"""
|
|
9
|
+
# ruff: noqa: F401 - TYPE_CHECKING imports document the lazy public re-exports.
|
|
10
|
+
|
|
11
|
+
from __future__ import annotations
|
|
12
|
+
|
|
13
|
+
from importlib import import_module
|
|
14
|
+
from typing import TYPE_CHECKING, Any
|
|
15
|
+
|
|
16
|
+
from .surface import PUBLIC_SDK_EXPORTS
|
|
17
|
+
|
|
18
|
+
__version__ = "6.3.0"
|
|
19
|
+
|
|
20
|
+
_LAZY_EXPORTS: dict[str, tuple[str, str]] = {
|
|
21
|
+
**{
|
|
22
|
+
name: (".context_packs", name)
|
|
23
|
+
for name in (
|
|
24
|
+
"async_build_dataset_pack",
|
|
25
|
+
"async_build_package_pack",
|
|
26
|
+
"async_build_paper_pack",
|
|
27
|
+
"async_build_repo_pack",
|
|
28
|
+
"async_build_standards_pack",
|
|
29
|
+
"async_build_transcript_pack",
|
|
30
|
+
"async_build_wiki_pack",
|
|
31
|
+
"build_brand_pack",
|
|
32
|
+
"build_dataset_pack",
|
|
33
|
+
"build_feed_pack",
|
|
34
|
+
"build_image_pack",
|
|
35
|
+
"build_openapi_pack",
|
|
36
|
+
"build_package_pack",
|
|
37
|
+
"build_paper_pack",
|
|
38
|
+
"build_policy_pack",
|
|
39
|
+
"build_relationship_pack",
|
|
40
|
+
"build_product_pack",
|
|
41
|
+
"build_repo_pack",
|
|
42
|
+
"build_standards_pack",
|
|
43
|
+
"build_styleguide_pack",
|
|
44
|
+
"build_transcript_pack",
|
|
45
|
+
"build_wiki_pack",
|
|
46
|
+
"capture_screenshot_pack",
|
|
47
|
+
)
|
|
48
|
+
},
|
|
49
|
+
**{
|
|
50
|
+
name: (".contracts", name)
|
|
51
|
+
for name in (
|
|
52
|
+
"ArtifactManifest",
|
|
53
|
+
"ChangeEvent",
|
|
54
|
+
"EvidenceSpan",
|
|
55
|
+
"IntelligenceBundle",
|
|
56
|
+
"CoverageResult",
|
|
57
|
+
"RelationshipCandidate",
|
|
58
|
+
"RelationshipPack",
|
|
59
|
+
"SourceAuthority",
|
|
60
|
+
"WorkflowRequest",
|
|
61
|
+
"WorkflowResult",
|
|
62
|
+
"bundled_schema_path",
|
|
63
|
+
"write_contract_schemas",
|
|
64
|
+
)
|
|
65
|
+
},
|
|
66
|
+
**{
|
|
67
|
+
name: (".workflows", name)
|
|
68
|
+
for name in ("async_run_workflow", "create_workflow_request", "run_workflow")
|
|
69
|
+
},
|
|
70
|
+
**{name: (".core.fetcher", name) for name in ("Fetcher", "fetch_blocking", "fetch_one")},
|
|
71
|
+
**{name: (".conversion.chunking", name) for name in ("Chunk", "TokenCounter", "chunk_markdown")},
|
|
72
|
+
"PageContext": (".pipeline.base", "PageContext"),
|
|
73
|
+
**{name: (".pipeline.steps", name) for name in ("SqliteSearchResult", "search_sqlite_documents")},
|
|
74
|
+
**{
|
|
75
|
+
name: (".models.config", name)
|
|
76
|
+
for name in (
|
|
77
|
+
"BudgetConfig",
|
|
78
|
+
"CacheConfig",
|
|
79
|
+
"ContentFilterConfig",
|
|
80
|
+
"CrawlConfig",
|
|
81
|
+
"DocpullConfig",
|
|
82
|
+
"NetworkConfig",
|
|
83
|
+
"OutputConfig",
|
|
84
|
+
"PerformanceConfig",
|
|
85
|
+
"ProfileName",
|
|
86
|
+
"RenderActionPolicy",
|
|
87
|
+
"RenderConfig",
|
|
88
|
+
"RenderViewport",
|
|
89
|
+
)
|
|
90
|
+
},
|
|
91
|
+
**{name: (".models.events", name) for name in ("EventType", "FetchEvent", "FetchStats")},
|
|
92
|
+
**{name: (".cache", name) for name in ("CacheManager", "StreamingDeduplicator")},
|
|
93
|
+
"PolicyConfig": (".policy", "PolicyConfig"),
|
|
94
|
+
**{name: (".local_workflows", name) for name in ("audit_pack", "refresh_pack")},
|
|
95
|
+
**{
|
|
96
|
+
name: (".document_parse", name)
|
|
97
|
+
for name in ("DocumentParseError", "ParsedDocument", "parse_documents", "parse_one_document")
|
|
98
|
+
},
|
|
99
|
+
**{
|
|
100
|
+
name: (".pack_tools", name)
|
|
101
|
+
for name in (
|
|
102
|
+
"build_citation_map",
|
|
103
|
+
"build_company_brain_bundle",
|
|
104
|
+
"build_intelligence_bundle",
|
|
105
|
+
"build_research_brief",
|
|
106
|
+
"diff_packs",
|
|
107
|
+
"extract_pack_entities",
|
|
108
|
+
"prepare_pack",
|
|
109
|
+
"score_pack",
|
|
110
|
+
"score_pack_sources",
|
|
111
|
+
"search_pack",
|
|
112
|
+
)
|
|
113
|
+
},
|
|
114
|
+
"validate_pack_contract": (".output_contract", "validate_pack_contract"),
|
|
115
|
+
**{name: (".context_ci", name) for name in ("CIThresholds", "ContextCIError", "run_context_ci")},
|
|
116
|
+
**{name: (".exports", name) for name in ("ExportResult", "export_pack")},
|
|
117
|
+
**{name: (".pack_reader", name) for name in ("LocalPack", "PackReadError", "PackSource", "load_pack")},
|
|
118
|
+
**{
|
|
119
|
+
name: (".graph", name)
|
|
120
|
+
for name in (
|
|
121
|
+
"GraphError",
|
|
122
|
+
"build_graph",
|
|
123
|
+
"graph_neighbors",
|
|
124
|
+
"graph_status",
|
|
125
|
+
"load_graph",
|
|
126
|
+
"query_graph",
|
|
127
|
+
"refresh_graph",
|
|
128
|
+
)
|
|
129
|
+
},
|
|
130
|
+
**{name: (".server", name) for name in ("PackASGIApp", "PackServerError", "create_pack_app")},
|
|
131
|
+
**{
|
|
132
|
+
name: (".share", name)
|
|
133
|
+
for name in ("ReportHTTPServer", "ShareError", "create_report_server", "render_report_document")
|
|
134
|
+
},
|
|
135
|
+
**{
|
|
136
|
+
name: (".rendering", name)
|
|
137
|
+
for name in (
|
|
138
|
+
"AgentBrowserRenderer",
|
|
139
|
+
"E2BSandboxRenderer",
|
|
140
|
+
"RenderedPage",
|
|
141
|
+
"Renderer",
|
|
142
|
+
"RenderError",
|
|
143
|
+
"RendererUnavailableError",
|
|
144
|
+
"VercelSandboxRenderer",
|
|
145
|
+
"agent_browser_binary",
|
|
146
|
+
"check_agent_browser_availability",
|
|
147
|
+
"check_e2b_sandbox_availability",
|
|
148
|
+
"check_render_backend_availability",
|
|
149
|
+
"check_vercel_sandbox_availability",
|
|
150
|
+
"estimate_cloud_render_cost_usd",
|
|
151
|
+
"render_url",
|
|
152
|
+
"render_url_to_directory",
|
|
153
|
+
)
|
|
154
|
+
},
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
__all__ = list(PUBLIC_SDK_EXPORTS)
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
def __getattr__(name: str) -> Any:
|
|
161
|
+
"""Load one public SDK symbol on first access and cache it locally."""
|
|
162
|
+
target = _LAZY_EXPORTS.get(name)
|
|
163
|
+
if target is None:
|
|
164
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
165
|
+
module_name, attribute_name = target
|
|
166
|
+
value = getattr(import_module(module_name, __name__), attribute_name)
|
|
167
|
+
globals()[name] = value
|
|
168
|
+
return value
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
def __dir__() -> list[str]:
|
|
172
|
+
"""Include lazy public attributes in interactive discovery."""
|
|
173
|
+
return sorted(set(globals()) | set(__all__))
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
if TYPE_CHECKING:
|
|
177
|
+
from .cache import CacheManager, StreamingDeduplicator
|
|
178
|
+
from .context_ci import CIThresholds, ContextCIError, run_context_ci
|
|
179
|
+
from .context_packs import (
|
|
180
|
+
async_build_dataset_pack,
|
|
181
|
+
async_build_package_pack,
|
|
182
|
+
async_build_paper_pack,
|
|
183
|
+
async_build_repo_pack,
|
|
184
|
+
async_build_standards_pack,
|
|
185
|
+
async_build_transcript_pack,
|
|
186
|
+
async_build_wiki_pack,
|
|
187
|
+
build_brand_pack,
|
|
188
|
+
build_dataset_pack,
|
|
189
|
+
build_feed_pack,
|
|
190
|
+
build_image_pack,
|
|
191
|
+
build_openapi_pack,
|
|
192
|
+
build_package_pack,
|
|
193
|
+
build_paper_pack,
|
|
194
|
+
build_policy_pack,
|
|
195
|
+
build_product_pack,
|
|
196
|
+
build_relationship_pack,
|
|
197
|
+
build_repo_pack,
|
|
198
|
+
build_standards_pack,
|
|
199
|
+
build_styleguide_pack,
|
|
200
|
+
build_transcript_pack,
|
|
201
|
+
build_wiki_pack,
|
|
202
|
+
capture_screenshot_pack,
|
|
203
|
+
)
|
|
204
|
+
from .contracts import (
|
|
205
|
+
ArtifactManifest,
|
|
206
|
+
ChangeEvent,
|
|
207
|
+
CoverageResult,
|
|
208
|
+
EvidenceSpan,
|
|
209
|
+
IntelligenceBundle,
|
|
210
|
+
RelationshipCandidate,
|
|
211
|
+
RelationshipPack,
|
|
212
|
+
SourceAuthority,
|
|
213
|
+
WorkflowRequest,
|
|
214
|
+
WorkflowResult,
|
|
215
|
+
bundled_schema_path,
|
|
216
|
+
write_contract_schemas,
|
|
217
|
+
)
|
|
218
|
+
from .conversion.chunking import Chunk, TokenCounter, chunk_markdown
|
|
219
|
+
from .core.fetcher import Fetcher, fetch_blocking, fetch_one
|
|
220
|
+
from .document_parse import DocumentParseError, ParsedDocument, parse_documents, parse_one_document
|
|
221
|
+
from .exports import ExportResult, export_pack
|
|
222
|
+
from .graph import (
|
|
223
|
+
GraphError,
|
|
224
|
+
build_graph,
|
|
225
|
+
graph_neighbors,
|
|
226
|
+
graph_status,
|
|
227
|
+
load_graph,
|
|
228
|
+
query_graph,
|
|
229
|
+
refresh_graph,
|
|
230
|
+
)
|
|
231
|
+
from .local_workflows import audit_pack, refresh_pack
|
|
232
|
+
from .models.config import (
|
|
233
|
+
BudgetConfig,
|
|
234
|
+
CacheConfig,
|
|
235
|
+
ContentFilterConfig,
|
|
236
|
+
CrawlConfig,
|
|
237
|
+
DocpullConfig,
|
|
238
|
+
NetworkConfig,
|
|
239
|
+
OutputConfig,
|
|
240
|
+
PerformanceConfig,
|
|
241
|
+
ProfileName,
|
|
242
|
+
RenderActionPolicy,
|
|
243
|
+
RenderConfig,
|
|
244
|
+
RenderViewport,
|
|
245
|
+
)
|
|
246
|
+
from .models.events import EventType, FetchEvent, FetchStats
|
|
247
|
+
from .output_contract import validate_pack_contract
|
|
248
|
+
from .pack_reader import LocalPack, PackReadError, PackSource, load_pack
|
|
249
|
+
from .pack_tools import (
|
|
250
|
+
build_citation_map,
|
|
251
|
+
build_company_brain_bundle,
|
|
252
|
+
build_intelligence_bundle,
|
|
253
|
+
build_research_brief,
|
|
254
|
+
diff_packs,
|
|
255
|
+
extract_pack_entities,
|
|
256
|
+
prepare_pack,
|
|
257
|
+
score_pack,
|
|
258
|
+
score_pack_sources,
|
|
259
|
+
search_pack,
|
|
260
|
+
)
|
|
261
|
+
from .pipeline.base import PageContext
|
|
262
|
+
from .pipeline.steps import SqliteSearchResult, search_sqlite_documents
|
|
263
|
+
from .policy import PolicyConfig
|
|
264
|
+
from .rendering import (
|
|
265
|
+
AgentBrowserRenderer,
|
|
266
|
+
E2BSandboxRenderer,
|
|
267
|
+
RenderedPage,
|
|
268
|
+
Renderer,
|
|
269
|
+
RenderError,
|
|
270
|
+
RendererUnavailableError,
|
|
271
|
+
VercelSandboxRenderer,
|
|
272
|
+
agent_browser_binary,
|
|
273
|
+
check_agent_browser_availability,
|
|
274
|
+
check_e2b_sandbox_availability,
|
|
275
|
+
check_render_backend_availability,
|
|
276
|
+
check_vercel_sandbox_availability,
|
|
277
|
+
estimate_cloud_render_cost_usd,
|
|
278
|
+
render_url,
|
|
279
|
+
render_url_to_directory,
|
|
280
|
+
)
|
|
281
|
+
from .server import PackASGIApp, PackServerError, create_pack_app
|
|
282
|
+
from .share import ReportHTTPServer, ShareError, create_report_server, render_report_document
|
|
283
|
+
from .workflows import async_run_workflow, create_workflow_request, run_workflow
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
assert tuple(__all__) == PUBLIC_SDK_EXPORTS
|
|
287
|
+
assert set(_LAZY_EXPORTS) == set(__all__) - {"__version__"}
|