#478 by GitHub stars

landing-ai/ade-cli

Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI. A local job-item store makes every run idempotent, resumable, and citable — repeat runs are free, interrupted runs resume, and every answer can cite element ids with visual evidence

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

d1995ffef4e6 → d1995ffef4e6

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → d1995ffef4e6

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit d1995ffef4e63a2a1c2774d9add93368889353c5

git clone --filter=blob:none --no-checkout https://github.com/landing-ai/ade-cli.git .hotskills/landing-ai-ade-cli && git -C .hotskills/landing-ai-ade-cli checkout --detach d1995ffef4e63a2a1c2774d9add93368889353c5 # Copy each selected skill directory from .hotskills/landing-ai-ade-cli into .claude/skills/<skill-name>/
2.4kGitHub stars
1star in 7 days
1skill in this repository
0commits in 30 days

Heat

2.1
  • Star growth, last 7 daysAhead of 35% of tracked repositories
  • Star growth, last 24 hoursAhead of 3% of tracked repositories
  • Rank movement, last 7 daysAhead of 36% of tracked repositories
  • Commits, last 30 daysAhead of 0% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Jul 28, 2026Nov 3, 20262,425

Individual skills in this repository

How it works

ade

When your agent uses it

Parse documents and extract schema-shaped data with the ADE (Agentic Document Extraction) v2 APIs through the ade CLI. A local job-item store makes every run idempotent, resumable, and citable — repeat runs are free, interrupted runs resume, and every answer can cite element ids with visual evidence.

What it loads into context

Frontmatter

69 tokens

Always available to the agent

SKILL.md

2,345 tokens

When the skill is activated

Reference documents

31,127 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. First move
  2. Conventions
  3. The loop
  4. Reuse posture — parse bills once
  5. Pending and resume
  6. Exit codes
  7. Reading the store directly
  8. Sharp edges

Scripts executed separately

  • packaging/pyinstaller_entry.py
  • scripts/install.cmd
  • scripts/install.ps1
  • scripts/install.sh
  • scripts/update_help_reference.py
  • src/ade_cli/__init__.py
  • src/ade_cli/__main__.py
  • src/ade_cli/attach.py
  • src/ade_cli/auth.py
  • src/ade_cli/config.py
  • src/ade_cli/credentials.py
  • src/ade_cli/crop.py
  • src/ade_cli/elements.py
  • src/ade_cli/evidence.py
  • src/ade_cli/extract.py
  • src/ade_cli/filelock.py
  • src/ade_cli/find.py
  • src/ade_cli/gateway.py
  • src/ade_cli/guarantee.py
  • src/ade_cli/help.py
  • src/ade_cli/history.py
  • src/ade_cli/historyjs.py
  • src/ade_cli/items.py
  • src/ade_cli/main.py
  • src/ade_cli/oauth.py
  • src/ade_cli/output.py
  • src/ade_cli/parse.py
  • src/ade_cli/ports.py
  • src/ade_cli/raster.py
  • src/ade_cli/serve.py
  • src/ade_cli/shipping.py
  • src/ade_cli/store.py
  • src/ade_cli/surface.py
  • src/ade_cli/telemetry.py
  • src/ade_cli/term.py
  • src/ade_cli/update.py
  • src/ade_cli/useragent.py
  • src/ade_cli/view.py
  • tests/conftest.py
  • tests/extract_fixtures.py
  • tests/integration/test_production.py
  • tests/parse_fixtures.py
  • tests/test_auth.py
  • tests/test_auth_oauth.py
  • tests/test_crop.py
  • tests/test_env_targeting.py
  • tests/test_evidence.py
  • tests/test_extract.py
  • tests/test_extract_document.py
  • tests/test_find.py
  • tests/test_help.py
  • tests/test_help_style.py
  • tests/test_history.py
  • tests/test_identity.py
  • tests/test_output.py
  • tests/test_parse.py
  • tests/test_parse_guarantee.py
  • tests/test_progress.py
  • tests/test_release_pipeline.py
  • tests/test_serve.py
  • tests/test_shipping.py
  • tests/test_surface.py
  • tests/test_telemetry.py
  • tests/test_templates.py
  • tests/test_term.py
  • tests/test_update.py
  • tests/test_useragent.py
  • tests/test_version.py
  • tests/test_view.py
  • tests/test_windows_hardening.py

Files

  • .claude/skills/verify/SKILL.mddoc1,543 bytes
  • .gitattributesasset120 bytes
  • .github/workflows/ci.ymlasset801 bytes
  • .github/workflows/integration.ymlasset2,647 bytes
  • .github/workflows/notify-docs.ymlasset1,113 bytes
  • .github/workflows/release.ymlasset9,277 bytes
  • .gitignoreasset88 bytes
  • CLAUDE.mddoc752 bytes
  • CONTEXT.mddoc8,502 bytes
  • CONTRIBUTING.mddoc3,813 bytes
  • LICENSEasset11,357 bytes
  • README.mddoc5,483 bytes
  • SKILL.mdcore9,497 bytes
  • SKILL.mdcore9,497 bytes
  • docs/ade-cli-v2-proposal.mddoc57,616 bytes
  • docs/adr/0001-auth-login-selects-logout-per-env.mddoc2,867 bytes
  • docs/adr/0002-login-method-menu.mddoc4,417 bytes
  • docs/adr/0003-per-invocation-environment.mddoc4,593 bytes
  • docs/adr/0004-oauth-dark-at-launch.mddoc2,207 bytes
  • docs/adr/0005-two-doors-serve-and-file.mddoc3,899 bytes
  • docs/adr/0006-usage-ledger-ships-after-every-command.mddoc3,440 bytes
  • docs/adr/0007-login-verifies-the-api-key.mddoc3,609 bytes
  • docs/adr/0008-oauth-login-goes-public.mddoc1,984 bytes
  • docs/adr/0009-org-selection-rides-x-org-id.mddoc3,095 bytes
  • docs/agents/domain.mddoc1,635 bytes
  • docs/agents/issue-tracker.mddoc3,745 bytes
  • docs/agents/triage-labels.mddoc1,045 bytes
  • docs/agents/writing-style.mddoc1,765 bytes
  • docs/reference/help.jsonasset56,393 bytes
  • docs/telemetry.mddoc9,011 bytes
  • docs/user-agent.mddoc3,522 bytes
  • openapi.jsonasset151,410 bytes
  • packaging/pyinstaller_entry.pyruns228 bytes
  • pyproject.tomlasset888 bytes
  • scripts/install.cmdruns1,023 bytes
  • scripts/install.ps1runs6,331 bytes
  • scripts/install.shruns8,471 bytes
  • scripts/update_help_reference.pyruns1,336 bytes
  • src/ade_cli/__init__.pyruns0 bytes
  • src/ade_cli/__main__.pyruns230 bytes
  • src/ade_cli/attach.pyruns10,412 bytes
  • src/ade_cli/auth.pyruns43,811 bytes
  • src/ade_cli/auth_callback.htmlasset13,396 bytes
  • src/ade_cli/config.pyruns4,478 bytes
  • src/ade_cli/credentials.pyruns8,743 bytes
  • src/ade_cli/crop.pyruns17,445 bytes
  • src/ade_cli/crop_template.htmlasset39,498 bytes
  • src/ade_cli/elements.pyruns4,234 bytes
  • src/ade_cli/evidence.pyruns6,684 bytes
  • src/ade_cli/extract.pyruns38,405 bytes
  • src/ade_cli/filelock.pyruns5,473 bytes
  • src/ade_cli/find.pyruns7,783 bytes
  • src/ade_cli/gateway.pyruns11,652 bytes
  • src/ade_cli/guarantee.pyruns36,179 bytes
  • src/ade_cli/help.pyruns35,357 bytes
  • src/ade_cli/history.pyruns21,923 bytes
  • src/ade_cli/historyjs.pyruns9,527 bytes
  • src/ade_cli/items.pyruns15,899 bytes
  • src/ade_cli/main.pyruns6,967 bytes
  • src/ade_cli/oauth.pyruns25,012 bytes
  • src/ade_cli/output.pyruns6,334 bytes
  • src/ade_cli/parse.pyruns22,577 bytes
  • src/ade_cli/ports.pyruns2,387 bytes
  • src/ade_cli/raster.pyruns8,691 bytes
  • src/ade_cli/serve.pyruns12,451 bytes
  • src/ade_cli/shipping.pyruns13,863 bytes
  • src/ade_cli/store.pyruns9,235 bytes
  • src/ade_cli/surface.pyruns5,819 bytes
  • src/ade_cli/telemetry.pyruns13,378 bytes
  • src/ade_cli/term.pyruns4,209 bytes
  • src/ade_cli/update.pyruns26,652 bytes
  • src/ade_cli/useragent.pyruns1,925 bytes
  • src/ade_cli/view.pyruns58,711 bytes
  • src/ade_cli/view_template.htmlasset139,884 bytes
  • tests/conftest.pyruns6,338 bytes
  • tests/extract_fixtures.pyruns3,397 bytes
  • tests/integration/fixtures/invoice.pdfasset714 bytes
  • tests/integration/test_production.pyruns8,758 bytes
  • tests/parse_fixtures.pyruns6,500 bytes
  • tests/test_auth.pyruns36,822 bytes
  • tests/test_auth_oauth.pyruns48,727 bytes
  • tests/test_crop.pyruns24,359 bytes
  • tests/test_env_targeting.pyruns9,272 bytes
  • tests/test_evidence.pyruns12,176 bytes
  • tests/test_extract.pyruns39,203 bytes
  • tests/test_extract_document.pyruns20,130 bytes
  • tests/test_find.pyruns14,692 bytes
  • tests/test_help.pyruns12,049 bytes
  • tests/test_help_style.pyruns4,979 bytes
  • tests/test_history.pyruns33,328 bytes
  • tests/test_identity.pyruns4,532 bytes
  • tests/test_output.pyruns7,444 bytes
  • tests/test_parse.pyruns29,831 bytes
  • tests/test_parse_guarantee.pyruns29,158 bytes
  • tests/test_progress.pyruns8,862 bytes
  • tests/test_release_pipeline.pyruns8,757 bytes
  • tests/test_serve.pyruns11,663 bytes
  • tests/test_shipping.pyruns17,280 bytes
  • tests/test_surface.pyruns4,368 bytes
  • tests/test_telemetry.pyruns9,051 bytes
  • tests/test_templates.pyruns1,094 bytes
  • tests/test_term.pyruns2,831 bytes
  • tests/test_update.pyruns16,121 bytes
  • tests/test_useragent.pyruns7,200 bytes
  • tests/test_version.pyruns641 bytes
  • tests/test_view.pyruns51,614 bytes
  • tests/test_windows_hardening.pyruns19,760 bytes
  • uv.lockasset50,760 bytes
Read SKILL.md

# ade — agent skill

ade drives the ADE (Agentic Document Extraction) v2 document APIs
(parse, extract) and persists
everything it produces in a local store under `~/.ade`. You are the
judgment; the CLI is deterministic plumbing: it parses, persists,
searches, renders, and totals — it never ranks or selects for you.

## First move

```
ade help --json
```
View the complete source on GitHub

Skills included

  • ade

Repository facts

License
Apache-2.0
Created
Mar 12, 2025
Last pushed
Oct 30, 2026
Forks
257
Open issues
7
Project activity
Active

Rank over the last 12 weeks

Now #478 · best #334 · down 96 in 30 days

  1. #468 from Oct 30 to Oct 31
  2. #469 on Nov 1
  3. #470 on Nov 2
  4. #472 on Nov 3
  5. #475 from Nov 4 to Nov 5
  6. #478 since Nov 6
27 earlier periods
  1. #333 on Aug 1
  2. #327 on Aug 7
  3. #337 on Aug 11
  4. #335 on Aug 13
  5. #336 on Aug 14
  6. #334 on Aug 15
  7. #339 on Aug 17
  8. #344 on Aug 22
  9. #353 from Aug 27 to Aug 28
  10. #351 on Aug 29
  11. #364 on Sep 1
  12. #359 on Sep 2
  13. #370 on Sep 8
  14. #372 on Sep 10
  15. #367 on Sep 11
  16. #377 on Sep 14
  17. #381 on Sep 16
  18. #372 on Sep 19
  19. #382 on Oct 4
  20. #404 on Oct 8
  21. #419 on Oct 12
  22. #416 on Oct 13
  23. #423 on Oct 17
  24. #439 on Oct 21
  25. #457 on Oct 25
  26. #464 on Oct 28
  27. #466 on Oct 29

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 3, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 7 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • src/ade_cli/auth_callback.html:77 Analysis incomplete: physical or joined line exceeds character limit
  • src/ade_cli/auth_callback.html:75 Analysis incomplete: physical or joined line exceeds character limit
  • src/ade_cli/auth_callback.html:76 Analysis incomplete: physical or joined line exceeds character limit
  • src/ade_cli/crop_template.html:148 Analysis incomplete: physical or joined line exceeds character limit
  • src/ade_cli/crop_template.html:146 Analysis incomplete: physical or joined line exceeds character limit
  • src/ade_cli/crop_template.html:147 Analysis incomplete: physical or joined line exceeds character limit
Show all 1,122 signals by file

.claude/skills/verify/SKILL.md

  • Network accessline 29
    The in-app browser refuses `file://` — serve the doc dir instead: `python3 -m http.server 8742 --bind 127.0.0.1` in `$ADE_HOME/docs/<doc-id>/`, then browse `http://127.0.0.1:8742/view.html`.
  • Network accessline 30
    `python3 -m http.server 8742 --bind 127.0.0.1` in `$ADE_HOME/docs/<doc-id>/`, then browse `http://127.0.0.1:8742/view.html`. Deep links: append `#element=<id>`. Selection state is inspectable via
  • Network accessline 31
    `$ADE_HOME/docs/<doc-id>/`, then browse `http://127.0.0.1:8742/view.html`.

.github/workflows/integration.yml

  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 23
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]

.github/workflows/release.yml

  • Access to secretsline 31
    [Credential-related source omitted]
  • Network accessline 152
    server_pid=$!           for _ in $(seq 1 40); do             curl -fsS http://127.0.0.1:8619/ > /dev/null 2>&1 && break
  • Network accessline 153
    for _ in $(seq 1 40); do             curl -fsS http://127.0.0.1:8619/ > /dev/null 2>&1 && break             sleep 0.25
  • Network accessline 154
    curl -fsS http://127.0.0.1:8619/ > /dev/null 2>&1 && break
  • Network accessline 156
    [Credential-related source omitted]
  • Network accessline 157
    [Credential-related source omitted]
  • Network accessline 158
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]
  • Network accessline 175
    $server = Start-Process uv -ArgumentList 'run', 'python', '-m', 'http.server', '8619', '--bind', '127.0.0.1' -PassThru -WindowStyle Hidden           foreach ($i in 1..40) {             try { Invoke-WebRequest -UseBasicParsing http://127.0.0
  • Network accessline 176
    foreach ($i in 1..40) {             try { Invoke-WebRequest -UseBasicParsing http://127.0.0.1:8619/ | Out-Null; break }             catch { Start-Sleep -Milliseconds 250 }
  • Network accessline 177
    try { Invoke-WebRequest -UseBasicParsing http://127.0.0.1:8619/ | Out-Null; break }
  • Network accessline 179
    }           Set-Content -NoNewline -Path "$env:RUNNER_TEMP\smoke.pdf" -Value '%PDF-1.4 smoke'           $env:ADE_ENDPOINT = 'http://127.0.0.1:8619'
  • Network accessline 180
    [Credential-related source omitted]
  • Network accessline 181
    $env:ADE_ENDPOINT = 'http://127.0.0.1:8619'
  • Access to secretsline 182
    [Credential-related source omitted]

CONTRIBUTING.md

  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 37
    uv tool install git+https://github.com/landing-ai/ade-cli.git
  • Network accessline 40
    (`pipx install git+https://…` works too, and
  • Access to secretsline 82
    [Credential-related source omitted]
  • Dangerous shell operationline 96
    the space with `rm -rf ~/.ade/docs`.

LICENSE

  • Network accessline 1
    Apache License                            Version 2.0, January 2004                         http://www.apache.org/licenses/
  • Network accessline 3
    http://www.apache.org/licenses/
  • Network accessline 195
    http://www.apache.org/licenses/LICENSE-2.0

README.md

  • Network accessline 3
    [![Release](https://img.shields.io/github/v/release/landing-ai/ade-cli)](https://github.com/landing-ai/ade-cli/releases)
  • Network accessline 4
    [![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](LICENSE)
  • Network accessline 12
    **[CLI documentation](https://docs.landing.ai/cli/quickstart)** ·
  • Network accessline 13
    **[Playground](https://ade.landing.ai)** ·
  • Network accessline 14
    **[Get an API key](https://ade.landing.ai/settings/api-key)**
  • Dangerous shell operationline 24
    curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.sh | sh
  • Network accessline 24
    curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.sh | sh
  • Network accessline 30
    irm https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.ps1 | iex
  • Network accessline 36
    curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd
  • Network accessline 52
    The [CLI Quickstart](https://docs.landing.ai/cli/quickstart) walks through the
  • Network accessline 58
    Every command takes `--json` for one stable JSON object on stdout. Run `ade help COMMAND` for its flags and result shape, or see the [CLI Reference](https://docs.landing.ai/cli/reference).
  • Network accessline 60
    [CLI Reference](https://docs.landing.ai/cli/reference).
  • Network accessline 79
    The documentation covers what these tables cannot: how job items work and why re-runs are free ([CLI Concepts](https://docs.landing.ai/cli/concepts)),
  • Network accessline 80
    re-runs are free ([CLI Concepts](https://docs.landing.ai/cli/concepts)),
  • Network accessline 81
    [parsing](https://docs.landing.ai/cli/parse) and
  • Network accessline 82
    [extraction](https://docs.landing.ai/cli/extract) in depth,
  • Network accessline 83
    [searching and cropping evidence](https://docs.landing.ai/cli/find-crop-view),
  • Network accessline 84
    [authentication and organizations](https://docs.landing.ai/cli/authentication),
  • Network accessline 85
    and [scripting the CLI](https://docs.landing.ai/cli/scripting-automation).
  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 125
    This repository was **`agentic-doc`**, the original Agentic Document Extraction SDK. That SDK is preserved unchanged, and no longer developed, on the [`legacy`](https://github.com/landing-ai/ade-cli/tree/legacy) branch. Since
  • Network accessline 126
    SDK. That SDK is preserved unchanged, and no longer developed, on the [`legacy`](https://github.com/landing-ai/ade-cli/tree/legacy) branch. Since 2026-07-31 this repository ships the ADE CLI.
  • Network accessline 127
    [`legacy`](https://github.com/landing-ai/ade-cli/tree/legacy) branch. Since

SKILL.md

  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]

docs/ade-cli-v2-proposal.md

  • Network accessline 322
    **Architecture: one generic template, per-item snapshots, built lazily.** The viewer is a single HTML/JS template maintained in the CLI package — written once, instantiated per job item by stamping in that item's data. `parse`/`extract` nev
  • Network accessline 349
    drop out) and rewrites **`~/.ade/history.js`** — a JSONP-style read model   (`window.__ADE_HISTORY__ = {generated_at, items: […]}`; a plain `<script>`   include works from `file://` where `fetch()` does not). Each item carries
  • Network accessline 350
    (`window.__ADE_HISTORY__ = {generated_at, items: […]}`; a plain `<script>`   include works from `file://` where `fetch()` does not). Each item carries   id, kind, state, source name, compact params, parent linkage, viewer
  • Network accessline 351
    include works from `file://` where `fetch()` does not). Each item carries
  • Dangerous shell operationline 717
    `rm -rf ~/.ade/docs` in the changelog) — **confirmed**: no production
  • Access to secretsline 750
    [Credential-related source omitted]
  • Access to secretsline 805
    [Credential-related source omitted]

docs/adr/0001-auth-login-selects-logout-per-env.md

  • Network accessline 14
    env, so `login --env eu --api-key X` followed by a bare `login --api-key Y` silently overwrote the eu key instead of touching production ([#72](https://github.com/landing-ai/ade-cli/issues/72)).
  • Network accessline 16
    production ([#72](https://github.com/landing-ai/ade-cli/issues/72)).
  • Access to secretsline 44
    [Credential-related source omitted]

docs/adr/0003-per-invocation-environment.md

  • Network accessline 10
    The sticky active environment — `config.json`'s `environment`/`endpoint`, selected by `login` — was global mutable state deciding where every command went ([#87](https://github.com/landing-ai/ade-cli/issues/87)):
  • Network accessline 12
    command went ([#87](https://github.com/landing-ai/ade-cli/issues/87)):

docs/adr/0004-oauth-dark-at-launch.md

  • Access to secretsline 30
    [Credential-related source omitted]

docs/adr/0005-two-doors-serve-and-file.md

  • Network accessline 6
    *including the fragment* (verified against `Preferences` → `per_host_zoom_levels`). Consequences that shaped the viewer ([#61](https://github.com/landing-ai/ade-cli/issues/61),
  • Network accessline 7
    `per_host_zoom_levels`). Consequences that shaped the viewer ([#61](https://github.com/landing-ai/ade-cli/issues/61), [#108](https://github.com/landing-ai/ade-cli/pull/108)):
  • Network accessline 8
    ([#61](https://github.com/landing-ai/ade-cli/issues/61),
  • Network accessline 9
    [#108](https://github.com/landing-ai/ade-cli/pull/108)):
  • Network accessline 21
    Over an `http://127.0.0.1` origin none of this exists: zoom is

docs/adr/0006-usage-ledger-ships-after-every-command.md

  • Network accessline 7
    Loki line per record and returns 200 only after all are logged — the final contract in [#53](https://github.com/landing-ai/ade-cli/issues/53)).
  • Network accessline 8
    final contract in [#53](https://github.com/landing-ai/ade-cli/issues/53)). Three properties are non-negotiable: the flush must never change a
  • Network accessline 9
    [#53](https://github.com/landing-ai/ade-cli/issues/53)).
  • Access to secretsline 29
    [Credential-related source omitted]

docs/adr/0007-login-verifies-the-api-key.md

  • Access to secretsline 56
    [Credential-related source omitted]

docs/adr/0008-oauth-login-goes-public.md

  • Access to secretsline 31
    [Credential-related source omitted]

docs/reference/help.json

  • Access to secretsline 23
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]
  • Access to secretsline 352
    [Credential-related source omitted]
  • Network accessline 1160
    "required": false,           "default": null,           "help": "Open via a local server (http://127.0.0.1) instead of file:// \u2014 browser zoom then covers every viewer natively. Starts the server if needed; reuses a running one. It reti
  • Network accessline 1161
    "default": null,           "help": "Open via a local server (http://127.0.0.1) instead of file:// \u2014 browser zoom then covers every viewer natively. Starts the server if needed; reuses a running one. It retires itself after 30 idle minu
  • Network accessline 1162
    "help": "Open via a local server (http://127.0.0.1) instead of file:// \u2014 browser zoom then covers every viewer natively. Starts the server if needed; reuses a running one. It retires itself after 30 idle minutes, or immediately with `-
  • Access to secretsline 1392
    [Credential-related source omitted]

docs/telemetry.md

  • Access to secretsline 129
    [Credential-related source omitted]
  • Network accessline 165
    `ADE_TELEMETRY=0` or the [`DO_NOT_TRACK`](https://consoledonottrack.com)

openapi.json

  • Network accessline 57
    "type": "string",                     "format": "binary",                     "description": "The file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide eithe
  • Network accessline 58
    "format": "binary",                     "description": "The file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide either `document` or `document_url`, not bo
  • Network accessline 59
    "description": "The file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide either `document` or `document_url`, not both."
  • Network accessline 61
    "document_url": {                     "type": "string",                     "description": "A publicly accessible URL to the file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3
  • Network accessline 62
    "type": "string",                     "description": "A publicly accessible URL to the file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide either `document
  • Network accessline 63
    "description": "A publicly accessible URL to the file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide either `document` or `document_url`, not both."
  • Network accessline 193
    "type": "string",                     "format": "binary",                     "description": "The file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide eithe
  • Network accessline 194
    "format": "binary",                     "description": "The file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide either `document` or `document_url`, not bo
  • Network accessline 195
    "description": "The file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide either `document` or `document_url`, not both."
  • Network accessline 197
    "document_url": {                     "type": "string",                     "description": "A publicly accessible URL to the file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3
  • Network accessline 198
    "type": "string",                     "description": "A publicly accessible URL to the file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide either `document
  • Network accessline 199
    "description": "A publicly accessible URL to the file to parse. The file must be a PDF or image; see the list of [supported file types](https://docs.landing.ai/dpt3/file-types). Provide either `document` or `document_url`, not both."
  • Access to secretsline 2718
    [Credential-related source omitted]

packaging/pyinstaller_entry.py

  • Executable scriptline 1
    Executable file

scripts/install.cmd

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    rem PowerShell installer (install.ps1), the single Windows install body. rem rem   curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd
  • Network accessline 4
    rem rem   curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd rem
  • Network accessline 5
    rem   curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.cmd -o install.cmd && install.cmd && del install.cmd
  • Network accessline 9
    rem the repo is private). setlocal set "PS1_URL=https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.ps1"
  • Network accessline 11
    set "PS1_URL=https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.ps1"
  • Access to secretsline 20
    [Credential-related source omitted]

scripts/install.ps1

  • Network accessline 1
    # ade-cli installer for Windows (x86_64 / arm64). # #   irm https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.ps1 | iex
  • Executable scriptline 1
    Executable file
  • Network accessline 2
    # #   irm https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.ps1 | iex #
  • Network accessline 3
    #   irm https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.ps1 | iex
  • Access to secretsline 23
    [Credential-related source omitted]
  • Network accessline 44
    if ($Token) {             if (-not $script:ReleaseJson) {                 $RelUrl = if ($Tag) { "https://api.github.com/repos/$Repo/releases/tags/$Tag" }
  • Network accessline 45
    if (-not $script:ReleaseJson) {                 $RelUrl = if ($Tag) { "https://api.github.com/repos/$Repo/releases/tags/$Tag" }                           else { "https://api.github.com/repos/$Repo/releases/latest" }
  • Network accessline 46
    $RelUrl = if ($Tag) { "https://api.github.com/repos/$Repo/releases/tags/$Tag" }
  • Network accessline 47
    else { "https://api.github.com/repos/$Repo/releases/latest" }
  • Network accessline 50
    $Found = $script:ReleaseJson.assets | Where-Object { $_.name -eq $Name }             if (-not $Found) { throw "release has no asset $Name" }             Invoke-WebRequest -Uri "https://api.github.com/repos/$Repo/releases/assets/$($Found.id)
  • Network accessline 51
    [Credential-related source omitted]
  • Network accessline 52
    Invoke-WebRequest -Uri "https://api.github.com/repos/$Repo/releases/assets/$($Found.id)" `
  • Network accessline 54
    -OutFile $OutFile         } else {             $Url = if ($Tag) { "https://github.com/$Repo/releases/download/$Tag/$Name" }
  • Network accessline 55
    } else {             $Url = if ($Tag) { "https://github.com/$Repo/releases/download/$Tag/$Name" }                    else { "https://github.com/$Repo/releases/latest/download/$Name" }
  • Network accessline 56
    $Url = if ($Tag) { "https://github.com/$Repo/releases/download/$Tag/$Name" }
  • Network accessline 57
    else { "https://github.com/$Repo/releases/latest/download/$Name" }

scripts/install.sh

  • Executable scriptline 1
    #!/bin/sh
  • Network accessline 2
    # ade-cli installer for macOS / Linux. # #   curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.sh | sh
  • Network accessline 3
    # #   curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.sh | sh #
  • Dangerous shell operationline 4
    #   curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.sh | sh
  • Network accessline 4
    #   curl -fsSL https://raw.githubusercontent.com/landing-ai/ade-cli/main/scripts/install.sh | sh
  • Dangerous shell operationline 15
    # and the ~/.local/bin/ade symlink. Never `rm -rf ~/.ade` — the rest of
  • Access to secretsline 22
    [Credential-related source omitted]
  • Network accessline 27
    command -v curl >/dev/null 2>&1 || fail "curl is required"
  • Dangerous shell operationline 50
    trap 'rm -rf "$tmp"; if [ -n "$staging" ]; then rm -rf "$staging"; fi' EXIT INT TERM
  • Network accessline 55
    fetch_public() { # $1 asset name, $2 output path   if [ -n "$tag" ]; then     url="https://github.com/${REPO}/releases/download/${tag}/$1"
  • Network accessline 56
    if [ -n "$tag" ]; then     url="https://github.com/${REPO}/releases/download/${tag}/$1"   else
  • Network accessline 57
    url="https://github.com/${REPO}/releases/download/${tag}/$1"
  • Network accessline 58
    else     url="https://github.com/${REPO}/releases/latest/download/$1"   fi
  • Network accessline 59
    url="https://github.com/${REPO}/releases/latest/download/$1"
  • Network accessline 60
    fi   curl -fsSL --retry 3 -o "$2" "$url" }
  • Network accessline 61
    curl -fsSL --retry 3 -o "$2" "$url"
  • Network accessline 68
    if [ -z "$release_json" ]; then     if [ -n "$tag" ]; then       rel_url="https://api.github.com/repos/${REPO}/releases/tags/${tag}"
  • Network accessline 69
    if [ -n "$tag" ]; then       rel_url="https://api.github.com/repos/${REPO}/releases/tags/${tag}"     else
  • Network accessline 70
    rel_url="https://api.github.com/repos/${REPO}/releases/tags/${tag}"
  • Network accessline 71
    else       rel_url="https://api.github.com/repos/${REPO}/releases/latest"     fi
  • Network accessline 72
    [Credential-related source omitted]
  • Network accessline 73
    [Credential-related source omitted]
  • Network accessline 74
    [Credential-related source omitted]
  • Network accessline 91
    return 1   fi   curl -fsSL --retry 3 -o "$2" \
  • Network accessline 92
    [Credential-related source omitted]
  • Network accessline 93
    curl -fsSL --retry 3 -o "$2" \
  • Network accessline 94
    [Credential-related source omitted]
  • Network accessline 95
    -H "Accept: application/octet-stream" \     "https://api.github.com/repos/${REPO}/releases/assets/${asset_id}" }
  • Network accessline 96
    "https://api.github.com/repos/${REPO}/releases/assets/${asset_id}"
  • Network accessline 99
    fetch() {
  • Dangerous shell operationline 138
    rm -rf "$INSTALL_DIR/_internal" "$INSTALL_DIR/ade" "$INSTALL_DIR/ade-cli"
  • Dangerous shell operationline 170
    rm -f "$link"

scripts/update_help_reference.py

  • Executable scriptline 1
    #!/usr/bin/env python

src/ade_cli/__init__.py

  • Executable scriptline 1
    Executable file

src/ade_cli/__main__.py

  • Executable scriptline 1
    Executable file

src/ade_cli/attach.py

  • Executable scriptline 1
    Executable file
  • Network accessline 146
    try:         with httpx.Client(
  • Network accessline 147
    with httpx.Client(

src/ade_cli/auth.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 76
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 100
    [Credential-related source omitted]
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 113
    [Credential-related source omitted]
  • Access to secretsline 114
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]
  • Access to secretsline 163
    [Credential-related source omitted]
  • Access to secretsline 165
    [Credential-related source omitted]
  • Access to secretsline 170
    [Credential-related source omitted]
  • Access to secretsline 171
    [Credential-related source omitted]
  • Access to secretsline 172
    [Credential-related source omitted]
  • Access to secretsline 173
    [Credential-related source omitted]
  • Access to secretsline 176
    [Credential-related source omitted]
  • Access to secretsline 193
    [Credential-related source omitted]
  • Access to secretsline 204
    [Credential-related source omitted]
  • Access to secretsline 212
    [Credential-related source omitted]
  • Access to secretsline 331
    [Credential-related source omitted]
  • Access to secretsline 335
    [Credential-related source omitted]
  • Access to secretsline 345
    [Credential-related source omitted]
  • Access to secretsline 515
    [Credential-related source omitted]
  • Access to secretsline 593
    [Credential-related source omitted]
  • Access to secretsline 681
    [Credential-related source omitted]
  • Access to secretsline 722
    [Credential-related source omitted]
  • Access to secretsline 763
    [Credential-related source omitted]
  • Access to secretsline 781
    [Credential-related source omitted]
  • Access to secretsline 909
    [Credential-related source omitted]

src/ade_cli/auth_callback.html

  • Network accessline 25
    __HEADLINE__, __DETAIL__ (pre-escaped text). --> <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 26
    --> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 27
    <link rel="preconnect" href="https://fonts.googleapis.com">
  • Network accessline 28
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  • Network accessline 29
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@1&display=swap">
  • Network accessline 74
    <body class="__VARIANT__">   <div class="header">     <svg width="19" height="25" viewBox="0 0 15.5251 20.4625" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><g fill="#1A1916"><path d="M0.14726 12.3474C0.0806449 12.3118 
  • Network accessline 75
    <div class="header">     <svg width="19" height="25" viewBox="0 0 15.5251 20.4625" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><g fill="#1A1916"><path d="M0.14726 12.3474C0.0806449 12.3118 9.15527e-05 12.3601 9.15527e-
  • Network accessline 76
    <svg width="19" height="25" viewBox="0 0 15.5251 20.4625" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><g fill="#1A1916"><path d="M0.14726 12.3474C0.0806449 12.3118 9.15527e-05 12.3601 9.15527e-05 12.4356V16.4338C9.1552
  • Network accessline 77
    <svg width="95" height="20" viewBox="0 0 80.775 16.95" fill="none" xmlns="http://www.w3.org/2000/svg" aria-label="LandingAI"><g fill="#1A1916"><path d="M2.4625 0.3625H0V13.0875H1.8125H2.4625H8.29375V10.9H2.4625V0.3625ZM15.9688 5.16875C15.72
  • Network accessline 91
    </div>   <div class="footer">     <a href="https://landing.ai/va-tos" target="_blank" rel="noopener noreferrer">Terms of Use</a>
  • Network accessline 92
    <div class="footer">     <a href="https://landing.ai/va-tos" target="_blank" rel="noopener noreferrer">Terms of Use</a>     <span class="sep">|</span>
  • Network accessline 93
    <a href="https://landing.ai/va-tos" target="_blank" rel="noopener noreferrer">Terms of Use</a>
  • Network accessline 94
    <span class="sep">|</span>     <a href="https://landing.ai/privacy-policy" target="_blank" rel="noopener noreferrer">Privacy Policy</a>   </div>
  • Network accessline 95
    <a href="https://landing.ai/privacy-policy" target="_blank" rel="noopener noreferrer">Privacy Policy</a>

src/ade_cli/config.py

  • Executable scriptline 1
    Executable file
  • Network accessline 23
    ENVIRONMENTS = {     "dev": "https://api.ade.dev.landing.ai",
  • Network accessline 24
    "dev": "https://api.ade.dev.landing.ai",
  • Network accessline 25
    "staging": "https://api.ade.staging.landing.ai",
  • Network accessline 26
    "production": "https://api.ade.landing.ai",
  • Network accessline 27
    "eu": "https://api.ade.eu-west-1.landing.ai",
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 111
    [Credential-related source omitted]
  • Access to secretsline 118
    [Credential-related source omitted]

src/ade_cli/credentials.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 6
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 77
    [Credential-related source omitted]
  • Access to secretsline 82
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Access to secretsline 148
    [Credential-related source omitted]
  • Access to secretsline 152
    [Credential-related source omitted]
  • Access to secretsline 166
    [Credential-related source omitted]
  • Access to secretsline 167
    [Credential-related source omitted]
  • Access to secretsline 168
    [Credential-related source omitted]
  • Access to secretsline 172
    [Credential-related source omitted]
  • Access to secretsline 179
    [Credential-related source omitted]
  • Access to secretsline 193
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]
  • Access to secretsline 210
    [Credential-related source omitted]
  • Access to secretsline 224
    [Credential-related source omitted]
  • Access to secretsline 227
    [Credential-related source omitted]

src/ade_cli/crop.py

  • Executable scriptline 1
    Executable file

src/ade_cli/crop_template.html

  • Network accessline 146
    <body> <header>   <span class="brand" title="LandingAI"><svg height="20" overflow="visible" viewBox="0 0 15.5251 20.4625" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="Group"><path id="Vector" d="M0.14726 12.3474C0.0806449 12.3118 9
  • Network accessline 147
    <header>   <span class="brand" title="LandingAI"><svg height="20" overflow="visible" viewBox="0 0 15.5251 20.4625" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="Group"><path id="Vector" d="M0.14726 12.3474C0.0806449 12.3118 9.15527e
  • Network accessline 148
    <span class="brand" title="LandingAI"><svg height="20" overflow="visible" viewBox="0 0 15.5251 20.4625" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="Group"><path id="Vector" d="M0.14726 12.3474C0.0806449 12.3118 9.15527e-05 12.3601
  • Possible obfuscationline 214
    s = s.replace(/^(\d+)([.)]) /gm, "$1$2<U+200B> ");
  • Possible obfuscationline 216
    s = s.replace(/^(\d+\.\d+(\.\d+)*)(\.<U+200B>)?\s+/gm, "**$1** ");

src/ade_cli/elements.py

  • Executable scriptline 1
    Executable file

src/ade_cli/evidence.py

  • Executable scriptline 1
    Executable file

src/ade_cli/extract.py

  • Executable scriptline 1
    Executable file

src/ade_cli/filelock.py

  • Executable scriptline 1
    Executable file

src/ade_cli/find.py

  • Executable scriptline 1
    Executable file

src/ade_cli/gateway.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 37
    [Credential-related source omitted]
  • Network accessline 125
    with httpx.Client(
  • Network accessline 191
    with httpx.Client(

src/ade_cli/guarantee.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 525
    [Credential-related source omitted]

src/ade_cli/help.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 138
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 332
    [Credential-related source omitted]
  • Access to secretsline 334
    [Credential-related source omitted]
  • Access to secretsline 488
    [Credential-related source omitted]

src/ade_cli/history.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 248
    [Credential-related source omitted]

src/ade_cli/historyjs.py

  • Network accessline 1
    """``history.js`` — the store-level JSONP read model the viewer sidebar reads (``window.__ADE_HISTORY__``; a plain ``<script>`` include works from ``file://`` where ``fetch()`` does not).
  • Executable scriptline 1
    Executable file
  • Network accessline 3
    ``file://`` where ``fetch()`` does not).

src/ade_cli/items.py

  • Executable scriptline 1
    Executable file

src/ade_cli/main.py

  • Executable scriptline 1
    Executable file

src/ade_cli/oauth.py

  • Executable scriptline 1
    Executable file
  • Network accessline 51
    _ISSUERS = {     "dev": "https://login.dev.landing.ai/oidc",
  • Network accessline 52
    "dev": "https://login.dev.landing.ai/oidc",
  • Network accessline 53
    "staging": "https://login.staging.landing.ai/oidc",
  • Network accessline 54
    "production": "https://login.landing.ai/oidc",
  • Network accessline 55
    "eu": "https://login.eu-west-1.landing.ai/oidc",
  • Network accessline 207
    @property     def redirect_uri(self) -> str:         return f"http://127.0.0.1:{self._server.server_address[1]}/callback"
  • Network accessline 209
    return f"http://127.0.0.1:{self._server.server_address[1]}/callback"
  • Network accessline 283
    transport: httpx.BaseTransport, provider: Provider, data: dict ) -> dict:     with httpx.Client(transport=transport, timeout=_TOKEN_TIMEOUT_SECONDS) as client:
  • Network accessline 284
    ) -> dict:     with httpx.Client(transport=transport, timeout=_TOKEN_TIMEOUT_SECONDS) as client:         response = client.post(provider.token_endpoint, data=data)
  • Network accessline 285
    with httpx.Client(transport=transport, timeout=_TOKEN_TIMEOUT_SECONDS) as client:
  • Access to secretsline 310
    [Credential-related source omitted]
  • Access to secretsline 311
    [Credential-related source omitted]
  • Access to secretsline 312
    [Credential-related source omitted]
  • Access to secretsline 315
    [Credential-related source omitted]
  • Access to secretsline 409
    [Credential-related source omitted]
  • Access to secretsline 412
    [Credential-related source omitted]
  • Network accessline 413
    )     try:         with httpx.Client(
  • Network accessline 414
    try:         with httpx.Client(             transport=ports.transport, timeout=_TOKEN_TIMEOUT_SECONDS
  • Network accessline 415
    with httpx.Client(
  • Network accessline 517
    return 0     try:         with httpx.Client(transport=transport, timeout=_TOKEN_TIMEOUT_SECONDS) as client:
  • Network accessline 518
    try:         with httpx.Client(transport=transport, timeout=_TOKEN_TIMEOUT_SECONDS) as client:             response = client.post(
  • Network accessline 519
    with httpx.Client(transport=transport, timeout=_TOKEN_TIMEOUT_SECONDS) as client:
  • Access to secretsline 549
    [Credential-related source omitted]
  • Access to secretsline 575
    [Credential-related source omitted]
  • Access to secretsline 576
    [Credential-related source omitted]
  • Access to secretsline 599
    [Credential-related source omitted]

src/ade_cli/output.py

  • Executable scriptline 1
    Executable file

src/ade_cli/parse.py

  • Executable scriptline 1
    Executable file

src/ade_cli/ports.py

  • Executable scriptline 1
    Executable file

src/ade_cli/raster.py

  • Executable scriptline 1
    Executable file

src/ade_cli/serve.py

  • Executable scriptline 1
    Executable file
  • Network accessline 73
    def url_for(port: int, item_id: str) -> str:     return f"http://127.0.0.1:{port}/jobs/{item_id}/view.html"
  • Network accessline 74
    return f"http://127.0.0.1:{port}/jobs/{item_id}/view.html"
  • Network accessline 83
    try:         with httpx.Client(transport=ports.transport, timeout=1.0) as client:
  • Network accessline 84
    with httpx.Client(transport=ports.transport, timeout=1.0) as client:
  • Network accessline 85
    response = client.get(f"http://127.0.0.1:{port}{HEALTH_PATH}")
  • Dangerous shell operationline 111
    # A failed re-exec (missing interpreter, fork limits) degrades to
  • Network accessline 245
    return None     try:         with httpx.Client(transport=ports.transport, timeout=1.0) as client:
  • Network accessline 246
    try:         with httpx.Client(transport=ports.transport, timeout=1.0) as client:             response = client.post(f"http://127.0.0.1:{port}{SHUTDOWN_PATH}")
  • Network accessline 247
    with httpx.Client(transport=ports.transport, timeout=1.0) as client:
  • Network accessline 248
    response = client.post(f"http://127.0.0.1:{port}{SHUTDOWN_PATH}")

src/ade_cli/shipping.py

  • Executable scriptline 1
    Executable file
  • Network accessline 136
    batch = rows[:MAX_BATCH_RECORDS]         try:             with httpx.Client(
  • Network accessline 137
    try:             with httpx.Client(                 base_url=endpoint,
  • Network accessline 138
    with httpx.Client(
  • Access to secretsline 211
    [Credential-related source omitted]
  • Access to secretsline 218
    [Credential-related source omitted]
  • Access to secretsline 219
    [Credential-related source omitted]

src/ade_cli/store.py

  • Executable scriptline 1
    Executable file

src/ade_cli/surface.py

  • Executable scriptline 1
    Executable file
  • Network accessline 33
    # for every child process (verified 2026-07; the set will drift — that is # why unknown hosts simply come back None, never an error). Sources: #   claude-code: https://code.claude.com/docs/en/env-vars
  • Network accessline 34
    # why unknown hosts simply come back None, never an error). Sources: #   claude-code: https://code.claude.com/docs/en/env-vars #   codex:       https://developers.openai.com/codex/config-advanced
  • Network accessline 35
    #   claude-code: https://code.claude.com/docs/en/env-vars
  • Network accessline 36
    #   codex:       https://developers.openai.com/codex/config-advanced
  • Network accessline 37
    #                https://github.com/openai/codex/issues/19937
  • Network accessline 39
    #     https://glama.ai/mcp/servers/@cameroncooke/XcodeBuildMCP/blob/ddea433f736484c4d20d2d1d1457bfe06f512719/src/utils/environment.ts

src/ade_cli/telemetry.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 273
    [Credential-related source omitted]
  • Network accessline 297
    transport = httpx.HTTPTransport()
  • Access to secretsline 300
    [Credential-related source omitted]
  • Network accessline 318
    transport = httpx.HTTPTransport()
  • Access to secretsline 323
    [Credential-related source omitted]

src/ade_cli/term.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 113
    [Credential-related source omitted]

src/ade_cli/update.py

  • Executable scriptline 1
    Executable file
  • Network accessline 55
    REPO = "landing-ai/ade-cli" RELEASES_LATEST_URL = f"https://api.github.com/repos/{REPO}/releases/latest"
  • Network accessline 56
    RELEASES_LATEST_URL = f"https://api.github.com/repos/{REPO}/releases/latest"
  • Network accessline 59
    DOWNLOAD_BASE_URL = f"https://github.com/{REPO}/releases/latest/download"
  • Access to secretsline 133
    [Credential-related source omitted]
  • Network accessline 148
    headers["Authorization"] = f"Bearer {token}"     try:         with httpx.Client(transport=transport, timeout=timeout) as client:
  • Network accessline 149
    try:         with httpx.Client(transport=transport, timeout=timeout) as client:             response = client.get(
  • Network accessline 150
    with httpx.Client(transport=transport, timeout=timeout) as client:
  • Access to secretsline 257
    [Credential-related source omitted]
  • Network accessline 316
    if token and asset_id is not None:         return (             f"https://api.github.com/repos/{REPO}/releases/assets/{asset_id}",
  • Network accessline 317
    return (             f"https://api.github.com/repos/{REPO}/releases/assets/{asset_id}",             {
  • Network accessline 318
    f"https://api.github.com/repos/{REPO}/releases/assets/{asset_id}",
  • Network accessline 363
    )         archive = staging / asset         with httpx.Client(
  • Network accessline 364
    archive = staging / asset         with httpx.Client(             transport=transport, timeout=CHECK_TIMEOUT_SECONDS, follow_redirects=True
  • Network accessline 365
    with httpx.Client(

src/ade_cli/useragent.py

  • Executable scriptline 1
    Executable file

src/ade_cli/view.py

  • Executable scriptline 1
    Executable file
  • Network accessline 1007
    serve_mode: bool = typer.Option(         False, "--serve",         help="Open via a local server (http://127.0.0.1) instead of file:// "
  • Network accessline 1008
    False, "--serve",         help="Open via a local server (http://127.0.0.1) instead of file:// "         "— browser zoom then covers every viewer natively. Starts the "
  • Network accessline 1009
    help="Open via a local server (http://127.0.0.1) instead of file:// "
  • Network accessline 1064
    emit(                 {"status": "server_stopped", "port": port},                 f"Viewer server on http://127.0.0.1:{port} stopped.",
  • Network accessline 1065
    {"status": "server_stopped", "port": port},                 f"Viewer server on http://127.0.0.1:{port} stopped.",                 as_json=as_json,
  • Network accessline 1066
    f"Viewer server on http://127.0.0.1:{port} stopped.",

src/ade_cli/view_template.html

  • Network accessline 679
    funnel 46:1128, search + chevron from the input instance 46:1136. -->   <div class="hb-head">     <span class="hb-title"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_46_1125"
  • Network accessline 680
    <div class="hb-head">     <span class="hb-title"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_46_1125" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="4" y="1" widt
  • Network accessline 681
    <span class="hb-title"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="mask0_46_1125" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="4" y="1" width="17" height="22"><path d
  • Network accessline 682
    <!-- Sidebar toggle — VUI GlobalSidebarV3 / Icons.tsx IconSidebar -->     <button class="hb-toggle" id="hb-toggle" aria-label="Collapse sidebar" title="Collapse sidebar">       <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xml
  • Network accessline 683
    <button class="hb-toggle" id="hb-toggle" aria-label="Collapse sidebar" title="Collapse sidebar">       <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M4.16667 17.5
  • Network accessline 684
    <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M4.16667 17.5C3.70833 17.5 3.31597 17.3368 2.98958 17.0104C2.66319 16.684 2.5 16.2917 2.5 15.8333V4.16667C2.5 3.7083
  • Network accessline 685
    </button>     <button class="hb-expand" id="hb-expand" aria-label="Expand sidebar" title="Expand sidebar">       <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M4.
  • Network accessline 686
    <button class="hb-expand" id="hb-expand" aria-label="Expand sidebar" title="Expand sidebar">       <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M4.16667 17.5C3.7
  • Network accessline 687
    <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M4.16667 17.5C3.70833 17.5 3.31597 17.3368 2.98958 17.0104C2.66319 16.684 2.5 16.2917 2.5 15.8333V4.16667C2.5 3.7083
  • Network accessline 691
    <div class="hb-search">     <div class="hb-search-box">       <svg class="hb-ic-search" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 7.07406C2 7.65285 2.114 8.22597 2.33549 8.76071C2.55699 9.29544 2.88163 9
  • Network accessline 692
    <div class="hb-search-box">       <svg class="hb-ic-search" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 7.07406C2 7.65285 2.114 8.22597 2.33549 8.76071C2.55699 9.29544 2.88163 9.78131 3.2909 10.1906C3.7001
  • Network accessline 693
    <svg class="hb-ic-search" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 7.07406C2 7.65285 2.114 8.22597 2.33549 8.76071C2.55699 9.29544 2.88163 9.78131 3.2909 10.1906C3.70017 10.5998 4.18603 10.9245 4.72077 
  • Network accessline 694
    <input id="hb-search-input" type="search" placeholder="Search" aria-label="Search documents by file name" autocomplete="off">       <button class="hb-search-toggle" id="hb-search-toggle" aria-label="Browse documents" aria-expanded="false"> 
  • Network accessline 695
    <button class="hb-search-toggle" id="hb-search-toggle" aria-label="Browse documents" aria-expanded="false">         <svg class="hb-ic-chevron" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.52851 6.19526C3.78
  • Network accessline 696
    <svg class="hb-ic-chevron" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3.52851 6.19526C3.78886 5.93491 4.21097 5.93491 4.47132 6.19526L7.99993 9.72386L11.5285 6.19526C11.7889 5.93491 12.211 5.93491 12.4713 6
  • Network accessline 698
    </div>     <button class="hb-filterbtn" id="hb-filterbtn" aria-label="Filters" title="Filters">       <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3334 2.66667H2.66675V4.15133C2
  • Network accessline 699
    <button class="hb-filterbtn" id="hb-filterbtn" aria-label="Filters" title="Filters">       <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3334 2.66667H2.66675V4.15133C2.66678 4.48
  • Network accessline 700
    <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.3334 2.66667H2.66675V4.15133C2.66678 4.48293 2.79038 4.80262 3.01341 5.048L6.00008 8.33333V14L10.0001 12.6667V8L12.9427 5.05733C13.1
  • Network accessline 771
    with its date pin shows on hover. -->           <span class="model-chip" id="modelchip" hidden>             <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.55467 2.71002C8.35507 2.5
  • Network accessline 772
    <span class="model-chip" id="modelchip" hidden>             <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.55467 2.71002C8.35507 2.59478 8.10915 2.59478 7.90954 2.71002L3.87528 5.0
  • Network accessline 773
    <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.55467 2.71002C8.35507 2.59478 8.10915 2.59478 7.90954 2.71002L3.87528 5.03921L8.24154 7.49523L12.7285 5.11978L8.55467 2.71002ZM13.174
  • Possible obfuscationline 849
    s = s.replace(/^(\d+)([.)]) /gm, "$1$2<U+200B> ");
  • Possible obfuscationline 851
    s = s.replace(/^(\d+\.\d+(\.\d+)*)(\.<U+200B>)?\s+/gm, "**$1** ");

tests/conftest.py

  • Executable scriptline 1
    Executable file
  • Network accessline 65
    ) -> None:         self._script.append(             lambda request: httpx.Response(status_code, json=json_body, headers=headers)
  • Network accessline 66
    self._script.append(             lambda request: httpx.Response(status_code, json=json_body, headers=headers)         )
  • Network accessline 67
    lambda request: httpx.Response(status_code, json=json_body, headers=headers)
  • Network accessline 70
    def handle_request(self, request: httpx.Request) -> httpx.Response:         request.read()  # materialize streamed (multipart) bodies for assertions         self.requests.append(request)
  • Network accessline 71
    request.read()  # materialize streamed (multipart) bodies for assertions         self.requests.append(request)         if not self._script:
  • Network accessline 72
    self.requests.append(request)
  • Access to secretsline 135
    [Credential-related source omitted]

tests/extract_fixtures.py

  • Executable scriptline 1
    Executable file
  • Network accessline 72
    "openapi_spec": "https://api.ade.landing.ai/openapi.json",

tests/integration/test_production.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Access to secretsline 121
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]
  • Access to secretsline 137
    [Credential-related source omitted]

tests/parse_fixtures.py

  • Executable scriptline 1
    Executable file
  • Network accessline 42
    "output_markdown_chars": end,             "range_units": "unicode_codepoints",             "openapi_spec": "https://api.ade.landing.ai/openapi.json",
  • Network accessline 43
    "range_units": "unicode_codepoints",             "openapi_spec": "https://api.ade.landing.ai/openapi.json",             "failed_pages": list(failed_pages or []),
  • Network accessline 44
    "openapi_spec": "https://api.ade.landing.ai/openapi.json",

tests/test_auth.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Network accessline 150
    [Credential-related source omitted]
  • Network accessline 151
    [Credential-related source omitted]
  • Network accessline 152
    [Credential-related source omitted]
  • Access to secretsline 152
    [Credential-related source omitted]
  • Network accessline 155
    assert json.loads(plain.stdout)["endpoint"] == "https://api.ade.landing.ai"
  • Network accessline 156
    assert json.loads(plain.stdout)["endpoint_source"] == "default"     assert json.loads(overridden.stdout)["endpoint"] == "https://env.example.com"     assert json.loads(overridden.stdout)["endpoint_source"] == "env"
  • Network accessline 157
    assert json.loads(overridden.stdout)["endpoint"] == "https://env.example.com"
  • Network accessline 163
    [Credential-related source omitted]
  • Network accessline 164
    [Credential-related source omitted]
  • Network accessline 165
    [Credential-related source omitted]
  • Access to secretsline 165
    [Credential-related source omitted]
  • Network accessline 169
    assert payload["endpoint"] == "https://staging.example.com"
  • Network accessline 180
    assert "Environment" not in result.stderr     payload = json.loads(result.stdout)     assert payload["endpoint"] == "https://api.ade.landing.ai"
  • Network accessline 181
    payload = json.loads(result.stdout)     assert payload["endpoint"] == "https://api.ade.landing.ai"     assert payload["endpoint_source"] == "default"
  • Network accessline 182
    assert payload["endpoint"] == "https://api.ade.landing.ai"
  • Access to secretsline 188
    [Credential-related source omitted]
  • Network accessline 190
    payload = json.loads(result.stdout)     assert payload["endpoint"] == "https://api.ade.landing.ai"
  • Network accessline 191
    assert payload["endpoint"] == "https://api.ade.landing.ai"
  • Access to secretsline 202
    [Credential-related source omitted]
  • Network accessline 231
    (probe,) = cli.transport.requests     assert probe.method == "POST"     assert probe.url == "https://api.ade.landing.ai/v2/telemetry"
  • Network accessline 232
    assert probe.method == "POST"     assert probe.url == "https://api.ade.landing.ai/v2/telemetry"     assert json.loads(probe.content) == []  # a no-op body: nothing recorded
  • Network accessline 233
    assert probe.url == "https://api.ade.landing.ai/v2/telemetry"
  • Network accessline 248
    assert result.exit_code == 0     (probe,) = cli.transport.requests     assert str(probe.url).startswith("https://api.ade.staging.landing.ai")
  • Network accessline 250
    assert str(probe.url).startswith("https://api.ade.staging.landing.ai")
  • Access to secretsline 260
    [Credential-related source omitted]
  • Network accessline 314
    def offline(request):         raise httpx.ConnectError("no network")
  • Network accessline 315
    raise httpx.ConnectError("no network")
  • Access to secretsline 341
    [Credential-related source omitted]
  • Access to secretsline 367
    [Credential-related source omitted]
  • Network accessline 391
    ENVIRONMENT_URLS = {     "dev": "https://api.ade.dev.landing.ai",
  • Network accessline 392
    "dev": "https://api.ade.dev.landing.ai",
  • Network accessline 393
    "staging": "https://api.ade.staging.landing.ai",
  • Network accessline 394
    "production": "https://api.ade.landing.ai",
  • Network accessline 395
    "eu": "https://api.ade.eu-west-1.landing.ai",
  • Access to secretsline 427
    [Credential-related source omitted]
  • Network accessline 466
    def test_unauthenticated_status_names_a_raw_url_target_not_an_environment(cli):     result = cli.invoke(         "auth", "status", env={"ADE_ENDPOINT": "https://custom.example.com"}
  • Network accessline 467
    result = cli.invoke(         "auth", "status", env={"ADE_ENDPOINT": "https://custom.example.com"}     )
  • Network accessline 468
    "auth", "status", env={"ADE_ENDPOINT": "https://custom.example.com"}
  • Network accessline 471
    assert result.exit_code == 1     assert "https://custom.example.com" in result.stdout
  • Network accessline 472
    assert "https://custom.example.com" in result.stdout
  • Access to secretsline 481
    [Credential-related source omitted]
  • Access to secretsline 495
    [Credential-related source omitted]
  • Network accessline 499
    cli.invoke(             "auth", "status", "--json",             env={"ADE_ENDPOINT": "https://stored.example.com"},
  • Network accessline 500
    "auth", "status", "--json",             env={"ADE_ENDPOINT": "https://stored.example.com"},         ).stdout
  • Network accessline 501
    env={"ADE_ENDPOINT": "https://stored.example.com"},
  • Network accessline 505
    assert payload["authenticated"] is True     assert payload["endpoint"] == "https://stored.example.com"
  • Network accessline 506
    assert payload["endpoint"] == "https://stored.example.com"
  • Access to secretsline 513
    [Credential-related source omitted]
  • Access to secretsline 524
    [Credential-related source omitted]
  • Access to secretsline 525
    [Credential-related source omitted]
  • Access to secretsline 526
    [Credential-related source omitted]
  • Network accessline 533
    config_file(cli).write_text(         json.dumps(             {"environment": "staging", "endpoint": "https://stored.example.com"}
  • Network accessline 534
    json.dumps(             {"environment": "staging", "endpoint": "https://stored.example.com"}         )
  • Network accessline 535
    {"environment": "staging", "endpoint": "https://stored.example.com"}
  • Access to secretsline 540
    [Credential-related source omitted]
  • Network accessline 543
    assert payload["environment"] == "production"     assert payload["endpoint"] == "https://api.ade.landing.ai"
  • Network accessline 544
    assert payload["endpoint"] == "https://api.ade.landing.ai"
  • Access to secretsline 549
    [Credential-related source omitted]
  • Network accessline 571
    cli.invoke(             "auth", "status", "--env", "staging", "--json",             env={"ADE_ENDPOINT": "https://env.example.com"},
  • Network accessline 572
    "auth", "status", "--env", "staging", "--json",             env={"ADE_ENDPOINT": "https://env.example.com"},         ).stdout
  • Network accessline 573
    env={"ADE_ENDPOINT": "https://env.example.com"},
  • Network accessline 577
    assert payload["endpoint"] == "https://env.example.com"
  • Network accessline 627
    payload = json.loads(result.stdout)     assert payload["environment"] == "staging"     assert payload["endpoint"] == "https://api.ade.staging.landing.ai"
  • Network accessline 629
    assert payload["endpoint"] == "https://api.ade.staging.landing.ai"
  • Access to secretsline 649
    [Credential-related source omitted]
  • Access to secretsline 667
    [Credential-related source omitted]
  • Access to secretsline 688
    [Credential-related source omitted]
  • Access to secretsline 706
    [Credential-related source omitted]
  • Access to secretsline 709
    [Credential-related source omitted]
  • Access to secretsline 728
    [Credential-related source omitted]
  • Access to secretsline 751
    [Credential-related source omitted]
  • Access to secretsline 797
    [Credential-related source omitted]
  • Access to secretsline 803
    [Credential-related source omitted]
  • Access to secretsline 811
    [Credential-related source omitted]
  • Access to secretsline 822
    [Credential-related source omitted]
  • Access to secretsline 826
    [Credential-related source omitted]
  • Access to secretsline 842
    [Credential-related source omitted]
  • Access to secretsline 845
    [Credential-related source omitted]
  • Access to secretsline 872
    [Credential-related source omitted]
  • Access to secretsline 887
    [Credential-related source omitted]
  • Network accessline 899
    (probe,) = cli.transport.requests     assert probe.method == "POST"     assert probe.url == "https://api.ade.landing.ai/v2/telemetry"
  • Network accessline 901
    assert probe.url == "https://api.ade.landing.ai/v2/telemetry"
  • Access to secretsline 921
    [Credential-related source omitted]
  • Access to secretsline 922
    [Credential-related source omitted]
  • Access to secretsline 962
    [Credential-related source omitted]
  • Access to secretsline 999
    [Credential-related source omitted]
  • Access to secretsline 1001
    [Credential-related source omitted]

tests/test_auth_oauth.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 150
    q = browser.query()     assert browser.url.startswith("https://login.landing.ai/oidc/auth?")
  • Network accessline 151
    assert browser.url.startswith("https://login.landing.ai/oidc/auth?")
  • Network accessline 153
    assert q["response_type"] == "code"     assert q["code_challenge_method"] == "S256"     assert q["resource"] == "https://api.ade.landing.ai"
  • Network accessline 154
    assert q["code_challenge_method"] == "S256"     assert q["resource"] == "https://api.ade.landing.ai"     assert "offline_access" in q["scope"]
  • Network accessline 155
    assert q["resource"] == "https://api.ade.landing.ai"
  • Network accessline 157
    assert "urn:logto:scope:organizations" in q["scope"]     assert q["prompt"] == "consent"     assert q["redirect_uri"].startswith("http://127.0.0.1:")
  • Network accessline 159
    assert q["redirect_uri"].startswith("http://127.0.0.1:")
  • Network accessline 162
    exchange = cli.transport.requests[0]     assert str(exchange.url) == "https://login.landing.ai/oidc/token"
  • Network accessline 163
    assert str(exchange.url) == "https://login.landing.ai/oidc/token"
  • Network accessline 176
    assert "resource" not in discovery_form     userinfo = cli.transport.requests[2]     assert str(userinfo.url) == "https://login.landing.ai/oidc/me"
  • Network accessline 177
    userinfo = cli.transport.requests[2]     assert str(userinfo.url) == "https://login.landing.ai/oidc/me"     assert userinfo.headers["Authorization"] == "Bearer opaque-1"
  • Network accessline 178
    assert str(userinfo.url) == "https://login.landing.ai/oidc/me"
  • Access to secretsline 186
    [Credential-related source omitted]
  • Network accessline 217
    assert result.exit_code == 0     assert browser.url.startswith("https://login.dev.landing.ai/oidc/auth?")
  • Network accessline 218
    assert browser.url.startswith("https://login.dev.landing.ai/oidc/auth?")
  • Network accessline 219
    assert browser.query()["resource"] == "https://api.ade.dev.landing.ai"
  • Network accessline 256
    assert result.exit_code == 0     assert browser.url.startswith("https://login.landing.ai/oidc/auth?")
  • Network accessline 257
    assert browser.url.startswith("https://login.landing.ai/oidc/auth?")
  • Network accessline 258
    assert browser.query()["resource"] == "https://api.ade.landing.ai"
  • Network accessline 264
    seed_oauth_config(         cli,         issuer="https://login.example.test/oidc",
  • Network accessline 265
    cli,         issuer="https://login.example.test/oidc",         resource="https://api.example.test",
  • Network accessline 266
    issuer="https://login.example.test/oidc",
  • Network accessline 267
    resource="https://api.example.test",
  • Network accessline 275
    assert result.exit_code == 0     assert browser.url.startswith("https://login.example.test/oidc/auth?")
  • Network accessline 276
    assert browser.url.startswith("https://login.example.test/oidc/auth?")     assert browser.query()["resource"] == "https://api.example.test"     exchange = cli.transport.requests[0]
  • Network accessline 277
    assert browser.query()["resource"] == "https://api.example.test"     exchange = cli.transport.requests[0]     assert str(exchange.url) == "https://login.example.test/oidc/token"
  • Network accessline 279
    assert str(exchange.url) == "https://login.example.test/oidc/token"
  • Network accessline 281
    assert str(cli.transport.requests[2].url) == "https://login.example.test/oidc/me"
  • Access to secretsline 389
    [Credential-related source omitted]
  • Network accessline 415
    assert result.exit_code == 0, result.output     assert "> 2) Sign in with your browser" in result.stderr     assert browser.url.startswith("https://login.landing.ai/oidc/auth?")
  • Network accessline 416
    assert "> 2) Sign in with your browser" in result.stderr     assert browser.url.startswith("https://login.landing.ai/oidc/auth?")     assert json.loads(result.stdout)["method"] == "oauth"
  • Network accessline 417
    assert browser.url.startswith("https://login.landing.ai/oidc/auth?")
  • Network accessline 424
    cli.home.mkdir(parents=True, exist_ok=True)     (cli.home / "config.json").write_text(         json.dumps({"endpoint": "https://stored.example.com"})
  • Network accessline 425
    (cli.home / "config.json").write_text(         json.dumps({"endpoint": "https://stored.example.com"})     )
  • Network accessline 426
    json.dumps({"endpoint": "https://stored.example.com"})
  • Network accessline 443
    assert payload["method"] == "oauth"     assert payload["environment"] == "production"     assert browser.query()["resource"] == "https://api.ade.landing.ai"
  • Network accessline 445
    assert browser.query()["resource"] == "https://api.ade.landing.ai"
  • Network accessline 477
    assert result.exit_code == 0, result.output     assert "How would you like to log in?" in result.stderr     assert browser.url.startswith("https://login.landing.ai/oidc/auth?")
  • Network accessline 478
    assert "How would you like to log in?" in result.stderr     assert browser.url.startswith("https://login.landing.ai/oidc/auth?")     payload = json.loads(result.stdout[result.stdout.index("{"):])
  • Network accessline 479
    assert browser.url.startswith("https://login.landing.ai/oidc/auth?")
  • Access to secretsline 518
    [Credential-related source omitted]
  • Access to secretsline 519
    [Credential-related source omitted]
  • Network accessline 531
    "auth", "login", "--json",         input=KEY + "\n",         env={"ADE_ENDPOINT": "https://custom.example.com", "TERM": "dumb"},
  • Network accessline 532
    input=KEY + "\n",         env={"ADE_ENDPOINT": "https://custom.example.com", "TERM": "dumb"},     )
  • Network accessline 533
    env={"ADE_ENDPOINT": "https://custom.example.com", "TERM": "dumb"},
  • Network accessline 538
    payload = json.loads(result.stdout[result.stdout.index("{"):])     assert payload["method"] == "api_key"     assert payload["endpoint"] == "https://custom.example.com"
  • Access to secretsline 539
    [Credential-related source omitted]
  • Network accessline 540
    assert payload["endpoint"] == "https://custom.example.com"
  • Network accessline 549
    "production": {                         "client_id": CLIENT_ID,                         "resource": "https://custom.example.com",
  • Network accessline 550
    "client_id": CLIENT_ID,                         "resource": "https://custom.example.com",                     }
  • Network accessline 551
    "resource": "https://custom.example.com",
  • Network accessline 564
    "auth", "login", "--json",         input="2\n", browser=browser,         env={"ADE_ENDPOINT": "https://custom.example.com", "TERM": "dumb"},
  • Network accessline 565
    input="2\n", browser=browser,         env={"ADE_ENDPOINT": "https://custom.example.com", "TERM": "dumb"},     )
  • Network accessline 566
    env={"ADE_ENDPOINT": "https://custom.example.com", "TERM": "dumb"},
  • Network accessline 569
    assert result.exit_code == 0, result.output     assert "How would you like to log in?" in result.stderr     assert browser.query()["resource"] == "https://custom.example.com"
  • Network accessline 570
    assert "How would you like to log in?" in result.stderr     assert browser.query()["resource"] == "https://custom.example.com"     assert json.loads(result.stdout[result.stdout.index("{"):])["method"] == "oauth"
  • Network accessline 571
    assert browser.query()["resource"] == "https://custom.example.com"
  • Network accessline 650
    "auth", "login",         browser=lambda url: True,         env={"ADE_ENDPOINT": "https://custom.example.com"},
  • Network accessline 651
    browser=lambda url: True,         env={"ADE_ENDPOINT": "https://custom.example.com"},     )
  • Network accessline 652
    env={"ADE_ENDPOINT": "https://custom.example.com"},
  • Network accessline 666
    "production": {                         "client_id": CLIENT_ID,                         "resource": "https://custom.example.com",
  • Network accessline 667
    "client_id": CLIENT_ID,                         "resource": "https://custom.example.com",                     }
  • Network accessline 668
    "resource": "https://custom.example.com",
  • Network accessline 679
    "auth", "login",         browser=browser,         env={"ADE_ENDPOINT": "https://custom.example.com"},
  • Network accessline 680
    browser=browser,         env={"ADE_ENDPOINT": "https://custom.example.com"},     )
  • Network accessline 681
    env={"ADE_ENDPOINT": "https://custom.example.com"},
  • Network accessline 684
    assert result.exit_code == 0, result.output     assert browser.query()["resource"] == "https://custom.example.com"
  • Network accessline 685
    assert browser.query()["resource"] == "https://custom.example.com"
  • Access to secretsline 722
    [Credential-related source omitted]
  • Access to secretsline 725
    [Credential-related source omitted]
  • Access to secretsline 739
    [Credential-related source omitted]
  • Network accessline 757
    }     (revocation,) = cli.transport.requests     assert str(revocation.url) == "https://login.landing.ai/oidc/token/revocation"
  • Network accessline 758
    (revocation,) = cli.transport.requests     assert str(revocation.url) == "https://login.landing.ai/oidc/token/revocation"     form = {k: v[0] for k, v in parse_qs(revocation.content.decode()).items()}
  • Network accessline 759
    assert str(revocation.url) == "https://login.landing.ai/oidc/token/revocation"
  • Network accessline 801
    assert result.exit_code == 0, result.output     refresh, submit, poll = cli.transport.requests     assert str(refresh.url) == "https://login.landing.ai/oidc/token"
  • Network accessline 802
    refresh, submit, poll = cli.transport.requests     assert str(refresh.url) == "https://login.landing.ai/oidc/token"     assert _form(refresh)["grant_type"] == "refresh_token"
  • Network accessline 803
    assert str(refresh.url) == "https://login.landing.ai/oidc/token"
  • Access to secretsline 937
    [Credential-related source omitted]
  • Access to secretsline 947
    [Credential-related source omitted]
  • Access to secretsline 970
    [Credential-related source omitted]
  • Access to secretsline 985
    [Credential-related source omitted]
  • Network accessline 1111
    cli.transport.respond(200, token_response())     cli.transport.respond_with(         lambda request: httpx.Response(200, content=b"<html>gateway</html>")
  • Network accessline 1112
    cli.transport.respond_with(         lambda request: httpx.Response(200, content=b"<html>gateway</html>")     )
  • Network accessline 1113
    lambda request: httpx.Response(200, content=b"<html>gateway</html>")
  • Access to secretsline 1122
    [Credential-related source omitted]
  • Access to secretsline 1134
    [Credential-related source omitted]
  • Network accessline 1140
    cli.transport.respond(200, token_response(access="opaque-1", refresh="rt-2"))     cli.transport.respond_with(         lambda request: httpx.Response(200, content=b"not json at all")
  • Network accessline 1141
    cli.transport.respond_with(         lambda request: httpx.Response(200, content=b"not json at all")     )
  • Network accessline 1142
    lambda request: httpx.Response(200, content=b"not json at all")
  • Access to secretsline 1151
    [Credential-related source omitted]
  • Access to secretsline 1194
    [Credential-related source omitted]
  • Network accessline 1200
    seed_oauth_config(cli)     cli.transport.respond_with(         lambda request: httpx.Response(200, content=b"<html>gateway</html>")
  • Network accessline 1201
    cli.transport.respond_with(         lambda request: httpx.Response(200, content=b"<html>gateway</html>")     )
  • Network accessline 1202
    lambda request: httpx.Response(200, content=b"<html>gateway</html>")

tests/test_crop.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 20
    [Credential-related source omitted]
  • Network accessline 604
    cli.transport.respond(200, completed_job(rich_parse_response()))     parsed = cli.invoke(         "parse", "--document-url", "https://example.com/doc.pdf",
  • Network accessline 605
    parsed = cli.invoke(         "parse", "--document-url", "https://example.com/doc.pdf",         "--json", env=AUTH_ENV,
  • Network accessline 606
    "parse", "--document-url", "https://example.com/doc.pdf",
  • Network accessline 635
    item_id = url_parsed(cli)     body = pdf.read_bytes()     cli.transport.respond_with(lambda req: httpx.Response(200, content=body))
  • Network accessline 637
    cli.transport.respond_with(lambda req: httpx.Response(200, content=body))
  • Network accessline 642
    assert payload["downloaded"] is True     assert "downloaded copy" in payload["warning"]     assert str(cli.transport.requests[-1].url) == "https://example.com/doc.pdf"
  • Network accessline 643
    assert "downloaded copy" in payload["warning"]     assert str(cli.transport.requests[-1].url) == "https://example.com/doc.pdf"     assert (cli.home / "jobs" / item_id / "document.pdf").read_bytes() == body
  • Network accessline 644
    assert str(cli.transport.requests[-1].url) == "https://example.com/doc.pdf"
  • Network accessline 660
    item_id = url_parsed(cli)     cli.transport.respond_with(lambda req: httpx.Response(403, content=b"denied"))
  • Network accessline 661
    cli.transport.respond_with(lambda req: httpx.Response(403, content=b"denied"))

tests/test_env_targeting.py

  • Executable scriptline 1
    Executable file
  • Network accessline 23
    STAGING = "https://api.ade.staging.landing.ai"
  • Network accessline 24
    PRODUCTION = "https://api.ade.landing.ai"
  • Network accessline 45
    cli.transport.requests.clear()
  • Network accessline 84
    assert flagged["environment"] == "dev"     assert str(cli.transport.requests[0].url).startswith(STAGING)     assert str(cli.transport.requests[2].url).startswith("https://api.ade.dev.landing.ai")
  • Network accessline 86
    assert str(cli.transport.requests[2].url).startswith("https://api.ade.dev.landing.ai")
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 140
    [Credential-related source omitted]
  • Access to secretsline 215
    [Credential-related source omitted]
  • Access to secretsline 232
    [Credential-related source omitted]

tests/test_evidence.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 19
    [Credential-related source omitted]

tests/test_extract.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 27
    [Credential-related source omitted]
  • Network accessline 541
    def test_markdown_url_is_passed_through(cli, schema_file):     url = "https://example.com/notes.md"
  • Network accessline 542
    url = "https://example.com/notes.md"
  • Network accessline 571
    result = cli.invoke(         "extract", "--markdown-url", "https://example.com/notes.md",
  • Network accessline 572
    "extract", "--markdown-url", "https://example.com/notes.md",
  • Possible obfuscationline 762
    binary.write_bytes(b"\xff\xfe\x00\x01 not utf-8")
  • Network accessline 835
    VIOLATION = (     "'profit' is a required property.\nPlease read our documentation at "     "https://docs.landing.ai/ade/ade-extract-schema-json for more details."
  • Network accessline 836
    "'profit' is a required property.\nPlease read our documentation at "     "https://docs.landing.ai/ade/ade-extract-schema-json for more details." )
  • Network accessline 837
    "https://docs.landing.ai/ade/ade-extract-schema-json for more details."

tests/test_extract_document.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 31
    [Credential-related source omitted]

tests/test_find.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 15
    [Credential-related source omitted]

tests/test_help.py

  • Executable scriptline 1
    Executable file

tests/test_help_style.py

  • Executable scriptline 1
    Executable file

tests/test_history.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 20
    [Credential-related source omitted]
  • Network accessline 574
    str(document),         "--json",         env={**AUTH_ENV, "ADE_ENDPOINT": "https://ade.internal.example.com"},
  • Network accessline 575
    "--json",         env={**AUTH_ENV, "ADE_ENDPOINT": "https://ade.internal.example.com"},     )
  • Network accessline 576
    env={**AUTH_ENV, "ADE_ENDPOINT": "https://ade.internal.example.com"},
  • Network accessline 607
    url = "https://x.test/</script><script>alert(1)</script>"

tests/test_identity.py

  • Executable scriptline 1
    Executable file
  • Network accessline 57
    def test_url_id_matches_the_documented_formula_with_no_content_component():     url = "https://example.com/doc.pdf"
  • Network accessline 58
    url = "https://example.com/doc.pdf"
  • Network accessline 123
    a = store.derive_id("parse", ENV, store.url_identity("https://x.test/a"), PARAMS)
  • Network accessline 124
    b = store.derive_id("parse", ENV, store.url_identity("https://x.test/b"), PARAMS)

tests/test_output.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 30
    url = "https://example.com/statements/q2.pdf"

tests/test_parse.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 17
    [Credential-related source omitted]
  • Network accessline 332
    def test_document_url_submits_and_keys_the_store_by_url_hash(cli):     url = "https://example.com/statement.pdf"
  • Network accessline 333
    url = "https://example.com/statement.pdf"
  • Network accessline 462
    neither = cli.invoke("parse", env=AUTH_ENV)     both = cli.invoke(         "parse", "-d", str(document), "--document-url", "https://x.com/a.pdf",
  • Network accessline 463
    both = cli.invoke(         "parse", "-d", str(document), "--document-url", "https://x.com/a.pdf",         env=AUTH_ENV,
  • Network accessline 464
    "parse", "-d", str(document), "--document-url", "https://x.com/a.pdf",
  • Network accessline 574
    cli.transport.respond(202, {"job_id": JOB_ID})     body = job_payload("completed", progress=1.0)     body["output_url"] = "https://bucket.example.com/result.json"  # result stays null
  • Network accessline 575
    body = job_payload("completed", progress=1.0)     body["output_url"] = "https://bucket.example.com/result.json"  # result stays null     cli.transport.respond(200, body)
  • Network accessline 576
    body["output_url"] = "https://bucket.example.com/result.json"  # result stays null
  • Network accessline 693
    cli.transport.respond(200, completed_job())     pdf = b"%PDF-1.4 tiny fixture"     cli.transport.respond_with(lambda req: httpx.Response(200, content=pdf))
  • Network accessline 695
    cli.transport.respond_with(lambda req: httpx.Response(200, content=pdf))
  • Network accessline 697
    result = cli.invoke(         "parse", "--document-url", "https://example.com/inv.pdf",
  • Network accessline 698
    "parse", "--document-url", "https://example.com/inv.pdf",
  • Network accessline 707
    meta = json.loads((item_dir_ / "meta.json").read_text())     assert meta["attached_source"] == "document.pdf"     assert meta["source"] == "https://example.com/inv.pdf"
  • Network accessline 708
    assert meta["attached_source"] == "document.pdf"     assert meta["source"] == "https://example.com/inv.pdf"     assert str(cli.transport.requests[-1].url) == "https://example.com/inv.pdf"
  • Network accessline 709
    assert meta["source"] == "https://example.com/inv.pdf"
  • Network accessline 710
    assert str(cli.transport.requests[-1].url) == "https://example.com/inv.pdf"
  • Network accessline 716
    cli.transport.respond(202, {"job_id": JOB_ID})     cli.transport.respond(200, completed_job())     cli.transport.respond_with(lambda req: httpx.Response(403, content=b"expired"))
  • Network accessline 718
    cli.transport.respond_with(lambda req: httpx.Response(403, content=b"expired"))
  • Network accessline 720
    result = cli.invoke(         "parse", "--document-url", "https://example.com/inv.pdf",
  • Network accessline 721
    "parse", "--document-url", "https://example.com/inv.pdf",
  • Network accessline 748
    cli.transport.respond(200, completed_job())     first = cli.invoke(         "parse", "--document-url", "https://example.com/inv.pdf",
  • Network accessline 749
    first = cli.invoke(         "parse", "--document-url", "https://example.com/inv.pdf",         "--json", env=AUTH_ENV,
  • Network accessline 750
    "parse", "--document-url", "https://example.com/inv.pdf",
  • Network accessline 755
    pdf = b"%PDF-1.4 tiny fixture"     cli.transport.respond_with(lambda req: httpx.Response(200, content=pdf))
  • Network accessline 756
    cli.transport.respond_with(lambda req: httpx.Response(200, content=pdf))
  • Network accessline 757
    result = cli.invoke(         "parse", "--document-url", "https://example.com/inv.pdf",         "--keep-copy", "--json", env=AUTH_ENV,
  • Network accessline 758
    "parse", "--document-url", "https://example.com/inv.pdf",

tests/test_parse_guarantee.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 373
    fresh["job_id"] = "job-0002"         (item_dir / "job.json").write_text(json.dumps(fresh))         return httpx.Response(404, json=None)
  • Network accessline 375
    return httpx.Response(404, json=None)
  • Network accessline 402
    item_dir = next((cli.home / "jobs").iterdir())         (item_dir / "job.json").write_text(json.dumps(displaced_by))         return httpx.Response(200, json=completed_job())
  • Network accessline 404
    return httpx.Response(200, json=completed_job())
  • Network accessline 419
    cli.transport.respond(202, {"job_id": JOB_ID})     delivered = job_payload("completed", progress=1.0)     delivered["output_url"] = "https://results.example/job-0001.json"
  • Network accessline 420
    delivered = job_payload("completed", progress=1.0)     delivered["output_url"] = "https://results.example/job-0001.json"     cli.transport.respond(200, delivered)
  • Network accessline 421
    delivered["output_url"] = "https://results.example/job-0001.json"
  • Network accessline 427
    payload = json.loads(result.stdout)     assert payload["error"] == "missing_result"     assert payload["output_url"] == "https://results.example/job-0001.json"
  • Network accessline 428
    assert payload["error"] == "missing_result"     assert payload["output_url"] == "https://results.example/job-0001.json"     assert "output_url" in payload["payload_keys"]
  • Network accessline 429
    assert payload["output_url"] == "https://results.example/job-0001.json"
  • Network accessline 437
    endpoint = "https://custom.internal.example.com"
  • Network accessline 471
    assert result.exit_code == 1     assert "the production environment (https://api.ade.landing.ai)" in result.stdout
  • Network accessline 472
    assert "the production environment (https://api.ade.landing.ai)" in result.stdout

tests/test_progress.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 21
    [Credential-related source omitted]

tests/test_release_pipeline.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 85
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]

tests/test_serve.py

  • Executable scriptline 1
    Executable file
  • Network accessline 25
    return seed_parse_item(cli, url="https://docs.example.com/manual.pdf")
  • Network accessline 44
    )     payload = view_json(cli, item_id, "--serve", "--no-download")     assert payload["url"] == f"http://127.0.0.1:8642/jobs/{item_id}/view.html"
  • Network accessline 45
    payload = view_json(cli, item_id, "--serve", "--no-download")     assert payload["url"] == f"http://127.0.0.1:8642/jobs/{item_id}/view.html"     assert payload["serve_error"] is None
  • Network accessline 46
    assert payload["url"] == f"http://127.0.0.1:8642/jobs/{item_id}/view.html"     assert payload["serve_error"] is None     probe = cli.transport.requests[-1]
  • Network accessline 47
    assert payload["serve_error"] is None     probe = cli.transport.requests[-1]     assert str(probe.url) == "http://127.0.0.1:8642/__ade__/health"
  • Network accessline 49
    assert str(probe.url) == "http://127.0.0.1:8642/__ade__/health"
  • Network accessline 67
    payload = view_json(cli, item_id, "--serve", "--no-download")     assert spawned == [serve.DEFAULT_PORT]     assert payload["url"] == f"http://127.0.0.1:8644/jobs/{item_id}/view.html"
  • Network accessline 68
    assert spawned == [serve.DEFAULT_PORT]     assert payload["url"] == f"http://127.0.0.1:8644/jobs/{item_id}/view.html"     assert payload["deep_link"] is None
  • Network accessline 69
    assert payload["url"] == f"http://127.0.0.1:8644/jobs/{item_id}/view.html"
  • Network accessline 86
    monkeypatch.setattr("ade_cli.view._spawn_server", fake_spawn)     payload = view_json(cli, item_id, "--serve", "--no-download")     assert payload["url"] == f"http://127.0.0.1:8645/jobs/{item_id}/view.html"
  • Network accessline 88
    assert payload["url"] == f"http://127.0.0.1:8645/jobs/{item_id}/view.html"
  • Dangerous shell operationline 112
    """A failed re-exec (Popen raising) is a serve failure like any other:
  • Network accessline 141
    payload = json.loads(result.stdout)     assert opened == [         f"http://127.0.0.1:8642/jobs/{item_id}/view.html#element=text-0"
  • Network accessline 142
    assert opened == [         f"http://127.0.0.1:8642/jobs/{item_id}/view.html#element=text-0"     ]
  • Network accessline 143
    f"http://127.0.0.1:8642/jobs/{item_id}/view.html#element=text-0"
  • Network accessline 156
    thread.start()     try:         base = f"http://127.0.0.1:{port}"
  • Network accessline 157
    try:         base = f"http://127.0.0.1:{port}"         health = httpx.get(f"{base}{serve.HEALTH_PATH}")
  • Network accessline 158
    base = f"http://127.0.0.1:{port}"         health = httpx.get(f"{base}{serve.HEALTH_PATH}")         assert health.status_code == 200
  • Network accessline 159
    health = httpx.get(f"{base}{serve.HEALTH_PATH}")
  • Network accessline 163
    page = httpx.get(f"{base}/jobs/{item_id}/view.html")
  • Network accessline 170
    assert httpx.get(f"{base}/jobs/").status_code == 403
  • Network accessline 176
    (cli.home / "credentials.json").write_text('{"environments": {}}')         assert httpx.get(f"{base}/credentials.json").status_code == 404
  • Network accessline 177
    assert httpx.get(f"{base}/credentials.json").status_code == 404
  • Network accessline 178
    assert httpx.get(f"{base}/jobs/%2e%2e/credentials.json").status_code == 404
  • Network accessline 179
    assert httpx.get(f"{base}/config.json").status_code == 404
  • Network accessline 180
    assert httpx.get(f"{base}/history.js").status_code == 200
  • Network accessline 194
    shutdown = cli.transport.requests[-1]     assert shutdown.method == "POST"     assert str(shutdown.url) == "http://127.0.0.1:8642/__ade__/shutdown"
  • Network accessline 196
    assert str(shutdown.url) == "http://127.0.0.1:8642/__ade__/shutdown"
  • Network accessline 225
    cli.transport.respond(200, _health_body(cli))     cli.transport.respond_with(         lambda request: (_ for _ in ()).throw(httpx.ConnectError("reset"))
  • Network accessline 226
    cli.transport.respond_with(         lambda request: (_ for _ in ()).throw(httpx.ConnectError("reset"))     )
  • Network accessline 227
    lambda request: (_ for _ in ()).throw(httpx.ConnectError("reset"))
  • Network accessline 253
    try:         assert (             httpx.post(f"http://127.0.0.1:{port}{serve.SHUTDOWN_PATH}").status_code
  • Network accessline 254
    assert (             httpx.post(f"http://127.0.0.1:{port}{serve.SHUTDOWN_PATH}").status_code             == 200
  • Network accessline 255
    httpx.post(f"http://127.0.0.1:{port}{serve.SHUTDOWN_PATH}").status_code

tests/test_shipping.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 18
    [Credential-related source omitted]
  • Network accessline 47
    assert result.exit_code == 0     (post,) = telemetry_posts(cli)     assert post.url == "https://api.ade.landing.ai/v2/telemetry"
  • Network accessline 48
    (post,) = telemetry_posts(cli)     assert post.url == "https://api.ade.landing.ai/v2/telemetry"     body = json.loads(post.content)
  • Network accessline 49
    assert post.url == "https://api.ade.landing.ai/v2/telemetry"
  • Network accessline 110
    cli.transport.respond(200, {"accepted": 0})  # login's verification probe     cli.invoke("auth", "login", "--api-key", "k-stored")     cli.transport.requests.clear()  # the flush below is the traffic under test
  • Network accessline 111
    cli.invoke("auth", "login", "--api-key", "k-stored")     cli.transport.requests.clear()  # the flush below is the traffic under test     cli.transport.respond(200, {"accepted": 2})
  • Network accessline 112
    cli.transport.requests.clear()  # the flush below is the traffic under test
  • Network accessline 129
    cli.transport.respond(200, {"accepted": 0})     cli.invoke("auth", "login", "--api-key", "k-dev", "--env", "dev")     cli.transport.requests.clear()  # the flushes below are the traffic under test
  • Network accessline 130
    cli.invoke("auth", "login", "--api-key", "k-dev", "--env", "dev")     cli.transport.requests.clear()  # the flushes below are the traffic under test     cli.transport.respond(200, {"accepted": 1})
  • Network accessline 131
    cli.transport.requests.clear()  # the flushes below are the traffic under test
  • Access to secretsline 169
    [Credential-related source omitted]
  • Network accessline 175
    def test_custom_endpoint_events_ship_while_the_override_addresses_them(cli):     custom = {"ADE_ENDPOINT": "https://ade.example.test"}
  • Network accessline 176
    custom = {"ADE_ENDPOINT": "https://ade.example.test"}
  • Network accessline 182
    (post,) = telemetry_posts(cli)     assert post.url == "https://ade.example.test/v2/telemetry"
  • Network accessline 183
    assert post.url == "https://ade.example.test/v2/telemetry"
  • Network accessline 187
    def test_custom_events_wait_when_no_override_is_live(cli):     cli.invoke("version", env={"ADE_ENDPOINT": "https://ade.example.test"})
  • Network accessline 188
    cli.invoke("version", env={"ADE_ENDPOINT": "https://ade.example.test"})
  • Network accessline 203
    def offline(request):         raise httpx.ConnectError("no network")
  • Network accessline 204
    raise httpx.ConnectError("no network")
  • Network accessline 219
    cli.transport.respond(200, {"accepted": 0})     cli.invoke("auth", "login", "--api-key", "k-dev", "--env", "dev")     cli.transport.requests.clear()  # the flush below is the traffic under test
  • Network accessline 221
    cli.transport.requests.clear()  # the flush below is the traffic under test
  • Network accessline 223
    def offline(request):         raise httpx.ConnectError("no network")
  • Network accessline 224
    raise httpx.ConnectError("no network")
  • Access to secretsline 285
    [Credential-related source omitted]

tests/test_surface.py

  • Executable scriptline 1
    Executable file
  • Network accessline 89
    {"CIRCLECI": "true"},         {"BUILDKITE": "true"},         {"JENKINS_URL": "https://ci.example.com"},
  • Network accessline 90
    {"BUILDKITE": "true"},         {"JENKINS_URL": "https://ci.example.com"},         {"TEAMCITY_VERSION": "2025.1"},
  • Network accessline 91
    {"JENKINS_URL": "https://ci.example.com"},

tests/test_telemetry.py

  • Executable scriptline 1
    Executable file
  • Network accessline 249
    def test_an_endpoint_override_maps_back_to_its_environment_name(cli):     cli.invoke("version", env={"ADE_ENDPOINT": "https://api.ade.dev.landing.ai"})
  • Network accessline 250
    cli.invoke("version", env={"ADE_ENDPOINT": "https://api.ade.dev.landing.ai"})
  • Network accessline 256
    def test_a_custom_endpoint_records_the_bucket_never_the_url(cli):     cli.invoke("version", env={"ADE_ENDPOINT": "https://ade.internal.example.com"})
  • Network accessline 257
    cli.invoke("version", env={"ADE_ENDPOINT": "https://ade.internal.example.com"})

tests/test_templates.py

  • Executable scriptline 1
    Executable file

tests/test_term.py

  • Executable scriptline 1
    Executable file

tests/test_update.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 77
    [Credential-related source omitted]
  • Access to secretsline 85
    [Credential-related source omitted]
  • Network accessline 153
    digest = "0" * 64     script_latest(cli, "v99.0.0")     cli.transport.respond_with(lambda request: httpx.Response(200, content=payload))
  • Network accessline 154
    script_latest(cli, "v99.0.0")     cli.transport.respond_with(lambda request: httpx.Response(200, content=payload))     cli.transport.respond_with(
  • Network accessline 155
    cli.transport.respond_with(lambda request: httpx.Response(200, content=payload))
  • Network accessline 156
    cli.transport.respond_with(         lambda request: httpx.Response(             200, content=f"{digest}  {asset}\n".encode()
  • Network accessline 157
    lambda request: httpx.Response(
  • Network accessline 295
    },     )     cli.transport.respond_with(lambda request: httpx.Response(200, content=payload))
  • Network accessline 296
    )     cli.transport.respond_with(lambda request: httpx.Response(200, content=payload))     cli.transport.respond_with(
  • Network accessline 297
    cli.transport.respond_with(lambda request: httpx.Response(200, content=payload))
  • Network accessline 298
    cli.transport.respond_with(         lambda request: httpx.Response(200, content=f"{digest}  {asset}\n".encode())     )
  • Network accessline 299
    lambda request: httpx.Response(200, content=f"{digest}  {asset}\n".encode())
  • Access to secretsline 302
    [Credential-related source omitted]
  • Network accessline 321
    asset = update_mod.asset_name(update_mod.platform_target())     script_latest(cli, "v99.0.0")     cli.transport.respond_with(lambda request: httpx.Response(200, content=garbage))
  • Network accessline 322
    script_latest(cli, "v99.0.0")     cli.transport.respond_with(lambda request: httpx.Response(200, content=garbage))     cli.transport.respond_with(
  • Network accessline 323
    cli.transport.respond_with(lambda request: httpx.Response(200, content=garbage))
  • Network accessline 324
    cli.transport.respond_with(         lambda request: httpx.Response(200, content=f"{digest}  {asset}\n".encode())     )
  • Network accessline 325
    lambda request: httpx.Response(200, content=f"{digest}  {asset}\n".encode())
  • Access to secretsline 418
    [Credential-related source omitted]
  • Access to secretsline 430
    [Credential-related source omitted]
  • Access to secretsline 443
    [Credential-related source omitted]

tests/test_useragent.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 22
    [Credential-related source omitted]
  • Network accessline 187
    with pytest.raises(TypeError):         Gateway(  # ty: ignore[missing-argument]             endpoint="https://api.example.test",
  • Network accessline 188
    Gateway(  # ty: ignore[missing-argument]             endpoint="https://api.example.test",             auth=StaticBearer(KEY),
  • Network accessline 189
    endpoint="https://api.example.test",             auth=StaticBearer(KEY),             transport=httpx.MockTransport(lambda request: httpx.Response(200)),
  • Network accessline 190
    auth=StaticBearer(KEY),             transport=httpx.MockTransport(lambda request: httpx.Response(200)),         )
  • Network accessline 191
    transport=httpx.MockTransport(lambda request: httpx.Response(200)),

tests/test_version.py

  • Executable scriptline 1
    Executable file

tests/test_view.py

  • Executable scriptline 1
    Executable file
  • Network accessline 201
    assert html.count("data:image/webp;base64,") == 2     for external in ('src="http', "href=\"http", "<link", "fetch("):
  • Network accessline 202
    for external in ('src="http', "href=\"http", "<link", "fetch("):
  • Network accessline 608
    def test_view_degrades_for_url_documents(cli):     item_id = seed_parse_item(cli, url="https://example.com/invoice.pdf")
  • Network accessline 609
    item_id = seed_parse_item(cli, url="https://example.com/invoice.pdf")
  • Network accessline 785
    item_id = seed_parse_item(cli, url="https://x.test/</script><img src=x>")
  • Network accessline 1101
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")
  • Network accessline 1140
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")     pdf = _pdf_bytes()     cli.transport.respond_with(lambda req: httpx.Response(200, content=pdf))
  • Network accessline 1142
    cli.transport.respond_with(lambda req: httpx.Response(200, content=pdf))
  • Network accessline 1163
    meta = json.loads((cli.home / "jobs" / item_id / "meta.json").read_text())     assert meta["attached_source"] == "document.pdf"     assert meta["source"] == "https://example.com/doc.pdf"  # provenance kept
  • Network accessline 1164
    assert meta["attached_source"] == "document.pdf"     assert meta["source"] == "https://example.com/doc.pdf"  # provenance kept     fetched = cli.transport.requests[-1]
  • Network accessline 1165
    assert meta["source"] == "https://example.com/doc.pdf"  # provenance kept     fetched = cli.transport.requests[-1]     assert str(fetched.url) == "https://example.com/doc.pdf"
  • Network accessline 1167
    assert str(fetched.url) == "https://example.com/doc.pdf"
  • Network accessline 1173
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")     cli.transport.respond_with(lambda req: httpx.Response(200, content=_pdf_bytes()))
  • Network accessline 1174
    cli.transport.respond_with(lambda req: httpx.Response(200, content=_pdf_bytes()))
  • Network accessline 1193
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")     pdf = _pdf_bytes()     cli.transport.respond_with(lambda req: httpx.Response(200, content=pdf))
  • Network accessline 1195
    cli.transport.respond_with(lambda req: httpx.Response(200, content=pdf))
  • Network accessline 1218
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")
  • Network accessline 1219
    pdf = _pdf_bytes()     cli.transport.respond_with(         lambda req: httpx.Response(
  • Network accessline 1220
    cli.transport.respond_with(         lambda req: httpx.Response(             200, content=pdf, headers={"content-length": str(len(pdf))}
  • Network accessline 1221
    lambda req: httpx.Response(
  • Network accessline 1242
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")     cli.transport.respond_with(lambda req: httpx.Response(403, content=b"denied"))
  • Network accessline 1243
    cli.transport.respond_with(lambda req: httpx.Response(403, content=b"denied"))
  • Network accessline 1258
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")     cli.transport.respond_with(lambda req: httpx.Response(403, content=b"denied"))
  • Network accessline 1259
    cli.transport.respond_with(lambda req: httpx.Response(403, content=b"denied"))
  • Network accessline 1286
    monkeypatch.setattr(attach, "MAX_COPY_BYTES", 64)     item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")     cli.transport.respond_with(lambda req: httpx.Response(200, content=b"x" * 200))
  • Network accessline 1287
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")
  • Network accessline 1288
    cli.transport.respond_with(lambda req: httpx.Response(200, content=b"x" * 200))
  • Network accessline 1304
    monkeypatch.setattr(attach, "MAX_COPY_BYTES", 64)     item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")
  • Network accessline 1305
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")     cli.transport.respond_with(         lambda req: httpx.Response(
  • Network accessline 1306
    cli.transport.respond_with(         lambda req: httpx.Response(             200, content=b"x" * 200, headers={"content-length": "200"}
  • Network accessline 1307
    lambda req: httpx.Response(
  • Network accessline 1324
    item_id = seed_parse_item(cli, url="https://example.com/doc.pdf")     cli.transport.respond_with(lambda req: httpx.Response(200, content=_pdf_bytes()))
  • Network accessline 1325
    cli.transport.respond_with(lambda req: httpx.Response(200, content=_pdf_bytes()))

tests/test_windows_hardening.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 214
    [Credential-related source omitted]
  • Access to secretsline 331
    [Credential-related source omitted]

uv.lock

  • Network accessline 37
    name = "altgraph" version = "0.17.5" source = { registry = "https://pypi.org/simple" }
  • Network accessline 38
    version = "0.17.5" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/7e/f8/97fdf103f38fed6792a1601dbc16cc8aac56e7459a9fff08c812d8ae177a/altgraph-0.17.5.tar.gz", hash = "sha256:c87b395
  • Network accessline 39
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 40
    sdist = { url = "https://files.pythonhosted.org/packages/7e/f8/97fdf103f38fed6792a1601dbc16cc8aac56e7459a9fff08c812d8ae177a/altgraph-0.17.5.tar.gz", hash = "sha256:c87b395dd12fabde9c99573a9749d67da8d29ef9de0125c7f536699b4a9bc9e7", size = 48
  • Network accessline 41
    wheels = [     { url = "https://files.pythonhosted.org/packages/a9/ba/000a1996d4308bc65120167c21241a3b205464a2e0b58deda26ae8ac21d1/altgraph-0.17.5-py2.py3-none-any.whl", hash = "sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06
  • Network accessline 42
    { url = "https://files.pythonhosted.org/packages/a9/ba/000a1996d4308bc65120167c21241a3b205464a2e0b58deda26ae8ac21d1/altgraph-0.17.5-py2.py3-none-any.whl", hash = "sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06961600597", siz
  • Network accessline 46
    name = "annotated-doc" version = "0.0.4" source = { registry = "https://pypi.org/simple" }
  • Network accessline 47
    version = "0.0.4" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcd
  • Network accessline 48
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 49
    sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size 
  • Network accessline 50
    wheels = [     { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8b
  • Network accessline 51
    { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", siz
  • Network accessline 55
    name = "anyio" version = "4.14.2" source = { registry = "https://pypi.org/simple" }
  • Network accessline 56
    version = "4.14.2" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 57
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 60
    { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/61/cc/a381afa6efea9f496eff839d4a6a1aed3bfafc7b3ab4b0d1b243a12573dd/anyio-4.14.2.tar.gz", hash = "sha256:cfa1
  • Network accessline 61
    ] sdist = { url = "https://files.pythonhosted.org/packages/61/cc/a381afa6efea9f496eff839d4a6a1aed3bfafc7b3ab4b0d1b243a12573dd/anyio-4.14.2.tar.gz", hash = "sha256:cfa139f3ed1a23ee8f88a145ddb5ac7605b8bbfd8592baacd7ce3d8bb4313c7f", size = 260
  • Network accessline 62
    sdist = { url = "https://files.pythonhosted.org/packages/61/cc/a381afa6efea9f496eff839d4a6a1aed3bfafc7b3ab4b0d1b243a12573dd/anyio-4.14.2.tar.gz", hash = "sha256:cfa139f3ed1a23ee8f88a145ddb5ac7605b8bbfd8592baacd7ce3d8bb4313c7f", size = 26017
  • Network accessline 63
    wheels = [     { url = "https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl", hash = "sha256:9f505dda5ac9f0c8309b5e8bd445a8c2bf7246f3ce950121e45ea15bc41d14
  • Network accessline 64
    { url = "https://files.pythonhosted.org/packages/da/35/f2287558c17e29fafc8ef3daf819bb9834061cfa43bff8014f7df7f63bdc/anyio-4.14.2-py3-none-any.whl", hash = "sha256:9f505dda5ac9f0c8309b5e8bd445a8c2bf7246f3ce950121e45ea15bc41d1494", size = 125
  • Network accessline 68
    name = "certifi" version = "2026.6.17" source = { registry = "https://pypi.org/simple" }
  • Network accessline 69
    version = "2026.6.17" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/c9/c7/424b75da314c1045981bd9777432fad05a9e0c69daa4ed7e308bbaffe405/certifi-2026.6.17.tar.gz", hash = "sha256:02
  • Network accessline 70
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 71
    sdist = { url = "https://files.pythonhosted.org/packages/c9/c7/424b75da314c1045981bd9777432fad05a9e0c69daa4ed7e308bbaffe405/certifi-2026.6.17.tar.gz", hash = "sha256:024c88eeec92ca068db80f02b8b07c9cef7b9fe261d1d535abfd5abd6f6af432", size = 
  • Network accessline 72
    wheels = [     { url = "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl", hash = "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f
  • Network accessline 73
    { url = "https://files.pythonhosted.org/packages/ef/2f/c5464532e965badff2f4c4c1a3a83f5697f0d7c407ed0cda44aaa99bb451/certifi-2026.6.17-py3-none-any.whl", hash = "sha256:2227dcbaafe0d2f59279d1762ddddc37783ed4354594f194ffc31d20f41fc3db", size 
  • Network accessline 77
    name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" }
  • Network accessline 78
    version = "0.4.6" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb
  • Network accessline 79
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 80
    sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 276
  • Network accessline 81
    wheels = [     { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57a
  • Network accessline 82
    { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size
  • Network accessline 86
    name = "h11" version = "0.16.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 87
    version = "0.16.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45
  • Network accessline 88
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 89
    sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250,
  • Network accessline 90
    wheels = [     { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86
  • Network accessline 91
    { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515
  • Network accessline 95
    name = "httpcore" version = "1.0.9" source = { registry = "https://pypi.org/simple" }
  • Network accessline 96
    version = "1.0.9" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 97
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 100
    { name = "h11" }, ] sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff
  • Network accessline 101
    ] sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 8
  • Network accessline 102
    sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 854
  • Network accessline 103
    wheels = [     { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1
  • Network accessline 104
    { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 7
  • Network accessline 108
    name = "httpx" version = "0.28.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 109
    version = "0.28.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 110
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 115
    { name = "idna" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e
  • Network accessline 116
    ] sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141
  • Network accessline 117
    sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 14140
  • Network accessline 118
    wheels = [     { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59
  • Network accessline 119
    { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 735
  • Network accessline 123
    name = "idna" version = "3.18" source = { registry = "https://pypi.org/simple" }
  • Network accessline 124
    version = "3.18" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654
  • Network accessline 125
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 126
    sdist = { url = "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848", size = 196711, 
  • Network accessline 127
    wheels = [     { url = "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2"
  • Network accessline 128
    { url = "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2", size = 65455,
  • Network accessline 132
    name = "iniconfig" version = "2.3.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 133
    version = "2.3.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c7
  • Network accessline 134
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 135
    sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20
  • Network accessline 136
    wheels = [     { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53
  • Network accessline 137
    { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 
  • Network accessline 141
    name = "macholib" version = "1.16.4" source = { registry = "https://pypi.org/simple" }
  • Network accessline 142
    version = "1.16.4" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 143
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 145
    { name = "altgraph" }, ] sdist = { url = "https://files.pythonhosted.org/packages/10/2f/97589876ea967487978071c9042518d28b958d87b17dceb7cdc1d881f963/macholib-1.16.4.tar.gz", hash = "sha256:f408c93ab2e995cd2c46e34fe328b130404be143469e41bc366
  • Network accessline 146
    ] sdist = { url = "https://files.pythonhosted.org/packages/10/2f/97589876ea967487978071c9042518d28b958d87b17dceb7cdc1d881f963/macholib-1.16.4.tar.gz", hash = "sha256:f408c93ab2e995cd2c46e34fe328b130404be143469e41bc366c807448979362", size = 
  • Network accessline 147
    sdist = { url = "https://files.pythonhosted.org/packages/10/2f/97589876ea967487978071c9042518d28b958d87b17dceb7cdc1d881f963/macholib-1.16.4.tar.gz", hash = "sha256:f408c93ab2e995cd2c46e34fe328b130404be143469e41bc366c807448979362", size = 59
  • Network accessline 148
    wheels = [     { url = "https://files.pythonhosted.org/packages/c7/d1/a9f36f8ecdf0fb7c9b1e78c8d7af12b8c8754e74851ac7b94a8305540fc7/macholib-1.16.4-py2.py3-none-any.whl", hash = "sha256:da1a3fa8266e30f0ce7e97c6a54eefaae8edd1e5f86f3eb8b95457c
  • Network accessline 149
    { url = "https://files.pythonhosted.org/packages/c7/d1/a9f36f8ecdf0fb7c9b1e78c8d7af12b8c8754e74851ac7b94a8305540fc7/macholib-1.16.4-py2.py3-none-any.whl", hash = "sha256:da1a3fa8266e30f0ce7e97c6a54eefaae8edd1e5f86f3eb8b95457cae90265ea", siz
  • Network accessline 153
    name = "markdown-it-py" version = "4.2.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 154
    version = "4.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 155
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 157
    { name = "mdurl" }, ] sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a1
  • Network accessline 158
    ] sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", si
  • Network accessline 159
    sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", size
  • Network accessline 160
    wheels = [     { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a3
  • Network accessline 161
    { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", si
  • Network accessline 165
    name = "mdurl" version = "0.1.2" source = { registry = "https://pypi.org/simple" }
  • Network accessline 166
    version = "0.1.2" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5ee
  • Network accessline 167
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 168
    sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, 
  • Network accessline 169
    wheels = [     { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f
  • Network accessline 170
    { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979
  • Network accessline 174
    name = "packaging" version = "26.2" source = { registry = "https://pypi.org/simple" }
  • Network accessline 175
    version = "26.2" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3
  • Network accessline 176
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 177
    sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228
  • Network accessline 178
    wheels = [     { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0
  • Network accessline 179
    { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 1
  • Network accessline 183
    name = "pefile" version = "2024.8.26" source = { registry = "https://pypi.org/simple" }
  • Network accessline 184
    version = "2024.8.26" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/03/4f/2750f7f6f025a1507cd3b7218691671eecfd0bbebebe8b39aa0fe1d360b8/pefile-2024.8.26.tar.gz", hash = "sha256:3ff
  • Network accessline 185
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 186
    sdist = { url = "https://files.pythonhosted.org/packages/03/4f/2750f7f6f025a1507cd3b7218691671eecfd0bbebebe8b39aa0fe1d360b8/pefile-2024.8.26.tar.gz", hash = "sha256:3ff6c5d8b43e8c37bb6e6dd5085658d658a7a0bdcd20b6a07b1fcfc1c4e9d632", size = 7
  • Network accessline 187
    wheels = [     { url = "https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b
  • Network accessline 188
    { url = "https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f", size =
  • Network accessline 192
    name = "pillow" version = "12.3.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 193
    version = "12.3.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/1c/3d/bb7fca845737cf9d7dbde16ed1843984665ff2e0a518f5db43e77ec540b9/pillow-12.3.0.tar.gz", hash = "sha256:3b8182a76
  • Network accessline 194
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 195
    sdist = { url = "https://files.pythonhosted.org/packages/1c/3d/bb7fca845737cf9d7dbde16ed1843984665ff2e0a518f5db43e77ec540b9/pillow-12.3.0.tar.gz", hash = "sha256:3b8182a766685eaa002637e28b4ec8d6b18819a0c71f579bf0dbaa5830297cce", size = 4702
  • Network accessline 196
    wheels = [     { url = "https://files.pythonhosted.org/packages/37/bf/fb3ebff8ddcb76aac5a01389251bbbb9519922a9b520d8247c1ca864a25d/pillow-12.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbae
  • Network accessline 197
    { url = "https://files.pythonhosted.org/packages/37/bf/fb3ebff8ddcb76aac5a01389251bbbb9519922a9b520d8247c1ca864a25d/pillow-12.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ba09209fbe443b4acccebe845d8a138b89a8f4fbaeedd44953490b531
  • Network accessline 198
    { url = "https://files.pythonhosted.org/packages/d8/66/9a386a92561f402389a4fc70c18838bf6d35eb5eb5c6850b4b2dc64f5048/pillow-12.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffd0c5368496f41b0944be820fcb7a838aa6e623d250b01acf2643939c3
  • Network accessline 199
    { url = "https://files.pythonhosted.org/packages/25/27/ac8f99618ffd3dde21db0f4d4b1d2ab00c0880595bfd17df103f7f39fd0c/pillow-12.3.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9c7f76c0673154f044e9d78c8655fb
  • Network accessline 200
    { url = "https://files.pythonhosted.org/packages/84/21/a35af28dcc61f37ed850a2d64c65c701321dfbf25085e469d5559360cbbf/pillow-12.3.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:78cb2c6865a35ab8ff8b75fd122f6033b
  • Network accessline 201
    { url = "https://files.pythonhosted.org/packages/eb/51/8b08617af3ad95e33ce6d7dd2c99ed6c8298f7fb131636303956be022e25/pillow-12.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e491916b378fba47242221bb9ead245211b70d504f495d105d17b14
  • Network accessline 202
    { url = "https://files.pythonhosted.org/packages/1d/72/cf78ac9780bb93c28328f408973845a309d4d145041665f734572ced1b52/pillow-12.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0dd2064cbc55aaec028ef5fbb60fa47bb6c3e7918e07ff17935284b2
  • Network accessline 203
    { url = "https://files.pythonhosted.org/packages/20/20/25e0f4dc178a6bc0696793720055519a0de89e7661dae886992decbd2f81/pillow-12.3.0-cp312-cp312-win32.whl", hash = "sha256:dbce0b29841537a2fa4a214c2bbf14de3587c9680caa9b4e217568472490b28f", size
  • Network accessline 204
    { url = "https://files.pythonhosted.org/packages/45/89/da2f7971a317f83d807fdd4065c0af40208e59e692cc43d315a71a0e96d1/pillow-12.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:a2b55dd6b2a4c4b7d87ffa56bdb33fdc5fdb9a462173861a7bc097f17d91cb09", 
  • Network accessline 205
    { url = "https://files.pythonhosted.org/packages/de/47/4845a0a6c0dbf1db8456bd9fc791f13c5ced7ced20606d08a0aacfd25b49/pillow-12.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:331b624368d4f1d069149002f25f44bc61c8919ce8ddb3c45bdad8f6e2d89510", 
  • Network accessline 206
    { url = "https://files.pythonhosted.org/packages/9d/ac/31fb64e1e7efb5a4b50cd3d92049ba89ac6e4d8d3bb6a74e15048ca3353e/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:21900ce7ba264168cd50defae43cd75d25c833ad4ad6e73ffc559
  • Network accessline 207
    { url = "https://files.pythonhosted.org/packages/87/b4/9805e23d2b4d77842b468513841fda254ee42f0289d25088340e4ff46e2d/pillow-12.3.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4e8c2a84d977f50b9daed6eeaf3baef67d00d5d74d9322
  • Network accessline 208
    { url = "https://files.pythonhosted.org/packages/df/39/ecf519435a200c693fe053a6ee4d835b41cf963a4dfc2551c4e637cb2a71/pillow-12.3.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:ae26d61dfa7a47befdc7572b521024e8745f3d809bd95
  • Network accessline 209
    { url = "https://files.pythonhosted.org/packages/42/92/2fc3ffad878ae8dd5469ec1bc8eb83b71f48e13efdf68f02709003982a32/pillow-12.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7a743ff716f746fc19a9557f60dab1600d4613255f8a7aeb3cdde4db7
  • Network accessline 210
    { url = "https://files.pythonhosted.org/packages/10/76/8803c13605b763d33d156c4678fc77f8443389c0c51c8aef707bb02015f4/pillow-12.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d69141514cc30b774ceea5e3ed3a6635c8d8a96edf664689b890f408911
  • Network accessline 211
    { url = "https://files.pythonhosted.org/packages/1f/01/e18aff37cb0b4aac47ac90f016d347a49aca667ef97f190b06ac2aabc928/pillow-12.3.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f7401aebd7f581d7f83a439d87d4749
  • Network accessline 212
    { url = "https://files.pythonhosted.org/packages/f7/62/de5bdd77d935331f4f802edc11e4d82950f642caad6cb2f949837b8560e2/pillow-12.3.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0847a763afefb695bc912d7c131e7e063
  • Network accessline 213
    { url = "https://files.pythonhosted.org/packages/70/4d/105627a13300c5e0df1d174230b32fd1273062c96f7745fd552b945d1e1d/pillow-12.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:571b9fcb07b97ef3a492028fb3d2dc0993ca23a06138b0315286566
  • Network accessline 214
    { url = "https://files.pythonhosted.org/packages/6b/1d/f13de01a553988ab895ba1c722e06cf3144d4f57656fd5b81b6d881f1179/pillow-12.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:756c768d0c9c2955feb7a56c37ea24aea2e369f8d36a88da270b6a9f
  • Network accessline 215
    { url = "https://files.pythonhosted.org/packages/c9/f9/066794cca041b969964f779ee5fa66a9498bbf34248ac39c5d7954e4198f/pillow-12.3.0-cp313-cp313-win32.whl", hash = "sha256:a876864214e136f0eb367788dbd7df045f4806801518e2cfe9e13229cfe06d8f", size
  • Network accessline 216
    { url = "https://files.pythonhosted.org/packages/a6/9b/7a58e61d62be561da3a356fe2384d4059a6345fc130e23ef1c36a5b81d24/pillow-12.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1cca606cd25738df4ed873d5ad46bbdb3d83b5cbca291f6b4ff13a4df6b0bbe8", 
  • Network accessline 217
    { url = "https://files.pythonhosted.org/packages/aa/b0/c4ed4f0ef8f8fa5ee8351537db6650bb8189f7e118842978dd6589065692/pillow-12.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b629de27fda84b42cde7edef0d85f13b958b47f6e9bbcbba9b673c562a89bd8b", 
  • Network accessline 218
    { url = "https://files.pythonhosted.org/packages/dc/01/001f65b68192f0228cc1dbbc8d2530ab5d58b61037ba0587f946fea607cd/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:9cf95fe4d0f84c82d282745d9bb08ad9f926efa00be4697e767b8
  • Network accessline 219
    { url = "https://files.pythonhosted.org/packages/1a/d2/0219746d0fd16fc8a84498e79452375be3797d3ce4044596ce565164b84f/pillow-12.3.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:8728f216dcdb6e6d555cf971cb34076139ad74b31fc2c1
  • Network accessline 220
    { url = "https://files.pythonhosted.org/packages/c8/02/8d0bc62ef0302318c46ff2a512822d2610e81c7aa46c9b3abe6cbaca5ad0/pillow-12.3.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:a45650e8ce7fafffd731db8550230db6b0d306d181a90
  • Network accessline 221
    { url = "https://files.pythonhosted.org/packages/85/e2/73c77d218410b14f5f2d565e8a998d5317b7b9c75368d29985139f7a46f0/pillow-12.3.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:ba54cfebe86920a559a7c4d6b9050791c20513650a1952ebe3368c7dc
  • Network accessline 222
    { url = "https://files.pythonhosted.org/packages/c7/da/32c752228ae345f489e3a42499d817b6c3996da7e8a3bc7a04fc806b243b/pillow-12.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e158cb00350dc278f3b91551101aa7d12415a66ebf2c91d8d5ac14e56dd
  • Network accessline 223
    { url = "https://files.pythonhosted.org/packages/b1/9d/8b2c807dbef61a5197c047afe99823787eb66f63daf9fb2432f91d6f0462/pillow-12.3.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9aeb04d6aef139de265b29683e119b
  • Network accessline 224
    { url = "https://files.pythonhosted.org/packages/5c/44/c85361f65dbe00eea8576ee467c768d25129989efb76e94f205e9ca9bb46/pillow-12.3.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:251bf95b67017e27b13d82f5b326234ca
  • Network accessline 225
    { url = "https://files.pythonhosted.org/packages/18/7e/e483414b35800b86b6f08dbbc7803fb5cd52c4d6f897f47d53ea2c7e6f65/pillow-12.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fe3cca2e4e8a592be0f269a1ca4835c25199d9f3ce815c8491048f7
  • Network accessline 226
    { url = "https://files.pythonhosted.org/packages/f0/f4/68c491844841ede6bed70189546b3ee9731cf9f2cbad396faff5e1ccba45/pillow-12.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:23aceaa007d6172b02c277f0cd359c79492bbb14f7072b4ede9fbcaf
  • Network accessline 227
    { url = "https://files.pythonhosted.org/packages/a3/34/77f3f793fed8efc7d243f21b33c5a3f0d1c97ee70346d3db855587e155ff/pillow-12.3.0-cp314-cp314-win32.whl", hash = "sha256:af8d94b0db561cf68b88a267c5c44b49e134f525d0dc2cb7ed413a66bc23559a", size
  • Network accessline 228
    { url = "https://files.pythonhosted.org/packages/f1/e0/492879f69d94f91f60fc8cd05ba03650e9520afebb2fb7aa12777d7c7f38/pillow-12.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:fdafc9cce40277e0f7a0feabce0ee50dd2fa1800f3b38015e51296b5e814048d", 
  • Network accessline 229
    { url = "https://files.pythonhosted.org/packages/c9/ac/6b11f2875f1c2ac040d84e1bbf9cf22a88038f901ca1037898b280b38365/pillow-12.3.0-cp314-cp314-win_arm64.whl", hash = "sha256:e91206ee562682b51b98ef4b26a6ef48fd84e15fd4c4bc5ec768eb641d206838", 
  • Network accessline 230
    { url = "https://files.pythonhosted.org/packages/52/69/c2208e56af9bfc1913afb24020297a691eb1d4ef688474c8a04913f65e04/pillow-12.3.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:164b31cd1a0490ab6efae01aa5df49da7061be0af1b30e035b6e9a1b
  • Network accessline 231
    { url = "https://files.pythonhosted.org/packages/07/70/e5686d753e898a45d778ff1718dba8516ead6ab6b95d85fc8c4b70650cf2/pillow-12.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5afb51d599ea772b8365ae807ae557f18bccfe46ab261fd1c2a9ed700f
  • Network accessline 232
    { url = "https://files.pythonhosted.org/packages/d5/37/25c6692f06927ee973ff18c8d9ee98ad0b4d84ee67a09610c2dd1447958e/pillow-12.3.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3edce1d53195db527e0191f84b71d0
  • Network accessline 233
    { url = "https://files.pythonhosted.org/packages/cc/91/420637fcb8f1bc11029e403b4538e6694744428d8246118e45719f944556/pillow-12.3.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bf16ba1b4d0b6b7c8e534936632270cf
  • Network accessline 234
    { url = "https://files.pythonhosted.org/packages/10/08/b94d7811281ccf0d143a1cf768d1c49e1e54af63e7b708ab2ee3eb87face/pillow-12.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:24870b09b224f7ae3c39ed07d10e819d06f8720bc551847b1d6238
  • Network accessline 235
    { url = "https://files.pythonhosted.org/packages/d2/87/24233f785f55474dc02ce3e739c5528a77e3a862e9333d1dd7a25cc31f70/pillow-12.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:30f2aa603c41533cc25c05acd0da21636e84a315768feb631c93717
  • Network accessline 236
    { url = "https://files.pythonhosted.org/packages/23/26/fcb2f6e37175b04f53570b59937867e2b80ee1685e744023153028fc14f9/pillow-12.3.0-cp314-cp314t-win32.whl", hash = "sha256:4b0a7fe987b14c31ebda6083f74f22b561fd3739bc0ac51e019622e3d72668c7", siz
  • Network accessline 237
    { url = "https://files.pythonhosted.org/packages/90/de/3634abee5f1c9e13c56787b7d5517b0ba8d6de51700b95578cf338349c9f/pillow-12.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:962864dc93511324d51ddbb5b9f8731bf71675b93ca612a07441896f4688fb8c",
  • Network accessline 238
    { url = "https://files.pythonhosted.org/packages/ce/2a/fd13f8eb24de5714a6eb444a3d67e2842c6c576e159a43793adf23051351/pillow-12.3.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0740a512dc522224c77d9aa5a8d70d8b7d73fb91f2c21125d8d025d3b8990e45",
  • Network accessline 239
    { url = "https://files.pythonhosted.org/packages/5d/dc/8fdce34ec725a33c81c6ba122b904d6b9024e50ea9ac7bede62fab54506c/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0feb2e9d6ad6c9e3c06effe9d00f3f1e618a6643273576b016f59
  • Network accessline 240
    { url = "https://files.pythonhosted.org/packages/76/66/2044b9a63d3b84ff048228dfcb7cd9bf0df983e8470971bf7d4c57b693de/pillow-12.3.0-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:9e881fca225083806662a5c43d627d215f258ff43c890f
  • Network accessline 241
    { url = "https://files.pythonhosted.org/packages/52/7e/1f67e6f4ece6b582ee4b539decbcc9f848dc245a93ed8cd7338bafef72f1/pillow-12.3.0-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:4998562bf62a445225f22e07c896bb04b35b1b1f2eb6d
  • Network accessline 242
    { url = "https://files.pythonhosted.org/packages/12/40/d306fc2c8e4d45d7f175c77edca7063be7b86fe7fe6e68f4353bf71d808c/pillow-12.3.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:dc624f6bc473dacdf7ef7eb8678d0d08edf15cd94fad6ae5c7d6cc67a
  • Network accessline 243
    { url = "https://files.pythonhosted.org/packages/dd/44/668fb1437e8ce420f62d6106eb66e44a5971602a4d794615bdf79315d82d/pillow-12.3.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:71d6097b330eea8fd15097780c8e89cb1a8ce7838669f48c5bacd6f663d
  • Network accessline 244
    { url = "https://files.pythonhosted.org/packages/0c/08/93fa2e70e30a2d81547e481b6ee2bb9522117221fb1e0ce4b5df70967677/pillow-12.3.0-cp315-cp315-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:28ce87c5ab450a9dd970b52e5aca5fe
  • Network accessline 245
    { url = "https://files.pythonhosted.org/packages/f8/6d/043e96ff814fc31a33077e4cba86082167db520c93632afdf2042febbb0c/pillow-12.3.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6b02afb9b97f65fbca5f31db6a2a3ba21
  • Network accessline 246
    { url = "https://files.pythonhosted.org/packages/af/92/ba71d2ee2ac0edf3fa33bd9d5ee9ee080da70b1766f3ca3934f9938ddac9/pillow-12.3.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:1182d52bc2d5e5d7d0949503aa7e36d12f42205dc287e4883f407b1
  • Network accessline 247
    { url = "https://files.pythonhosted.org/packages/0f/ce/e63064e2122923ff687c8ad792d0d736a7b3920a56a46982e81a7fdd25d6/pillow-12.3.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:e795b7eb908249c4e43c7c99fac7c2c75dab0c43566e37db472a355f
  • Network accessline 248
    { url = "https://files.pythonhosted.org/packages/54/76/a09cc3ccc8d773a7283d34c38bec1708f9e3cc932093cbc4c5e71ac4060b/pillow-12.3.0-cp315-cp315-win32.whl", hash = "sha256:57b3d78c95ba9059768b10e28b813002261d3f3dfc55cc48b0c988f625175827", size
  • Network accessline 249
    { url = "https://files.pythonhosted.org/packages/3e/03/1846c49ba3b1d5550392a4bbd06d6fb4578e1cd91a803198b5c90f5f7d53/pillow-12.3.0-cp315-cp315-win_amd64.whl", hash = "sha256:fa4ecea169a355be7a3ade2c783e2ed12f0e40d2c5621cda8b3297faf7fbb9f5", 
  • Network accessline 250
    { url = "https://files.pythonhosted.org/packages/fb/bb/89f35dcc79610423f9f195504d7def7f0d1416a711541b42867e25fe3412/pillow-12.3.0-cp315-cp315-win_arm64.whl", hash = "sha256:877c3f311ff35410f690861c4409e7ccbf0cd2f878e50628a28e5a0bb689e658", 
  • Network accessline 251
    { url = "https://files.pythonhosted.org/packages/30/88/707027ba09942dfa2c28759b5c222d769290a41c6d20ea60ec250801941f/pillow-12.3.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:e9871b1ffbfa9656b60aeee92ed5136a5742696006fa322b29ea3d8d
  • Network accessline 252
    { url = "https://files.pythonhosted.org/packages/b0/6d/00352fa25332c2569cd387851f568cc5a4b75a9adbfb37ac4fbce4c02eec/pillow-12.3.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:53aa02d20d10c3d814d536aa4e5ac9b84ca0ff5a88377963b085ad6822
  • Network accessline 253
    { url = "https://files.pythonhosted.org/packages/13/4f/9e049dfa21af7c22427275720e2490267ba8138120add5c4c574deb69782/pillow-12.3.0-cp315-cp315t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:446c34dcc4324b084a53b705127dc1
  • Network accessline 254
    { url = "https://files.pythonhosted.org/packages/36/16/cf6eeaae8d0fce8dd390a33437cf68c5d5bd73834a2bc6e2f14efda0ab45/pillow-12.3.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cf1845d02ad822a369a49f2bb9345b16
  • Network accessline 255
    { url = "https://files.pythonhosted.org/packages/1e/69/dbf769bdd55f48bf5733cac28edc6364ffaa072ec9ba336266e4fe66be55/pillow-12.3.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:186941b6aef820ad110fb01fb06eb925374dc3a21b17e37ec9a53b
  • Network accessline 256
    { url = "https://files.pythonhosted.org/packages/a0/e1/ffc9cfc2eea0d178da8018e18e959301ad9d6bc9f3edb7181e748a474b97/pillow-12.3.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:f13c32a3abd6079a66d9526e18dad9b6d280384d49d7c54040cd57b
  • Network accessline 257
    { url = "https://files.pythonhosted.org/packages/18/f0/a5595c1e8c3ae44b9828cb2f0fa8155e5095ef04d6327b8f61cf44a3df85/pillow-12.3.0-cp315-cp315t-win32.whl", hash = "sha256:1657923d2d45afb66526e5b933e5b3052e6bdea196c90d3abb2424e18c77dae8", siz
  • Network accessline 258
    { url = "https://files.pythonhosted.org/packages/e4/04/62bcd9f844984c5938d3b05264a61d797a29d3e0812341a8204af70bbdee/pillow-12.3.0-cp315-cp315t-win_amd64.whl", hash = "sha256:8cd2f7bdda092d99c9fc2fb7391354f306d01443d22785d0cbfafa2e2c8bb418",
  • Network accessline 259
    { url = "https://files.pythonhosted.org/packages/3d/68/1f3066acedf37673694a7141381d8f811ae97f30d34413d236abe7d489f1/pillow-12.3.0-cp315-cp315t-win_arm64.whl", hash = "sha256:06ff022112bc9cbf83b60f8e028d94ad87b60621706487e65f673de61610ab59",
  • Network accessline 263
    name = "pluggy" version = "1.6.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 264
    version = "1.6.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b762
  • Network accessline 265
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 266
    sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412
  • Network accessline 267
    wheels = [     { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd47
  • Network accessline 268
    { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 205
  • Network accessline 272
    name = "pygments" version = "2.20.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 273
    version = "2.20.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd0
  • Network accessline 274
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 275
    sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 49
  • Network accessline 276
    wheels = [     { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946
  • Network accessline 277
    { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 
  • Network accessline 281
    name = "pyinstaller" version = "6.21.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 282
    version = "6.21.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 283
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 291
    { name = "setuptools" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d5/4d/ec706c3fcf39e26888c35b39615ff4d5865d184069666c47492cff1fbe50/pyinstaller-6.21.0.tar.gz", hash = "sha256:bb9fab705983e393a2d1cac77d6972513057ad800215fd
  • Network accessline 292
    ] sdist = { url = "https://files.pythonhosted.org/packages/d5/4d/ec706c3fcf39e26888c35b39615ff4d5865d184069666c47492cff1fbe50/pyinstaller-6.21.0.tar.gz", hash = "sha256:bb9fab705983e393a2d1cac77d6972513057ad800215fd861dc15ff5272e98fd", size
  • Network accessline 293
    sdist = { url = "https://files.pythonhosted.org/packages/d5/4d/ec706c3fcf39e26888c35b39615ff4d5865d184069666c47492cff1fbe50/pyinstaller-6.21.0.tar.gz", hash = "sha256:bb9fab705983e393a2d1cac77d6972513057ad800215fd861dc15ff5272e98fd", size =
  • Network accessline 294
    wheels = [     { url = "https://files.pythonhosted.org/packages/0c/4a/53cf98bf66daed012dc9cd78c8203f19a675d696f2fc12afcf8c5049a0e0/pyinstaller-6.21.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:327d132389f37912609e01be62810cf96b5a
  • Network accessline 295
    { url = "https://files.pythonhosted.org/packages/0c/4a/53cf98bf66daed012dc9cd78c8203f19a675d696f2fc12afcf8c5049a0e0/pyinstaller-6.21.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:327d132389f37912609e01be62810cf96b5aa95b613903e4b86
  • Network accessline 296
    { url = "https://files.pythonhosted.org/packages/30/83/b591295c352ef464c50b4c6ffff1c4f771d875c9e833f578d1b9f564f6b3/pyinstaller-6.21.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7071d4b094d5b40deeef5fa3d3b98a1b846087f7562b49209663d
  • Network accessline 297
    { url = "https://files.pythonhosted.org/packages/3d/8f/88fff4e403873b1e22286911350e75ff00db014aa08e57045da9d4328993/pyinstaller-6.21.0-py3-none-manylinux2014_i686.whl", hash = "sha256:6b6374d652107dd4a2eeece903ff82bb4045bb5e1006c5a158a6dcdb
  • Network accessline 298
    { url = "https://files.pythonhosted.org/packages/8a/13/f0e48fbdfd1d05d948157121cea8b1b823dcb89efe6934b71fdd8bdb3f0f/pyinstaller-6.21.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:4e3108b3f02384560da70e39b8bf22b0ad597d02bd68a40d76ea9
  • Network accessline 299
    { url = "https://files.pythonhosted.org/packages/dd/d5/ea7878cf9924ed30d946d8288777424e6d069d94f5bde56b4d0890069664/pyinstaller-6.21.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:697532279f535ad572bda613db4f821540e235c7854ca6da4d3bf03
  • Network accessline 300
    { url = "https://files.pythonhosted.org/packages/9f/09/51b8905714b733bac66dbc041a7821372d70d888d273ae474c4037d4202d/pyinstaller-6.21.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:605169523a6b5ace39f13dfbff21add9f2bc43df99c7daf9394fef
  • Network accessline 301
    { url = "https://files.pythonhosted.org/packages/4b/43/d77779439d8c6c2e27a77bcfbd1d5cc0f568ebb611bb472b11af81b5f177/pyinstaller-6.21.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:5fa56746c1e76f93634d018502301378a2d0c382553d37d8c3c34
  • Network accessline 302
    { url = "https://files.pythonhosted.org/packages/51/8f/c22df1f6837784ac349057ba693f08e7b1ca7a0e06f9c33c63bc6280007b/pyinstaller-6.21.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:42395ec76df8e8120c36b13339d9db8cab83e316a12839ee303cc0
  • Network accessline 303
    { url = "https://files.pythonhosted.org/packages/c9/76/1ce8a27ce62ba8cf3a87c9ce6d575610f4e55d7cb0123e7512fc3f4b921a/pyinstaller-6.21.0-py3-none-win32.whl", hash = "sha256:c6b28d30d8fd99ce162ff3aab5013ed44dbfb747566b1f01b9bed7964d7c14e9", si
  • Network accessline 304
    { url = "https://files.pythonhosted.org/packages/c1/fa/ca1d7e5257dd8566a9dfc0dfb02f8a8075eeb53d4b2d3c579f1276759042/pyinstaller-6.21.0-py3-none-win_amd64.whl", hash = "sha256:7fae06c494ce0ebfe6bd3055c0e409def884f63af2e3705d06bd431ad9237fc7"
  • Network accessline 305
    { url = "https://files.pythonhosted.org/packages/dc/75/21b51523ce8d96629b71311775a0a65f5f5a872124ab0de33e5c848f8bff/pyinstaller-6.21.0-py3-none-win_arm64.whl", hash = "sha256:f13c95c9c03fb567217135919f93815c305813126780b0ed6e0123cb8acaf025"
  • Network accessline 309
    name = "pyinstaller-hooks-contrib" version = "2026.6" source = { registry = "https://pypi.org/simple" }
  • Network accessline 310
    version = "2026.6" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 311
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 313
    { name = "packaging" }, ] sdist = { url = "https://files.pythonhosted.org/packages/94/5b/c9fe0db5e83ee1c39b2258fa21d23b15e1a60786b6c5990ee5074ead8bb6/pyinstaller_hooks_contrib-2026.6.tar.gz", hash = "sha256:bef5002c32f4f50bd55b005da12cff64e
  • Network accessline 314
    ] sdist = { url = "https://files.pythonhosted.org/packages/94/5b/c9fe0db5e83ee1c39b2258fa21d23b15e1a60786b6c5990ee5074ead8bb6/pyinstaller_hooks_contrib-2026.6.tar.gz", hash = "sha256:bef5002c32f4f50bd55b005da12cff64eca8783e7eaf86a06a6241016
  • Network accessline 315
    sdist = { url = "https://files.pythonhosted.org/packages/94/5b/c9fe0db5e83ee1c39b2258fa21d23b15e1a60786b6c5990ee5074ead8bb6/pyinstaller_hooks_contrib-2026.6.tar.gz", hash = "sha256:bef5002c32f4f50bd55b005da12cff64eca8783e7eaf86a06a62410164b
  • Network accessline 316
    wheels = [     { url = "https://files.pythonhosted.org/packages/e7/31/f2d7343d8ed5f7c4678377886f6ce533e6eaaa131b252ce950114c2a7efa/pyinstaller_hooks_contrib-2026.6-py3-none-any.whl", hash = "sha256:fd13b8ac126b35361175edacd41a0d97080b75dd5f
  • Network accessline 317
    { url = "https://files.pythonhosted.org/packages/e7/31/f2d7343d8ed5f7c4678377886f6ce533e6eaaa131b252ce950114c2a7efa/pyinstaller_hooks_contrib-2026.6-py3-none-any.whl", hash = "sha256:fd13b8ac126b35361175edacd41a0d97080b75dd5f4b594ecefefff96
  • Network accessline 321
    name = "pypdfium2" version = "5.11.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 322
    version = "5.11.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/a8/b9/a887db9950379fe619f6921ade84730346e6adf008b197951ddcc42dfd1a/pypdfium2-5.11.0.tar.gz", hash = "sha256:073374
  • Network accessline 323
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 324
    sdist = { url = "https://files.pythonhosted.org/packages/a8/b9/a887db9950379fe619f6921ade84730346e6adf008b197951ddcc42dfd1a/pypdfium2-5.11.0.tar.gz", hash = "sha256:0733749ac253c615953a5e75d4322b9f1de8c0d90137ec8dbcef403f3e57b5d9", size = 2
  • Network accessline 325
    wheels = [     { url = "https://files.pythonhosted.org/packages/94/09/0aec4588adaa7eb4e42da127a57a5dd3a3997ff32be62af93f8afeb4668b/pypdfium2-5.11.0-py3-none-android_23_arm64_v8a.whl", hash = "sha256:115bc68ab2e85c9ee46f97a4c1794f1d7205c8b76
  • Network accessline 326
    { url = "https://files.pythonhosted.org/packages/94/09/0aec4588adaa7eb4e42da127a57a5dd3a3997ff32be62af93f8afeb4668b/pypdfium2-5.11.0-py3-none-android_23_arm64_v8a.whl", hash = "sha256:115bc68ab2e85c9ee46f97a4c1794f1d7205c8b763fc5c16d9893eaa
  • Network accessline 327
    { url = "https://files.pythonhosted.org/packages/7a/53/9e349a311cb0e7cef5dd0824a6f96c9b161da5e5e67a3db030d38e624fe9/pypdfium2-5.11.0-py3-none-android_23_armeabi_v7a.whl", hash = "sha256:4396d0848b79134fcdf141a4e3dfe6719efe1162309a02876b4400
  • Network accessline 328
    { url = "https://files.pythonhosted.org/packages/d2/13/13571dc7f1d11a4e4bde6ab8961318b04ff70bdc2aea5e7f88be5ef53167/pypdfium2-5.11.0-py3-none-macosx_12_0_arm64.whl", hash = "sha256:73fe55dd258f02332bc0a34128ddc2994fd610e664d1f2f7d78dd9e2570
  • Network accessline 329
    { url = "https://files.pythonhosted.org/packages/84/a2/9865e2822e97f6e4bed3b0e4838bd88444c62df6ebe0ccae352027133120/pypdfium2-5.11.0-py3-none-macosx_12_0_x86_64.whl", hash = "sha256:badb4f4df98e25fb1b58301911c98fa18da60de98b0223a6ffa91717be
  • Network accessline 330
    { url = "https://files.pythonhosted.org/packages/a2/bb/dcd0ba152626c30a67bff43974b728c6bdd9a0d34af54cfa875489e46ce2/pypdfium2-5.11.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fbff7c3e3141f24f3a25cedddbb6c6d
  • Network accessline 331
    { url = "https://files.pythonhosted.org/packages/65/62/39b40afda909bd65b212e9dbf32e7c6a2da4205ff64576965a49ba689c47/pypdfium2-5.11.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:faeda49c171be254b5028b7d17e54306c5
  • Network accessline 332
    { url = "https://files.pythonhosted.org/packages/6f/cf/999b793ca17d153765dc3656e7f4cc90c4bf411b9262f15b8e7e31af164f/pypdfium2-5.11.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b63f6f1e67d05d2bc36f55c35ede5cd18ded88
  • Network accessline 333
    { url = "https://files.pythonhosted.org/packages/73/6c/54fd2b487eed6a420ee7fff5c7754739379c4459fa185deab3cb2b72e4e2/pypdfium2-5.11.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44f96d8459b4ba9d1330ab44a8dde836
  • Network accessline 334
    { url = "https://files.pythonhosted.org/packages/3b/8f/690b9a1b8de405ff7693c1d10472f0c5395294c6d53654ae1ef97ccf70fa/pypdfium2-5.11.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba8a78329c10f01c80b1f6e9aa33cac136
  • Network accessline 335
    { url = "https://files.pythonhosted.org/packages/54/fc/18298367dc073041320bbb5d51fb3b42b0d9164fd13bd4d13dcb0d66bc64/pypdfium2-5.11.0-py3-none-manylinux_2_27_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e7a60197c5d18b0ec77a695e4a1082f89f3
  • Network accessline 336
    { url = "https://files.pythonhosted.org/packages/45/1f/53d5b6ab0869963474b7ea13097c5abd8f2cf13548f0076e9bafc7e9d6b0/pypdfium2-5.11.0-py3-none-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:53d167456433d565398a5c9f1efad23
  • Network accessline 337
    { url = "https://files.pythonhosted.org/packages/82/7a/942a390e41fb59a797d9303eae6e6a8c3d1b84deade03206ac163076033f/pypdfium2-5.11.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:953f5bcb6a65067381f0a38c50ffaed864fac6f20b0fa2c14ffb15a
  • Network accessline 338
    { url = "https://files.pythonhosted.org/packages/8e/e9/fd1f8d3157c92665166f7d9bfcdd26901290b4271fcd2f90c7419ca0ee4c/pypdfium2-5.11.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:479b081423b2c16de44ddb6e25826d665298e1ee7cf09d802b656716
  • Network accessline 339
    { url = "https://files.pythonhosted.org/packages/e9/56/4280069868245d2346e6ec7b42e155c16a19be731f2f57fb726c35661aac/pypdfium2-5.11.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:81356f0503356d6f21629fcd47bbfffcfe26487f47a7989a56c02bd4e3
  • Network accessline 340
    { url = "https://files.pythonhosted.org/packages/84/9f/99d962bea28c3305835d07a1732a771104ce958f46e68a1892e740a7c904/pypdfium2-5.11.0-py3-none-musllinux_1_2_ppc64le.whl", hash = "sha256:25be9d70f5776c68fa28b92ec42a7be91de5d6c4085ed5c6c89e1bf
  • Network accessline 341
    { url = "https://files.pythonhosted.org/packages/e6/4a/c935d1fdd73092fd036627282948c794c8f14a7ddde39cf732898b258866/pypdfium2-5.11.0-py3-none-musllinux_1_2_riscv64.whl", hash = "sha256:8edec20239f77d4dea2eeee5d29ebd83e77e1e2900691b77387fead
  • Network accessline 342
    { url = "https://files.pythonhosted.org/packages/62/50/f4f1895efa581f8b85748bf8d620ad37550583ca5226feeb9a33dcb3031e/pypdfium2-5.11.0-py3-none-musllinux_1_2_s390x.whl", hash = "sha256:2560db37ce77a6caf651dc129bc44ee610a5fbb0050ec70f5a643f76b
  • Network accessline 343
    { url = "https://files.pythonhosted.org/packages/21/40/ca5b1071aee0a96937a30007504a0ca484340709e22a459e99650165fd57/pypdfium2-5.11.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:34086bc1fcb964bb8104889d941ba9c8a35a75866250bb81d2f2bb27
  • Network accessline 344
    { url = "https://files.pythonhosted.org/packages/28/01/e445a77e784a5b0047a2c30b263630dfaa57318ff3196e6ad3093dca6929/pypdfium2-5.11.0-py3-none-win32.whl", hash = "sha256:324054f36acf6bea42a9d2534eb407da2e312dba746d955c9fd7e324bc160898", size
  • Network accessline 345
    { url = "https://files.pythonhosted.org/packages/73/d4/8b8af6eedbc5c8af49817d8f37c2e55be8a2c7f75fca9bee78efbfeb40f6/pypdfium2-5.11.0-py3-none-win_amd64.whl", hash = "sha256:d3b698e7b51bdf2d633cc834395677319e1d66757896b30c632dfac7d7236c81", 
  • Network accessline 346
    { url = "https://files.pythonhosted.org/packages/c5/a7/657503553694c70fba0aa5d213144d80401611c82e0205f43f1ff39f40af/pypdfium2-5.11.0-py3-none-win_arm64.whl", hash = "sha256:897788d71b740752e29875856c369fdb52283f609aecf2355f0473db05dfc1b6", 
  • Network accessline 350
    name = "pytest" version = "9.1.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 351
    version = "9.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 352
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 358
    { name = "pygments" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0
  • Network accessline 359
    ] sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313", size = 163
  • Network accessline 360
    sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313", size = 16363
  • Network accessline 361
    wheels = [     { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f
  • Network accessline 362
    { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386
  • Network accessline 366
    name = "pywin32-ctypes" version = "0.2.3" source = { registry = "https://pypi.org/simple" }
  • Network accessline 367
    version = "0.2.3" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d16
  • Network accessline 368
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 369
    sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size
  • Network accessline 370
    wheels = [     { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30
  • Network accessline 371
    { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", si
  • Network accessline 375
    name = "rich" version = "15.0.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 376
    version = "15.0.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 377
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 380
    { name = "pygments" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c
  • Network accessline 381
    ] sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 2306
  • Network accessline 382
    sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680
  • Network accessline 383
    wheels = [     { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0b
  • Network accessline 384
    { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", size = 3106
  • Network accessline 388
    name = "setuptools" version = "83.0.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 389
    version = "83.0.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/34/26/f5d29e25ffdb535afef2d35cdb55b325298f96debd670da4c325e08d70f4/setuptools-83.0.0.tar.gz", hash = "sha256:025bc
  • Network accessline 390
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 391
    sdist = { url = "https://files.pythonhosted.org/packages/34/26/f5d29e25ffdb535afef2d35cdb55b325298f96debd670da4c325e08d70f4/setuptools-83.0.0.tar.gz", hash = "sha256:025bccbbf0fa05b6192bc64ae1e7b16e001fd6d6d4d5de03c97b1c1ade523bef", size = 
  • Network accessline 392
    wheels = [     { url = "https://files.pythonhosted.org/packages/5d/40/e1e72872c6354b306daef1703549e8e83b4d43cfea356311bf722a043752/setuptools-83.0.0-py3-none-any.whl", hash = "sha256:29b23c360f22f414dc7336bb39178cc7bcbf6021ed2733cde173f09db
  • Network accessline 393
    { url = "https://files.pythonhosted.org/packages/5d/40/e1e72872c6354b306daef1703549e8e83b4d43cfea356311bf722a043752/setuptools-83.0.0-py3-none-any.whl", hash = "sha256:29b23c360f22f414dc7336bb39178cc7bcbf6021ed2733cde173f09dba19abb3", size 
  • Network accessline 397
    name = "shellingham" version = "1.5.4" source = { registry = "https://pypi.org/simple" }
  • Network accessline 398
    version = "1.5.4" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0
  • Network accessline 399
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 400
    sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 
  • Network accessline 401
    wheels = [     { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1
  • Network accessline 402
    { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", s
  • Network accessline 406
    name = "typer" version = "0.26.8" source = { registry = "https://pypi.org/simple" }
  • Network accessline 407
    version = "0.26.8" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 408
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 413
    { name = "shellingham" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7c/f7/68adc395201b20b872d68e975386832e8005ffeacedd43a1d837a32815be/typer-0.26.8.tar.gz", hash = "sha256:c244a6bd558886fe3f8780efb6bdd28bb9aff005a94eedebaa5
  • Network accessline 414
    ] sdist = { url = "https://files.pythonhosted.org/packages/7c/f7/68adc395201b20b872d68e975386832e8005ffeacedd43a1d837a32815be/typer-0.26.8.tar.gz", hash = "sha256:c244a6bd558886fe3f8780efb6bdd28bb9aff005a94eedebaa5cb32926fe2f7e", size = 202
  • Network accessline 415
    sdist = { url = "https://files.pythonhosted.org/packages/7c/f7/68adc395201b20b872d68e975386832e8005ffeacedd43a1d837a32815be/typer-0.26.8.tar.gz", hash = "sha256:c244a6bd558886fe3f8780efb6bdd28bb9aff005a94eedebaa5cb32926fe2f7e", size = 20209
  • Network accessline 416
    wheels = [     { url = "https://files.pythonhosted.org/packages/80/87/b9fd69c92c6102a066e1b86a35243f53e70bd4c709f2a26d9f4fee4f4dc0/typer-0.26.8-py3-none-any.whl", hash = "sha256:3512ca79ac5c11113414b36e80281b872884477722440691c89d1112e321a4
  • Network accessline 417
    { url = "https://files.pythonhosted.org/packages/80/87/b9fd69c92c6102a066e1b86a35243f53e70bd4c709f2a26d9f4fee4f4dc0/typer-0.26.8-py3-none-any.whl", hash = "sha256:3512ca79ac5c11113414b36e80281b872884477722440691c89d1112e321a49c", size = 122
  • Network accessline 421
    name = "typing-extensions" version = "4.16.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 422
    version = "4.16.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha25
  • Network accessline 423
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 424
    sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5", 
  • Network accessline 425
    wheels = [     { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f3
  • Network accessline 426
    { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8"

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 500 facts

and 450 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath .claude/skills/verify/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Add this badge to your README

It updates every night and links to this page.

landing-ai/ade-cli: #478 on hotskills, 2.4k stars

[![landing-ai/ade-cli on hotskills](https://hotskills.dev/badge/landing-ai-ade-cli.svg)](https://hotskills.dev/skill/landing-ai-ade-cli/)