offprint 0.0.3__tar.gz → 0.0.6__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.
- {offprint-0.0.3 → offprint-0.0.6}/PKG-INFO +3 -4
- {offprint-0.0.3 → offprint-0.0.6}/README.md +2 -2
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/Cargo.lock +16 -16
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/Cargo.toml +15 -15
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/capture/src/content_store.rs +51 -7
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/generated/collector.js +148 -96
- offprint-0.0.6/offprint-rs/chromium/generated/collector.sha256 +1 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/lib.rs +1 -1
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/offline.rs +61 -64
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/activity.rs +3 -10
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/interception.rs +6 -14
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/lifecycle.rs +5 -9
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/navigation.rs +10 -3
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/offline.rs +1 -1
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page.rs +4 -3
- offprint-0.0.6/offprint-rs/chromium/src/pdf/prepare.js +166 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/pdf.rs +1 -52
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/proxy.rs +108 -17
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/resources/identity.rs +32 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/resources.rs +5 -11
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/targets/tests.rs +3 -75
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/targets.rs +29 -79
- offprint-0.0.6/offprint-rs/chromium/src/transport/events/queue.rs +394 -0
- offprint-0.0.6/offprint-rs/chromium/src/transport/events.rs +498 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/transport/tests.rs +71 -4
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/transport.rs +26 -60
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/tests/browser_smoke.rs +31 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/artifact_service/export.rs +3 -4
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/artifact_service/markdown_bundle.rs +3 -3
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/artifact_service.rs +5 -117
- offprint-0.0.6/offprint-rs/core/src/bounded_io.rs +169 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/lib.rs +1 -0
- offprint-0.0.6/offprint-rs/core/src/runtime/checkpoints.rs +257 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/runtime/configuration.rs +1 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/runtime.rs +9 -1
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/scheduler/resume.rs +139 -61
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/scheduler.rs +84 -25
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/artifact_exports.rs +314 -0
- offprint-0.0.6/offprint-rs/core/tests/parallel_capture.rs +126 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/discover/css.rs +17 -29
- offprint-0.0.6/offprint-rs/document/src/discover/rewrite.rs +78 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/discover.rs +4 -17
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/serialize.rs +4 -6
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf/metadata/model.rs +12 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf/metadata/tests.rs +49 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf/metadata.rs +13 -8
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf.rs +14 -16
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/test-support/src/manifest/model.rs +2 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/test-support/src/manifest.rs +74 -0
- {offprint-0.0.3 → offprint-0.0.6}/pyproject.toml +2 -3
- offprint-0.0.3/THIRD_PARTY_NOTICES.txt +0 -12930
- offprint-0.0.3/offprint-rs/chromium/generated/collector.sha256 +0 -1
- {offprint-0.0.3 → offprint-0.0.6}/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/filename.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/memory.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output/commit.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output/durable.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output/fault.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output/journal.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output/payload.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output/plan.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output/recovery.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/multi_output.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/src/transaction.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/artifact/tests/relative_output.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/browser/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/browser/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/browser/src/backend.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/browser/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/browser/src/network/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/browser/src/network.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/browser/src/observation.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/capture/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/capture/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/capture/src/budget.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/capture/src/cancellation.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/capture/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/capture/src/state.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/capture/src/validated.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/NOTICE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/backend/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/backend.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/cdp/generated/cdp_browser.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/cdp/generated/cdp_page.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/cdp/generated/cdp_target.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/cdp/generated/mod.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/cdp.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/collector.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/discovery.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/launch.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/managed/archive.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/managed/cache.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/managed/catalog.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/managed/download.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/managed/installed.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/managed/leases.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/managed.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/frame_owner.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/interception/paused.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/resource.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/page/visual_fallback.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/remote.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/resources/normalization.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/resources/storage.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/resources/stream.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/resources/tasks.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/chromium/src/resources/test_support.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/command.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/config/browser.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/config/document.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/config/environment.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/config/profile.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/config/resolve.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/config/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/config/value.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/config.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/credentials.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/main.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/output.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/process.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/arguments.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/artifacts.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/batch.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/browser.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/capture/execute.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/capture/finish.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/capture/plan.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/capture.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/crawl.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/diagnostics.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/dispatch.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/export.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/input.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/scheduler.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/src/runner.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/tests/metadata_cli.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/tests/release_archive_smoke.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/cli/tests/staging_error_cli.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/README.md +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/examples/capture_file.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/examples/capture_memory.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/examples/custom_network.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/browser_service.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/capture_builder.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/capture_service/diagnostics.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/capture_service/events.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/capture_service.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/dependencies.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/diagnostics.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/pipeline/artifact.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/pipeline/frames.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/pipeline/offline.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/pipeline/render.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/pipeline/resource_materialization.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/pipeline.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/runtime/browser/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/runtime/browser.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/runtime/context.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/runtime/lifecycle.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/scheduler/job.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/src/verified_html.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/capture_regressions.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/custom_backend.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/diagnostics.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/differential.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/fixture_matrix.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/remote_browser.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/repeated_capture.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/core/tests/request_api.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/discover/html.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/discover/svg.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/document/frame.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/document/mod.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/document/parse.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/document/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/policy.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/resource.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/sanitize.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/document/src/state.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/markdown/output.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/markdown.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/mhtml.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf/metadata/apply.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf/metadata/source.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf/metadata/verify.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf/metadata/xmp.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/pdf/semantics.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/self_extracting.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/support.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/export/src/zip.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/csp.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/encode.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/fallback.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/repair.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/sandbox.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/state.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/verified.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/verify/active_content.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/verify/manifest.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/verify/resource.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/verify/structure.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/html/src/verify.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/artifact.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/browser.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/credentials.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/error/catalog/definitions.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/error/catalog.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/error/mod.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/error/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/event.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/export.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/id.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/path.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/policy.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/request.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/resource.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/result.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/schedule.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/structural.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/model/src/url_value.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/protocol/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/protocol/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/protocol/fixtures/collector-responses.json +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/protocol/src/chunk.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/protocol/src/handshake.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/protocol/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/protocol/src/message.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/protocol/src/transfer.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/python/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/python/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/test-support/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/test-support/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/test-support/src/server/http.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/test-support/src/server/tests.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/test-support/src/server.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/transform/Cargo.toml +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/transform/LICENSE +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/offprint-rs/transform/src/lib.rs +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/__init__.py +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/__init__.pyi +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/__main__.py +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/_api.py +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/_cli.py +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/_native.pyi +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/contracts.py +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/exceptions.py +0 -0
- {offprint-0.0.3 → offprint-0.0.6}/src/offprint/py.typed +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: offprint
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.6
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Programming Language :: Python
|
|
6
6
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
@@ -12,7 +12,6 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
12
12
|
Classifier: Programming Language :: Rust
|
|
13
13
|
Classifier: Typing :: Typed
|
|
14
14
|
License-File: LICENSE
|
|
15
|
-
License-File: THIRD_PARTY_NOTICES.txt
|
|
16
15
|
Summary: Capture rendered web pages as verified self-contained artifacts
|
|
17
16
|
License-Expression: MIT
|
|
18
17
|
Requires-Python: >=3.10, <3.15
|
|
@@ -42,10 +41,10 @@ uvx offprint capture https://example.com --output example.html --quiet
|
|
|
42
41
|
|
|
43
42
|
## Use in an application
|
|
44
43
|
|
|
45
|
-
Install version 0.0.
|
|
44
|
+
Install version 0.0.6:
|
|
46
45
|
|
|
47
46
|
```console
|
|
48
|
-
python -m pip install offprint==0.0.
|
|
47
|
+
python -m pip install offprint==0.0.6
|
|
49
48
|
```
|
|
50
49
|
|
|
51
50
|
```python
|
|
@@ -19,10 +19,10 @@ uvx offprint capture https://example.com --output example.html --quiet
|
|
|
19
19
|
|
|
20
20
|
## Use in an application
|
|
21
21
|
|
|
22
|
-
Install version 0.0.
|
|
22
|
+
Install version 0.0.6:
|
|
23
23
|
|
|
24
24
|
```console
|
|
25
|
-
python -m pip install offprint==0.0.
|
|
25
|
+
python -m pip install offprint==0.0.6
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
```python
|
|
@@ -1482,7 +1482,7 @@ dependencies = [
|
|
|
1482
1482
|
|
|
1483
1483
|
[[package]]
|
|
1484
1484
|
name = "offprint"
|
|
1485
|
-
version = "0.0.
|
|
1485
|
+
version = "0.0.6"
|
|
1486
1486
|
dependencies = [
|
|
1487
1487
|
"async-trait",
|
|
1488
1488
|
"base64",
|
|
@@ -1519,7 +1519,7 @@ dependencies = [
|
|
|
1519
1519
|
|
|
1520
1520
|
[[package]]
|
|
1521
1521
|
name = "offprint-artifact"
|
|
1522
|
-
version = "0.0.
|
|
1522
|
+
version = "0.0.6"
|
|
1523
1523
|
dependencies = [
|
|
1524
1524
|
"camino",
|
|
1525
1525
|
"fs2",
|
|
@@ -1535,7 +1535,7 @@ dependencies = [
|
|
|
1535
1535
|
|
|
1536
1536
|
[[package]]
|
|
1537
1537
|
name = "offprint-browser"
|
|
1538
|
-
version = "0.0.
|
|
1538
|
+
version = "0.0.6"
|
|
1539
1539
|
dependencies = [
|
|
1540
1540
|
"async-trait",
|
|
1541
1541
|
"bytes",
|
|
@@ -1550,7 +1550,7 @@ dependencies = [
|
|
|
1550
1550
|
|
|
1551
1551
|
[[package]]
|
|
1552
1552
|
name = "offprint-capture"
|
|
1553
|
-
version = "0.0.
|
|
1553
|
+
version = "0.0.6"
|
|
1554
1554
|
dependencies = [
|
|
1555
1555
|
"bytes",
|
|
1556
1556
|
"futures-util",
|
|
@@ -1564,7 +1564,7 @@ dependencies = [
|
|
|
1564
1564
|
|
|
1565
1565
|
[[package]]
|
|
1566
1566
|
name = "offprint-chromium"
|
|
1567
|
-
version = "0.0.
|
|
1567
|
+
version = "0.0.6"
|
|
1568
1568
|
dependencies = [
|
|
1569
1569
|
"async-trait",
|
|
1570
1570
|
"base64",
|
|
@@ -1593,7 +1593,7 @@ dependencies = [
|
|
|
1593
1593
|
|
|
1594
1594
|
[[package]]
|
|
1595
1595
|
name = "offprint-cli"
|
|
1596
|
-
version = "0.0.
|
|
1596
|
+
version = "0.0.6"
|
|
1597
1597
|
dependencies = [
|
|
1598
1598
|
"camino",
|
|
1599
1599
|
"clap",
|
|
@@ -1615,7 +1615,7 @@ dependencies = [
|
|
|
1615
1615
|
|
|
1616
1616
|
[[package]]
|
|
1617
1617
|
name = "offprint-document"
|
|
1618
|
-
version = "0.0.
|
|
1618
|
+
version = "0.0.6"
|
|
1619
1619
|
dependencies = [
|
|
1620
1620
|
"cssparser",
|
|
1621
1621
|
"html5ever",
|
|
@@ -1629,7 +1629,7 @@ dependencies = [
|
|
|
1629
1629
|
|
|
1630
1630
|
[[package]]
|
|
1631
1631
|
name = "offprint-export"
|
|
1632
|
-
version = "0.0.
|
|
1632
|
+
version = "0.0.6"
|
|
1633
1633
|
dependencies = [
|
|
1634
1634
|
"base64",
|
|
1635
1635
|
"data-url",
|
|
@@ -1648,7 +1648,7 @@ dependencies = [
|
|
|
1648
1648
|
|
|
1649
1649
|
[[package]]
|
|
1650
1650
|
name = "offprint-html"
|
|
1651
|
-
version = "0.0.
|
|
1651
|
+
version = "0.0.6"
|
|
1652
1652
|
dependencies = [
|
|
1653
1653
|
"base64",
|
|
1654
1654
|
"chrono",
|
|
@@ -1663,7 +1663,7 @@ dependencies = [
|
|
|
1663
1663
|
|
|
1664
1664
|
[[package]]
|
|
1665
1665
|
name = "offprint-model"
|
|
1666
|
-
version = "0.0.
|
|
1666
|
+
version = "0.0.6"
|
|
1667
1667
|
dependencies = [
|
|
1668
1668
|
"camino",
|
|
1669
1669
|
"chrono",
|
|
@@ -1680,7 +1680,7 @@ dependencies = [
|
|
|
1680
1680
|
|
|
1681
1681
|
[[package]]
|
|
1682
1682
|
name = "offprint-protocol"
|
|
1683
|
-
version = "0.0.
|
|
1683
|
+
version = "0.0.6"
|
|
1684
1684
|
dependencies = [
|
|
1685
1685
|
"crc32fast",
|
|
1686
1686
|
"offprint-model",
|
|
@@ -1692,7 +1692,7 @@ dependencies = [
|
|
|
1692
1692
|
|
|
1693
1693
|
[[package]]
|
|
1694
1694
|
name = "offprint-python"
|
|
1695
|
-
version = "0.0.
|
|
1695
|
+
version = "0.0.6"
|
|
1696
1696
|
dependencies = [
|
|
1697
1697
|
"futures-util",
|
|
1698
1698
|
"offprint",
|
|
@@ -1707,7 +1707,7 @@ dependencies = [
|
|
|
1707
1707
|
|
|
1708
1708
|
[[package]]
|
|
1709
1709
|
name = "offprint-test-support"
|
|
1710
|
-
version = "0.0.
|
|
1710
|
+
version = "0.0.6"
|
|
1711
1711
|
dependencies = [
|
|
1712
1712
|
"base64",
|
|
1713
1713
|
"flate2",
|
|
@@ -1726,7 +1726,7 @@ dependencies = [
|
|
|
1726
1726
|
|
|
1727
1727
|
[[package]]
|
|
1728
1728
|
name = "offprint-transform"
|
|
1729
|
-
version = "0.0.
|
|
1729
|
+
version = "0.0.6"
|
|
1730
1730
|
dependencies = [
|
|
1731
1731
|
"offprint-document",
|
|
1732
1732
|
"offprint-html",
|
|
@@ -2449,9 +2449,9 @@ dependencies = [
|
|
|
2449
2449
|
|
|
2450
2450
|
[[package]]
|
|
2451
2451
|
name = "rustls"
|
|
2452
|
-
version = "0.23.
|
|
2452
|
+
version = "0.23.45"
|
|
2453
2453
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2454
|
-
checksum = "
|
|
2454
|
+
checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634"
|
|
2455
2455
|
dependencies = [
|
|
2456
2456
|
"aws-lc-rs",
|
|
2457
2457
|
"once_cell",
|
|
@@ -4,7 +4,7 @@ members = ["python", "core", "artifact", "browser", "capture", "chromium", "cli"
|
|
|
4
4
|
resolver = "3"
|
|
5
5
|
|
|
6
6
|
[workspace.package]
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.6"
|
|
8
8
|
edition = "2024"
|
|
9
9
|
rust-version = "1.97"
|
|
10
10
|
license = "MIT"
|
|
@@ -52,7 +52,7 @@ reqwest = { version = "0.13.1", default-features = false, features = [
|
|
|
52
52
|
"rustls",
|
|
53
53
|
"stream",
|
|
54
54
|
] }
|
|
55
|
-
rustls = { version = "0.23.
|
|
55
|
+
rustls = { version = "0.23.45", default-features = false, features = [
|
|
56
56
|
"aws_lc_rs",
|
|
57
57
|
"std",
|
|
58
58
|
"tls12",
|
|
@@ -94,19 +94,19 @@ url = { version = "2.5.8", features = ["serde"] }
|
|
|
94
94
|
zeroize = "1.8.2"
|
|
95
95
|
zip = { version = "8.2.0", default-features = false, features = ["deflate"] }
|
|
96
96
|
|
|
97
|
-
offprint = { version = "0.0.
|
|
98
|
-
offprint-artifact = { version = "0.0.
|
|
99
|
-
offprint-browser = { version = "0.0.
|
|
100
|
-
offprint-capture = { version = "0.0.
|
|
101
|
-
offprint-chromium = { version = "0.0.
|
|
102
|
-
offprint-cli = { version = "0.0.
|
|
103
|
-
offprint-document = { version = "0.0.
|
|
104
|
-
offprint-export = { version = "0.0.
|
|
105
|
-
offprint-html = { version = "0.0.
|
|
106
|
-
offprint-model = { version = "0.0.
|
|
107
|
-
offprint-protocol = { version = "0.0.
|
|
108
|
-
offprint-test-support = { version = "0.0.
|
|
109
|
-
offprint-transform = { version = "0.0.
|
|
97
|
+
offprint = { version = "0.0.6", path = "core" }
|
|
98
|
+
offprint-artifact = { version = "0.0.6", path = "artifact" }
|
|
99
|
+
offprint-browser = { version = "0.0.6", path = "browser" }
|
|
100
|
+
offprint-capture = { version = "0.0.6", path = "capture" }
|
|
101
|
+
offprint-chromium = { version = "0.0.6", path = "chromium" }
|
|
102
|
+
offprint-cli = { version = "0.0.6", path = "cli" }
|
|
103
|
+
offprint-document = { version = "0.0.6", path = "document" }
|
|
104
|
+
offprint-export = { version = "0.0.6", path = "export" }
|
|
105
|
+
offprint-html = { version = "0.0.6", path = "html" }
|
|
106
|
+
offprint-model = { version = "0.0.6", path = "model" }
|
|
107
|
+
offprint-protocol = { version = "0.0.6", path = "protocol" }
|
|
108
|
+
offprint-test-support = { version = "0.0.6", path = "test-support" }
|
|
109
|
+
offprint-transform = { version = "0.0.6", path = "transform" }
|
|
110
110
|
processkit = "3.0.2"
|
|
111
111
|
proptest = "1.9.0"
|
|
112
112
|
pulldown-cmark = { version = "0.13.4", default-features = false }
|
|
@@ -196,20 +196,17 @@ impl ContentStore {
|
|
|
196
196
|
format!("failed to flush temporary resource content: {error}"),
|
|
197
197
|
)
|
|
198
198
|
})?;
|
|
199
|
-
file.sync_all().await.map_err(|error| {
|
|
200
|
-
content_error(
|
|
201
|
-
"offprint.resource.store",
|
|
202
|
-
format!("failed to sync temporary resource content: {error}"),
|
|
203
|
-
)
|
|
204
|
-
})?;
|
|
205
|
-
drop(file);
|
|
206
199
|
let digest = ContentDigest::from_bytes(digest.finalize().into());
|
|
207
200
|
if let Some(content) = self.entries.get(&digest) {
|
|
201
|
+
drop(file);
|
|
208
202
|
return Ok(ContentInsertion {
|
|
209
203
|
content: content.clone(),
|
|
210
204
|
new_content: false,
|
|
211
205
|
});
|
|
212
206
|
}
|
|
207
|
+
// Flush completes Tokio's pending writes before the capture reads this
|
|
208
|
+
// temporary entry. Artifact delivery owns durable file synchronization.
|
|
209
|
+
drop(file);
|
|
213
210
|
let destination = self.directory.path().join(digest.to_hex());
|
|
214
211
|
path.persist(&destination).map_err(|error| {
|
|
215
212
|
content_error(
|
|
@@ -310,6 +307,34 @@ mod tests {
|
|
|
310
307
|
})
|
|
311
308
|
}
|
|
312
309
|
|
|
310
|
+
#[test]
|
|
311
|
+
fn duplicate_streams_keep_receive_limits_and_release_temporary_entries()
|
|
312
|
+
-> Result<(), Box<dyn std::error::Error>> {
|
|
313
|
+
runtime()?.block_on(async {
|
|
314
|
+
let mut store = ContentStore::new()?;
|
|
315
|
+
let first = store.insert_bytes(b"same".to_vec(), 4, 8).await?;
|
|
316
|
+
let stream = futures_util::stream::iter([
|
|
317
|
+
Ok(Bytes::from_static(b"sa")),
|
|
318
|
+
Ok(Bytes::from_static(b"me")),
|
|
319
|
+
]);
|
|
320
|
+
let duplicate = store.insert_stream(stream, 4, 8).await?;
|
|
321
|
+
assert!(!duplicate.new_content);
|
|
322
|
+
assert_eq!(duplicate.content, first.content);
|
|
323
|
+
assert_eq!(duplicate.content.read(4).await?, b"same");
|
|
324
|
+
assert_eq!(store.received_bytes(), 8);
|
|
325
|
+
assert_eq!(std::fs::read_dir(store.directory.path())?.count(), 1);
|
|
326
|
+
|
|
327
|
+
let error = store.insert_bytes(b"same".to_vec(), 4, 8).await;
|
|
328
|
+
assert_eq!(
|
|
329
|
+
error.err().map(|error| error.code.to_string()),
|
|
330
|
+
Some("offprint.resource.limit".into())
|
|
331
|
+
);
|
|
332
|
+
assert_eq!(std::fs::read_dir(store.directory.path())?.count(), 1);
|
|
333
|
+
assert_eq!(first.content.read(4).await?, b"same");
|
|
334
|
+
Ok(())
|
|
335
|
+
})
|
|
336
|
+
}
|
|
337
|
+
|
|
313
338
|
#[test]
|
|
314
339
|
fn stored_content_read_enforces_limits_and_detects_changed_length()
|
|
315
340
|
-> Result<(), Box<dyn std::error::Error>> {
|
|
@@ -375,6 +400,25 @@ mod tests {
|
|
|
375
400
|
Ok(())
|
|
376
401
|
}
|
|
377
402
|
|
|
403
|
+
#[test]
|
|
404
|
+
fn completed_stream_is_readable_until_store_drop() -> Result<(), Box<dyn std::error::Error>> {
|
|
405
|
+
runtime()?.block_on(async {
|
|
406
|
+
let mut store = ContentStore::new()?;
|
|
407
|
+
let chunks = futures_util::stream::iter([
|
|
408
|
+
Ok(Bytes::from_static(b"first")),
|
|
409
|
+
Ok(Bytes::from_static(b"second")),
|
|
410
|
+
]);
|
|
411
|
+
let inserted = store.insert_stream(chunks, 11, 11).await?;
|
|
412
|
+
assert_eq!(inserted.content.read(11).await?, b"firstsecond");
|
|
413
|
+
assert_eq!(store.received_bytes(), 11);
|
|
414
|
+
assert_eq!(store.unique_bytes(), 11);
|
|
415
|
+
let path = inserted.content.path().to_owned();
|
|
416
|
+
drop(store);
|
|
417
|
+
assert!(!path.exists());
|
|
418
|
+
Ok(())
|
|
419
|
+
})
|
|
420
|
+
}
|
|
421
|
+
|
|
378
422
|
proptest! {
|
|
379
423
|
#![proptest_config({
|
|
380
424
|
let mut config = ProptestConfig::default();
|