CHANGELOG.md
CITATION.cff
Dockerfile
Dockerfile.dockerignore
LICENSE
MANIFEST.in
PYPI_README.md
README.md
_build_backend.py
pyproject.toml
requirements-workspace.txt
docs/AgentTemplateAuthoring.md
docs/PackageArchitecture.md
docs/PyPI.md
docs/ResponsibleCrawling.md
docs/ThreatModel.md
examples/README.md
examples/__init__.py
examples/agent_template_authoring.py
examples/chihuahua_news.py
examples/hosted_cases.py
examples/hosted_quickstart.py
examples/local_cases.py
examples/local_quickstart.py
examples/workspace_quickstart.py
examples/jobsearch/__init__.py
examples/jobsearch/hosted.py
examples/jobsearch/local.py
examples/jobsearch/recipes.py
examples/jobsearch/validate_recipes.py
examples/marketplace/__init__.py
examples/marketplace/clothes/__init__.py
examples/marketplace/clothes/hosted.py
examples/marketplace/clothes/local.py
examples/marketplace/clothes/recipes.py
examples/marketplace/clothes/validate_recipes.py
examples/marketplace/mro/__init__.py
examples/marketplace/mro/hosted.py
examples/marketplace/mro/local.py
examples/marketplace/mro/recipes.py
examples/marketplace/other_industries/__init__.py
examples/marketplace/other_industries/hosted.py
examples/marketplace/other_industries/local.py
examples/marketplace/other_industries/recipes.py
examples/marketplace/other_industries/validate_recipes.py
examples/marketplace/premium_commerce/README.md
examples/marketplace/premium_commerce/__init__.py
examples/marketplace/premium_commerce/audit.py
examples/marketplace/premium_commerce/controlled-demo-summary.json
examples/marketplace/premium_commerce/controlled.py
examples/marketplace/premium_commerce/live-sources.json
examples/marketplace/premium_commerce/live.py
examples/marketplace/premium_commerce/local.py
examples/marketplace/premium_commerce/recipes.py
examples/marketplace/premium_commerce/research.md
examples/marketplace/premium_commerce/robots-audit-2026-10-11.json
examples/marketplace/supermarkets/__init__.py
examples/marketplace/supermarkets/hosted.py
examples/marketplace/supermarkets/local.py
examples/marketplace/supermarkets/recipes.py
examples/news/__init__.py
examples/news/chihuahua/__init__.py
examples/news/chihuahua/hosted.py
examples/news/chihuahua/local.py
examples/news/chihuahua/recipes.py
examples/news/mexico/__init__.py
examples/news/mexico/hosted.py
examples/news/mexico/local.py
examples/news/mexico/recipes.py
examples/news/stocks/__init__.py
examples/news/stocks/hosted.py
examples/news/stocks/local.py
examples/news/stocks/recipes.py
examples/shared/__init__.py
examples/shared/catalog.py
examples/shared/cli.py
examples/shared/fixtures.py
examples/shared/hosted.py
examples/shared/local.py
examples/shared/recipes.py
examples/shared/safety.py
examples/shared/validation.py
scripts/check-distributions.py
scripts/check-doc-links.py
scripts/check-release-ci.py
scripts/check-release.py
scripts/check-secrets.py
scripts/export-oss.py
scripts/smoke-distribution.py
src/pulsecrawl/__init__.py
src/pulsecrawl/cli.py
src/pulsecrawl/client.py
src/pulsecrawl/cloud.py
src/pulsecrawl/errors.py
src/pulsecrawl/local.py
src/pulsecrawl/local_dataset.py
src/pulsecrawl/local_scheduler.py
src/pulsecrawl/observability.py
src/pulsecrawl/sqlite_state.py
src/pulsecrawl/template_authoring.py
src/pulsecrawl/workspace.py
src/pulsecrawl/workspace_maintenance.py
src/pulsecrawl/workspace_runtime.py
src/pulsecrawl.egg-info/PKG-INFO
src/pulsecrawl.egg-info/SOURCES.txt
src/pulsecrawl.egg-info/dependency_links.txt
src/pulsecrawl.egg-info/entry_points.txt
src/pulsecrawl.egg-info/requires.txt
src/pulsecrawl.egg-info/top_level.txt
src/pulsecrawl/adapters/__init__.py
src/pulsecrawl/adapters/inbound/__init__.py
src/pulsecrawl/adapters/inbound/cli/__init__.py
src/pulsecrawl/adapters/inbound/cli/main.py
src/pulsecrawl/adapters/inbound/cli/parser.py
src/pulsecrawl/adapters/inbound/python/__init__.py
src/pulsecrawl/adapters/inbound/python/ephemeral.py
src/pulsecrawl/adapters/inbound/python/intent.py
src/pulsecrawl/adapters/inbound/python/local.py
src/pulsecrawl/adapters/inbound/python/resources.py
src/pulsecrawl/adapters/inbound/python/schedules.py
src/pulsecrawl/adapters/inbound/python/tasks.py
src/pulsecrawl/adapters/inbound/python/workspace.py
src/pulsecrawl/adapters/inbound/scheduler/__init__.py
src/pulsecrawl/adapters/inbound/scheduler/process.py
src/pulsecrawl/adapters/outbound/__init__.py
src/pulsecrawl/adapters/outbound/credentials/__init__.py
src/pulsecrawl/adapters/outbound/credentials/profiles.py
src/pulsecrawl/adapters/outbound/cron/__init__.py
src/pulsecrawl/adapters/outbound/cron/calculator.py
src/pulsecrawl/adapters/outbound/duckdb/__init__.py
src/pulsecrawl/adapters/outbound/duckdb/local_result.py
src/pulsecrawl/adapters/outbound/duckdb/query.py
src/pulsecrawl/adapters/outbound/filesystem/__init__.py
src/pulsecrawl/adapters/outbound/filesystem/atomic.py
src/pulsecrawl/adapters/outbound/filesystem/backup_io.py
src/pulsecrawl/adapters/outbound/filesystem/backups.py
src/pulsecrawl/adapters/outbound/filesystem/catalogs.py
src/pulsecrawl/adapters/outbound/filesystem/dataset_files.py
src/pulsecrawl/adapters/outbound/filesystem/doctor.py
src/pulsecrawl/adapters/outbound/filesystem/downloads.py
src/pulsecrawl/adapters/outbound/filesystem/drafts.py
src/pulsecrawl/adapters/outbound/filesystem/legacy_execution.py
src/pulsecrawl/adapters/outbound/filesystem/manifests.py
src/pulsecrawl/adapters/outbound/filesystem/pages.py
src/pulsecrawl/adapters/outbound/filesystem/publication.py
src/pulsecrawl/adapters/outbound/filesystem/retention.py
src/pulsecrawl/adapters/outbound/filesystem/windows_publication.py
src/pulsecrawl/adapters/outbound/filesystem/workspace.py
src/pulsecrawl/adapters/outbound/html/__init__.py
src/pulsecrawl/adapters/outbound/html/inspection.py
src/pulsecrawl/adapters/outbound/html/links.py
src/pulsecrawl/adapters/outbound/html/extraction/__init__.py
src/pulsecrawl/adapters/outbound/html/extraction/css.py
src/pulsecrawl/adapters/outbound/html/extraction/jsonld.py
src/pulsecrawl/adapters/outbound/html/extraction/meta.py
src/pulsecrawl/adapters/outbound/http/__init__.py
src/pulsecrawl/adapters/outbound/http/artifacts.py
src/pulsecrawl/adapters/outbound/http/client.py
src/pulsecrawl/adapters/outbound/http/constants.py
src/pulsecrawl/adapters/outbound/http/fetcher.py
src/pulsecrawl/adapters/outbound/http/scope.py
src/pulsecrawl/adapters/outbound/http/workspace.py
src/pulsecrawl/adapters/outbound/http/resources/__init__.py
src/pulsecrawl/adapters/outbound/http/resources/base.py
src/pulsecrawl/adapters/outbound/http/resources/datasets.py
src/pulsecrawl/adapters/outbound/http/resources/executions.py
src/pulsecrawl/adapters/outbound/http/resources/fields.py
src/pulsecrawl/adapters/outbound/http/resources/jobs.py
src/pulsecrawl/adapters/outbound/http/resources/organizations.py
src/pulsecrawl/adapters/outbound/http/resources/schedules.py
src/pulsecrawl/adapters/outbound/http/resources/schemas.py
src/pulsecrawl/adapters/outbound/http/resources/templates.py
src/pulsecrawl/adapters/outbound/http/resources/urls.py
src/pulsecrawl/adapters/outbound/memory/__init__.py
src/pulsecrawl/adapters/outbound/memory/crawling.py
src/pulsecrawl/adapters/outbound/memory/records.py
src/pulsecrawl/adapters/outbound/parquet/__init__.py
src/pulsecrawl/adapters/outbound/parquet/compaction.py
src/pulsecrawl/adapters/outbound/parquet/publication.py
src/pulsecrawl/adapters/outbound/sqlite/__init__.py
src/pulsecrawl/adapters/outbound/sqlite/clock.py
src/pulsecrawl/adapters/outbound/sqlite/crawling.py
src/pulsecrawl/adapters/outbound/sqlite/definitions.py
src/pulsecrawl/adapters/outbound/sqlite/executions.py
src/pulsecrawl/adapters/outbound/sqlite/health.py
src/pulsecrawl/adapters/outbound/sqlite/history.py
src/pulsecrawl/adapters/outbound/sqlite/leases.py
src/pulsecrawl/adapters/outbound/sqlite/maintenance_lease.py
src/pulsecrawl/adapters/outbound/sqlite/records.py
src/pulsecrawl/adapters/outbound/sqlite/scheduler_lease.py
src/pulsecrawl/adapters/outbound/sqlite/schedules.py
src/pulsecrawl/adapters/outbound/sqlite/state.py
src/pulsecrawl/application/__init__.py
src/pulsecrawl/application/telemetry.py
src/pulsecrawl/application/time.py
src/pulsecrawl/application/crawling/__init__.py
src/pulsecrawl/application/crawling/admission.py
src/pulsecrawl/application/crawling/dispatch.py
src/pulsecrawl/application/crawling/engine.py
src/pulsecrawl/application/crawling/pages.py
src/pulsecrawl/application/crawling/records.py
src/pulsecrawl/application/crawling/robots.py
src/pulsecrawl/application/datasets/__init__.py
src/pulsecrawl/application/datasets/publication.py
src/pulsecrawl/application/datasets/service.py
src/pulsecrawl/application/executions/__init__.py
src/pulsecrawl/application/executions/service.py
src/pulsecrawl/application/ports/__init__.py
src/pulsecrawl/application/ports/cloud.py
src/pulsecrawl/application/ports/crawling.py
src/pulsecrawl/application/ports/workspace.py
src/pulsecrawl/application/scheduling/__init__.py
src/pulsecrawl/application/scheduling/service.py
src/pulsecrawl/application/synchronization/__init__.py
src/pulsecrawl/application/synchronization/profiles.py
src/pulsecrawl/application/synchronization/service.py
src/pulsecrawl/application/templates/__init__.py
src/pulsecrawl/application/templates/authoring.py
src/pulsecrawl/application/templates/resolution.py
src/pulsecrawl/application/templates/validation.py
src/pulsecrawl/application/workspace/__init__.py
src/pulsecrawl/application/workspace/catalogs.py
src/pulsecrawl/application/workspace/jobs.py
src/pulsecrawl/application/workspace/maintenance.py
src/pulsecrawl/application/workspace/validation.py
src/pulsecrawl/bootstrap/__init__.py
src/pulsecrawl/bootstrap/authoring.py
src/pulsecrawl/bootstrap/cloud.py
src/pulsecrawl/bootstrap/crawling.py
src/pulsecrawl/bootstrap/datasets.py
src/pulsecrawl/bootstrap/ephemeral.py
src/pulsecrawl/bootstrap/maintenance.py
src/pulsecrawl/bootstrap/workspace.py
src/pulsecrawl/core/__init__.py
src/pulsecrawl/core/coerce.py
src/pulsecrawl/core/engine.py
src/pulsecrawl/core/local.py
src/pulsecrawl/core/model.py
src/pulsecrawl/core/politeness.py
src/pulsecrawl/core/ports.py
src/pulsecrawl/core/robots.py
src/pulsecrawl/core/urls.py
src/pulsecrawl/core/adapters/__init__.py
src/pulsecrawl/core/adapters/aiohttp_fetcher.py
src/pulsecrawl/core/adapters/memory.py
src/pulsecrawl/core/extraction/__init__.py
src/pulsecrawl/core/extraction/css.py
src/pulsecrawl/core/extraction/jsonld.py
src/pulsecrawl/core/extraction/meta.py
src/pulsecrawl/domain/__init__.py
src/pulsecrawl/domain/errors.py
src/pulsecrawl/domain/crawling/__init__.py
src/pulsecrawl/domain/crawling/model.py
src/pulsecrawl/domain/crawling/politeness.py
src/pulsecrawl/domain/crawling/retry.py
src/pulsecrawl/domain/crawling/urls.py
src/pulsecrawl/domain/datasets/__init__.py
src/pulsecrawl/domain/datasets/identity.py
src/pulsecrawl/domain/executions/__init__.py
src/pulsecrawl/domain/executions/lifecycle.py
src/pulsecrawl/domain/scheduling/__init__.py
src/pulsecrawl/domain/scheduling/identity.py
src/pulsecrawl/domain/synchronization/__init__.py
src/pulsecrawl/domain/synchronization/planner.py
src/pulsecrawl/domain/synchronization/profiles.py
src/pulsecrawl/domain/templates/__init__.py
src/pulsecrawl/domain/templates/authoring.py
src/pulsecrawl/domain/templates/coercion.py
src/pulsecrawl/domain/templates/selection.py
src/pulsecrawl/domain/workspace/__init__.py
src/pulsecrawl/domain/workspace/definitions.py
tests/test_business_scenarios.py
tests/test_client.py
tests/test_cloud.py
tests/test_container_dependencies.py
tests/test_dataset_versions.py
tests/test_example_workflows.py
tests/test_failure_scenarios.py
tests/test_hosted_examples.py
tests/test_live_commerce_example.py
tests/test_local.py
tests/test_premium_commerce_example.py
tests/test_production_validation.py
tests/test_release_artifacts.py
tests/test_release_ci.py
tests/test_soak_validation.py
tests/test_template_authoring.py
tests/test_workspace_hardening.py
tests/test_workspace_runtime.py
tests/application/test_execution_service.py
tests/application/test_publication_order.py
tests/architecture/test_boundaries.py
tests/contracts/test_artifact_downloads.py
tests/contracts/test_backup_publication.py
tests/contracts/test_crawling_adapters.py
tests/contracts/test_durable_file_flush.py
tests/contracts/test_execution_preparation.py
tests/contracts/test_sqlite_cursor_synchronization.py
tests/core/__init__.py
tests/core/conftest.py
tests/core/test_aiohttp_fetcher.py
tests/core/test_coerce.py
tests/core/test_conformance.py
tests/core/test_engine.py
tests/core/test_extraction.py
tests/core/test_local.py
tests/core/test_model.py
tests/core/test_robots.py
tests/core/test_urls.py
tests/domain/test_lifecycle_policies.py
tools/soak_workspace.py