#280 by GitHub stars

eugeniughelbur/obsidian-second-brain

Operate any Obsidian vault as a living, self-rewriting second brain (an evolution of Karpathy's LLM Wiki pattern: sources rewrite existing pages, contradictions reconcile automatically, scheduled agents maintain the vault while you sleep). Use this skill whenever the user asks Claude to read, write,

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

83cae4d5f073 → f79c64f3f03e

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 83cae4d5f073

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit f79c64f3f03ee25ec1660c8a30ebe7f4f8e044ff

git clone --filter=blob:none --no-checkout https://github.com/eugeniughelbur/obsidian-second-brain.git .hotskills/eugeniughelbur-obsidian-second-brain && git -C .hotskills/eugeniughelbur-obsidian-second-brain checkout --detach f79c64f3f03ee25ec1660c8a30ebe7f4f8e044ff # Copy each selected skill directory from .hotskills/eugeniughelbur-obsidian-second-brain into .claude/skills/<skill-name>/
5.2kGitHub stars
119stars in 7 days
1skill in this repository
104commits in 30 days

Heat

7.1
  • Star growth, last 7 daysAhead of 92% of tracked repositories
  • Star growth, last 24 hoursAhead of 87% of tracked repositories
  • Rank movement, last 7 daysAhead of 46% of tracked repositories
  • Commits, last 30 daysAhead of 94% 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

Aug 2, 2026Nov 7, 20265,196

Individual skills in this repository

How it works

obsidian-second-brain

When your agent uses it

Operate any Obsidian vault as a living, self-rewriting second brain (an evolution of Karpathy's LLM Wiki pattern: sources rewrite existing pages, contradictions reconcile automatically, scheduled agents maintain the vault while you sleep). Use this skill whenever the user asks Claude to read, write, update, search, or manage their Obsidian vault - including saving notes from conversation, creating daily entries, updating kanban boards, logging dev work, managing people notes, capturing decisions, tracking deals, or maintaining any vault structure. Also triggers when the user wants to bootstrap a new vault from scratch, run a vault health check, or drop a _CLAUDE.md into their vault so all Claude surfaces share the same operating rules. Also runs Crew (/crew): one shared logbook so Claude Code, Codex, Cursor, and Grok Bot know what each other did, in any plain folder or the vault. Includes a research toolkit (7 commands: /x-read, /x-pulse, /research, /research-deep, /notebooklm, /youtube, /podcast) for AI-powered research via Grok, Perplexity, NotebookLM, YouTube, and podcast feeds - findings save to the vault automatically following the AI-first vault rule. Use proactively whenever the conversation produces information worth preserving (decisions, people met, projects started, tasks completed, lessons learned, research findings).

What it loads into context

Frontmatter

324 tokens

Always available to the agent

SKILL.md

21,382 tokens

When the skill is activated

Reference documents

217,469 tokens

Loaded on request

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

The playbook

  1. Quick Start
  2. Core Operating Principles
  3. Write Rules
  4. The `_CLAUDE.md` File
  5. Common Operations
  6. Commands
  7. Thinking Tools
  8. Context Engine
  9. Research Commands
  10. Scheduled Agents
  11. Background Agent (PostCompact Hook)
  12. Write-Time AI-First Validator (PostToolUse Hook)
  13. Per-Project Vaults (multi-repo workflows)
  14. Reference Files
  15. Scripts

Scripts executed separately

  • adapters/agent-skills/adapter.sh
  • adapters/claude-code/adapter.sh
  • adapters/codex-cli/adapter.sh
  • adapters/gemini-cli/adapter.sh
  • adapters/grok-bot/adapter.sh
  • adapters/hermes/adapter.sh
  • adapters/lib.sh
  • adapters/opencode/adapter.sh
  • adapters/pi/adapter.sh
  • hooks/load_vault_context.py
  • hooks/load_vault_context.sh
  • hooks/obsidian-bg-agent.sh
  • hooks/obsidian-hermes-session-end.sh
  • hooks/obsidian-recall.py
  • hooks/validate-ai-first.sh
  • install.sh
  • integrations/obsidian-mcp-server/live_test.py
  • integrations/obsidian-mcp-server/server.py
  • integrations/obsidian-mcp-server/vault_ops.py
  • integrations/obsidian-plugin/esbuild.config.mjs
  • integrations/obsidian-plugin/package.json
  • integrations/obsidian-plugin/src/lint.ts
  • integrations/obsidian-plugin/src/main.ts
  • integrations/obsidian-plugin/test/lint.test.mjs
  • integrations/telegram-journal/setup.sh
  • integrations/telegram-journal/telegram_journal.py
  • scripts/architect_scan.py
  • scripts/bootstrap_vault.py
  • scripts/build.sh
  • scripts/build_site.py
  • scripts/check_notes.py
  • scripts/checkin.py
  • scripts/conformance_report.py
  • scripts/crew.py
  • scripts/document_to_pdf.py
  • scripts/eval/behavior_eval.py
  • scripts/eval/corpus.py
  • scripts/eval/diagnose.py
  • scripts/eval/retrieval_eval.py
  • scripts/eval/semantic_search.py
  • scripts/export_okf.py
  • scripts/freshness_lint.py
  • scripts/heal_links.py
  • scripts/ingest_batch.py
  • scripts/install-codex-wrappers.sh
  • scripts/lib.sh
  • scripts/link_graph.py
  • scripts/merge_notes.py
  • scripts/migrate_log.py
  • scripts/mine_commit_decisions.py
  • scripts/note_io.py
  • scripts/osb_env.py
  • scripts/platform-home.sh
  • scripts/python-interpreter.sh
  • scripts/quick-install.sh
  • scripts/research/__init__.py
  • scripts/research/lib/__init__.py
  • scripts/research/lib/aggregator.py
  • scripts/research/lib/cache.py
  • scripts/research/lib/config.py
  • scripts/research/lib/gemini.py
  • scripts/research/lib/gpt.py
  • scripts/research/lib/grok.py
  • scripts/research/lib/groq.py
  • scripts/research/lib/http.py
  • scripts/research/lib/perplexity.py
  • scripts/research/lib/podcast.py
  • scripts/research/lib/result.py
  • scripts/research/lib/source_config.py
  • scripts/research/lib/sources/__init__.py
  • scripts/research/lib/sources/arxiv.py
  • scripts/research/lib/sources/brave.py
  • scripts/research/lib/sources/crossref.py
  • scripts/research/lib/sources/devto.py
  • scripts/research/lib/sources/duckduckgo.py
  • scripts/research/lib/sources/hackernews.py
  • scripts/research/lib/sources/lobsters.py
  • scripts/research/lib/sources/openalex.py
  • scripts/research/lib/sources/reddit.py
  • scripts/research/lib/sources/semantic_scholar.py
  • scripts/research/lib/sources/tavily.py
  • scripts/research/lib/sources/wikipedia.py
  • scripts/research/lib/usage.py
  • scripts/research/lib/vault.py
  • scripts/research/lib/vault_terms.py
  • scripts/research/lib/video_frames.py
  • scripts/research/lib/web_reader.py
  • scripts/research/lib/youtube.py
  • scripts/research/notebooklm.py
  • scripts/research/podcast_extract.py
  • scripts/research/research.py
  • scripts/research/research_deep.py
  • scripts/research/x_pulse.py
  • scripts/research/x_read.py
  • scripts/research/youtube_extract.py
  • scripts/run-command.sh
  • scripts/session_archive.py
  • scripts/setup.sh
  • scripts/setup_settings_hook.py
  • scripts/star_prompt.py
  • scripts/sweep_non_ascii.py
  • scripts/triage_links.py
  • scripts/update-vault-integration.sh
  • scripts/vault_health.py
  • scripts/vault_plugin_scan.py
  • scripts/vault_scan.py
  • scripts/vault_search.py
  • scripts/vault_stats.py
  • scripts/verify_quotes.py
  • tests/_bash.py
  • tests/conftest.py
  • tests/test_adapter_frontmatter_robustness.py
  • tests/test_ai_first_spec.py
  • tests/test_bash_pinned.py
  • tests/test_behavior_eval.py
  • tests/test_benchmark_corpus.py
  • tests/test_bg_agent_hook.py
  • tests/test_bom_frontmatter.py
  • tests/test_bootstrap_style.py
  • tests/test_bootstrap_unit.py
  • tests/test_build_conformance.py
  • tests/test_build_site.py
  • tests/test_checkin.py
  • tests/test_concurrent_writes.py
  • tests/test_config_int_knobs.py
  • tests/test_crew.py
  • tests/test_dispatcher_prose.py
  • tests/test_doc_command_names.py
  • tests/test_doc_roster.py
  • tests/test_document_to_pdf.py
  • tests/test_eval_diagnose.py
  • tests/test_eval_ruler.py
  • tests/test_exclude_policy.py
  • tests/test_export_and_alias_fidelity.py
  • tests/test_export_okf.py
  • tests/test_first_brain.py
  • tests/test_folder_map_compliance.py
  • tests/test_freshness.py
  • tests/test_freshness_lint.py
  • tests/test_front_door.py
  • tests/test_frontmatter_parity.py
  • tests/test_groq.py
  • tests/test_heal_precision.py
  • tests/test_hermes_session_hook.py
  • tests/test_index_robustness.py
  • tests/test_index_staleness.py
  • tests/test_ingest_batch.py
  • tests/test_install_portability.py
  • tests/test_link_graph_mirror.py
  • tests/test_mcp_bookkeeping.py
  • tests/test_mcp_codex_parity.py
  • tests/test_mcp_fresh_vault_health.py
  • tests/test_mcp_vault_ops_safety.py
  • tests/test_merge_notes.py
  • tests/test_migrate_log.py
  • tests/test_mine_commit_decisions_encoding.py
  • tests/test_multilingual_model.py
  • tests/test_no_autoopen_in_tests.py
  • tests/test_no_banned_chars_in_instructions.py
  • tests/test_no_vault_content_in_eval_docs.py
  • tests/test_note_safety.py
  • tests/test_osb_env.py
  • tests/test_p1_p2_fixes.py
  • tests/test_perplexity_empty_completion.py
  • tests/test_platform_home.py
  • tests/test_platform_owners.py
  • tests/test_plugin_manifest.py
  • tests/test_podcast_resolution.py
  • tests/test_podcast_transcript_schema.py
  • tests/test_python_interpreter.py
  • tests/test_query_aware_default.py
  • tests/test_ranking_quality.py
  • tests/test_research_cjk_and_models.py
  • tests/test_research_deep_fallback.py
  • tests/test_research_sources.py
  • tests/test_scan_cache.py
  • tests/test_schema_coverage.py
  • tests/test_script_correctness.py
  • tests/test_search_cap.py
  • tests/test_session_archive.py
  • tests/test_session_context_cap.py
  • tests/test_setup_and_manual_drift.py
  • tests/test_setup_settings_hook.py
  • tests/test_showroom.py
  • tests/test_smoke.py
  • tests/test_source_payload.py
  • tests/test_source_quality.py
  • tests/test_source_quality_unlabelled.py
  • tests/test_star_prompt.py
  • tests/test_symlink_resilience.py
  • tests/test_taxonomy_audit.py
  • tests/test_telegram_ingest.py
  • tests/test_trigger_precedence.py
  • tests/test_untrusted_source_handling.py
  • tests/test_user_excludes.py
  • tests/test_validate_hook_cjk.py
  • tests/test_validate_hook_vault_scope.py
  • tests/test_validate_hook_wikilinks.py
  • tests/test_vault_health_precision.py
  • tests/test_vault_health_unicode.py
  • tests/test_vault_plugin_scan.py
  • tests/test_vault_search_cli.py
  • tests/test_vault_stats.py
  • tests/test_vector_math.py
  • tests/test_verify_quotes.py
  • tests/test_windows_compat.py
  • tests/test_youtube_error_redaction.py
  • update.sh

Files

  • .claude-plugin/marketplace.jsonasset1,166 bytes
  • .claude-plugin/plugin.jsonasset803 bytes
  • .env.exampleasset4,590 bytes
  • .gitattributesasset299 bytes
  • .github/FUNDING.ymlasset532 bytes
  • .github/ISSUE_TEMPLATE/bug_report.ymlasset3,592 bytes
  • .github/ISSUE_TEMPLATE/config.ymlasset778 bytes
  • .github/ISSUE_TEMPLATE/feature_request.ymlasset3,155 bytes
  • .github/PULL_REQUEST_TEMPLATE.mddoc1,863 bytes
  • .github/dependabot.ymlasset903 bytes
  • .github/workflows/ci.ymlasset3,525 bytes
  • .github/workflows/scorecard.ymlasset1,395 bytes
  • .gitignoreasset934 bytes
  • AI-FIRST.mddoc5,067 bytes
  • CHANGELOG.mddoc307,850 bytes
  • CITATION.cffasset1,942 bytes
  • CLAUDE.mddoc7,762 bytes
  • CODE_OF_CONDUCT.mddoc5,474 bytes
  • CONTRIBUTING.mddoc11,232 bytes
  • DEMOS.mddoc3,814 bytes
  • ECOSYSTEM.mddoc3,371 bytes
  • FORK_INSIGHTS.mddoc24,277 bytes
  • LICENSEasset1,072 bytes
  • README.mddoc83,911 bytes
  • SECURITY.mddoc2,259 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • SKILL.mdcore90,569 bytes
  • _config.ymlasset1,194 bytes
  • _includes/head_custom.htmlasset8,934 bytes
  • adapters/OWNERS.mddoc3,639 bytes
  • adapters/agent-skills/adapter.shruns14,989 bytes
  • adapters/claude-code/adapter.shruns2,132 bytes
  • adapters/codex-cli/adapter.shruns8,292 bytes
  • adapters/gemini-cli/adapter.shruns3,174 bytes
  • adapters/grok-bot/adapter.shruns16,142 bytes
  • adapters/hermes/adapter.shruns20,056 bytes
  • adapters/lib.shruns20,735 bytes
  • adapters/opencode/adapter.shruns4,370 bytes
  • adapters/pi/adapter.shruns6,962 bytes
  • architecture.mddoc14,799 bytes
  • commands/create-command.mddoc8,972 bytes
  • commands/crew.mddoc4,771 bytes
  • commands/idea-discovery.mddoc3,502 bytes
  • commands/notebooklm.mddoc4,660 bytes
  • commands/obsidian-architect.mddoc5,994 bytes
  • commands/obsidian-board-hygiene.mddoc3,641 bytes
  • commands/obsidian-board.mddoc2,486 bytes
  • commands/obsidian-brainstorm.mddoc5,604 bytes
  • commands/obsidian-calendar.mddoc15,520 bytes
  • commands/obsidian-capture.mddoc2,704 bytes
  • commands/obsidian-catchup.mddoc5,140 bytes
  • commands/obsidian-challenge.mddoc3,539 bytes
  • commands/obsidian-checkin.mddoc7,780 bytes
  • commands/obsidian-connect.mddoc3,483 bytes
  • commands/obsidian-daily.mddoc3,789 bytes
  • commands/obsidian-decide.mddoc5,014 bytes
  • commands/obsidian-distill.mddoc6,811 bytes
  • commands/obsidian-emerge.mddoc3,862 bytes
  • commands/obsidian-export.mddoc4,849 bytes
  • commands/obsidian-find.mddoc2,779 bytes
  • commands/obsidian-graduate.mddoc3,935 bytes
  • commands/obsidian-health.mddoc11,172 bytes
  • commands/obsidian-ingest.mddoc26,209 bytes
  • commands/obsidian-init.mddoc9,554 bytes
  • commands/obsidian-learn.mddoc5,030 bytes
  • commands/obsidian-log.mddoc2,582 bytes
  • commands/obsidian-merge.mddoc6,875 bytes
  • commands/obsidian-panel.mddoc3,556 bytes
  • commands/obsidian-person.mddoc2,617 bytes
  • commands/obsidian-project.mddoc2,814 bytes
  • commands/obsidian-projects.mddoc5,345 bytes
  • commands/obsidian-recap.mddoc3,090 bytes
  • commands/obsidian-reconcile.mddoc6,185 bytes
  • commands/obsidian-recurring.mddoc3,116 bytes
  • commands/obsidian-reindex.mddoc3,263 bytes
  • commands/obsidian-retrieval-eval.mddoc5,297 bytes
  • commands/obsidian-review.mddoc2,935 bytes
  • commands/obsidian-save.mddoc5,033 bytes
  • commands/obsidian-synthesize.mddoc4,246 bytes
  • commands/obsidian-task.mddoc2,392 bytes
  • commands/obsidian-visualize.mddoc6,700 bytes
  • commands/obsidian-world.mddoc5,016 bytes
  • commands/podcast.mddoc5,909 bytes
  • commands/research-deep.mddoc7,947 bytes
  • commands/research.mddoc4,759 bytes
  • commands/vault-deep-synthesis.mddoc3,718 bytes
  • commands/x-pulse.mddoc3,296 bytes
  • commands/x-read.mddoc3,541 bytes
  • commands/youtube.mddoc5,952 bytes
  • docs/.nojekyllasset0 bytes
  • docs/commands/create-command.htmlasset3,761 bytes
  • docs/commands/crew.htmlasset3,451 bytes
  • docs/commands/idea-discovery.htmlasset4,053 bytes
  • docs/commands/notebooklm.htmlasset4,158 bytes
  • docs/commands/obsidian-architect.htmlasset4,388 bytes
  • docs/commands/obsidian-board-hygiene.htmlasset4,018 bytes
  • docs/commands/obsidian-board.htmlasset3,715 bytes
  • docs/commands/obsidian-brainstorm.htmlasset4,131 bytes
  • docs/commands/obsidian-calendar.htmlasset5,919 bytes
  • docs/commands/obsidian-capture.htmlasset3,745 bytes
  • docs/commands/obsidian-catchup.htmlasset4,830 bytes
  • docs/commands/obsidian-challenge.htmlasset3,988 bytes
  • docs/commands/obsidian-checkin.htmlasset4,027 bytes
  • docs/commands/obsidian-connect.htmlasset3,943 bytes
  • docs/commands/obsidian-daily.htmlasset3,819 bytes
  • docs/commands/obsidian-decide.htmlasset4,154 bytes
  • docs/commands/obsidian-distill.htmlasset4,128 bytes
  • docs/commands/obsidian-emerge.htmlasset3,939 bytes
  • docs/commands/obsidian-export.htmlasset3,923 bytes
  • docs/commands/obsidian-find.htmlasset3,754 bytes
  • docs/commands/obsidian-graduate.htmlasset3,879 bytes
  • docs/commands/obsidian-health.htmlasset3,805 bytes
  • docs/commands/obsidian-ingest.htmlasset3,919 bytes
  • docs/commands/obsidian-init.htmlasset3,826 bytes
  • docs/commands/obsidian-learn.htmlasset3,844 bytes
  • docs/commands/obsidian-log.htmlasset3,806 bytes
  • docs/commands/obsidian-merge.htmlasset3,885 bytes
  • docs/commands/obsidian-panel.htmlasset4,196 bytes
  • docs/commands/obsidian-person.htmlasset3,726 bytes
  • docs/commands/obsidian-project.htmlasset3,781 bytes
  • docs/commands/obsidian-projects.htmlasset3,831 bytes
  • docs/commands/obsidian-recap.htmlasset3,691 bytes
  • docs/commands/obsidian-reconcile.htmlasset3,819 bytes
  • docs/commands/obsidian-recurring.htmlasset4,011 bytes
  • docs/commands/obsidian-reindex.htmlasset3,894 bytes
  • docs/commands/obsidian-retrieval-eval.htmlasset4,229 bytes
  • docs/commands/obsidian-review.htmlasset3,699 bytes
  • docs/commands/obsidian-save.htmlasset3,714 bytes
  • docs/commands/obsidian-synthesize.htmlasset3,892 bytes
  • docs/commands/obsidian-task.htmlasset3,679 bytes
  • docs/commands/obsidian-visualize.htmlasset3,834 bytes
  • docs/commands/obsidian-world.htmlasset3,871 bytes
  • docs/commands/podcast.htmlasset3,871 bytes
  • docs/commands/research-deep.htmlasset4,090 bytes
  • docs/commands/research.htmlasset4,062 bytes
  • docs/commands/vault-deep-synthesis.htmlasset4,116 bytes
  • docs/commands/x-pulse.htmlasset3,812 bytes
  • docs/commands/x-read.htmlasset3,856 bytes
  • docs/commands/youtube.htmlasset4,339 bytes
  • docs/index.htmlasset46,288 bytes
  • examples/README.mddoc2,830 bytes
  • examples/sample-vault/Daily/2026-04-27.mddoc1,385 bytes
  • examples/sample-vault/Ideas/2026-04-27 — Streak insurance feature.mddoc2,311 bytes
  • examples/sample-vault/Projects/Tide.mddoc3,133 bytes
  • examples/sample-vault/_CLAUDE.mddoc2,724 bytes
  • examples/sample-vault/people/Alex Rivera.mddoc1,676 bytes
  • examples/sample-vault/people/Sam Patel.mddoc1,257 bytes
  • examples/sample-vault/wiki/entities/Currentscale Labs.mddoc1,056 bytes
  • examples/sample-vault/wiki/logs/2026-04-27 — Tide retention rebuild.mddoc2,667 bytes
  • hooks/hermes-hooks.config.example.yamlasset1,172 bytes
  • hooks/hooks.jsonasset835 bytes
  • hooks/load_vault_context.pyruns8,821 bytes
  • hooks/load_vault_context.shruns2,640 bytes
  • hooks/obsidian-bg-agent.hook.yamlasset805 bytes
  • hooks/obsidian-bg-agent.shruns12,474 bytes
  • hooks/obsidian-hermes-session-end.shruns6,791 bytes
  • hooks/obsidian-recall.pyruns5,860 bytes
  • hooks/postcompact.hook.example.jsonasset1,713 bytes
  • hooks/recall.hook.example.jsonasset1,188 bytes
  • hooks/validate-ai-first.hook.yamlasset532 bytes
  • hooks/validate-ai-first.shruns24,725 bytes
  • install.shruns6,280 bytes
  • integrations/obsidian-mcp-server/README.mddoc7,574 bytes
  • integrations/obsidian-mcp-server/live_test.pyruns2,704 bytes
  • integrations/obsidian-mcp-server/server.pyruns8,595 bytes
  • integrations/obsidian-mcp-server/vault_ops.pyruns75,490 bytes
  • integrations/obsidian-plugin/.gitignoreasset46 bytes
  • integrations/obsidian-plugin/README.mddoc2,018 bytes
  • integrations/obsidian-plugin/esbuild.config.mjsruns712 bytes
  • integrations/obsidian-plugin/manifest.jsonasset398 bytes
  • integrations/obsidian-plugin/package-lock.jsonasset18,265 bytes
  • integrations/obsidian-plugin/package.jsonruns600 bytes
  • integrations/obsidian-plugin/src/lint.tsruns6,187 bytes
  • integrations/obsidian-plugin/src/main.tsruns7,113 bytes
  • integrations/obsidian-plugin/styles.cssasset1,038 bytes
  • integrations/obsidian-plugin/test/lint.test.mjsruns7,636 bytes
  • integrations/obsidian-plugin/tsconfig.jsonasset400 bytes
  • integrations/obsidian-plugin/versions.jsonasset23 bytes
  • integrations/telegram-journal/.gitignoreasset181 bytes
  • integrations/telegram-journal/README.mddoc8,957 bytes
  • integrations/telegram-journal/com.user.telegram-journal.plist.exampleasset1,469 bytes
  • integrations/telegram-journal/setup.shruns3,859 bytes
  • integrations/telegram-journal/telegram_journal.env.exampleasset2,309 bytes
  • integrations/telegram-journal/telegram_journal.pyruns29,544 bytes
  • llms.txtdoc25,411 bytes
  • media/banner.pngasset2,186,832 bytes
  • media/bootstrap-health.gifasset377,604 bytes
  • media/bootstrap-health.tapeasset468 bytes
  • media/crew-demo.gifasset128,607 bytes
  • media/obsidian-save.gifasset681,774 bytes
  • media/obsidian-save.tapeasset709 bytes
  • media/plugin-install.gifasset171,001 bytes
  • media/plugin-install.tapeasset487 bytes
  • pyproject.tomlasset1,625 bytes
  • references/DELTAS.template.mddoc2,426 bytes
  • references/ai-first-rules.mddoc32,508 bytes
  • references/bases/daily.base.templateasset320 bytes
  • references/bases/people.base.templateasset592 bytes
  • references/bases/projects.base.templateasset1,919 bytes
  • references/bases/tasks.base.templateasset1,162 bytes
  • references/claude-md-assistant-template.mddoc2,163 bytes
  • references/claude-md-template.mddoc11,082 bytes
  • references/crew.mddoc5,891 bytes
  • references/folder-map.mddoc4,261 bytes
  • references/freshness-policy.mddoc6,249 bytes
  • references/pi-testing.mddoc1,683 bytes
  • references/source-quality-check.mddoc5,239 bytes
  • references/taxonomy-format.mddoc2,943 bytes
  • references/vault-schema.mddoc13,726 bytes
  • references/write-rules.mddoc8,646 bytes
  • scripts/architect_scan.pyruns8,231 bytes
  • scripts/bootstrap_vault.pyruns47,900 bytes
  • scripts/build.shruns5,792 bytes
  • scripts/build_site.pyruns11,235 bytes
  • scripts/check_notes.pyruns5,979 bytes
  • scripts/checkin.pyruns13,640 bytes
  • scripts/conformance_report.pyruns7,781 bytes
  • scripts/crew.pyruns26,862 bytes
  • scripts/document_to_pdf.pyruns2,573 bytes
  • scripts/eval/BASELINE.mddoc11,684 bytes
  • scripts/eval/BENCHMARK.mddoc5,967 bytes
  • scripts/eval/README.mddoc6,083 bytes
  • scripts/eval/behavior_cases.example.jsonlasset1,024 bytes
  • scripts/eval/behavior_eval.pyruns20,602 bytes
  • scripts/eval/corpus.pyruns34,146 bytes
  • scripts/eval/diagnose.pyruns6,080 bytes
  • scripts/eval/retrieval_cases.example.jsonlasset543 bytes
  • scripts/eval/retrieval_eval.pyruns19,888 bytes
  • scripts/eval/semantic_search.pyruns22,022 bytes
  • scripts/export_okf.pyruns19,205 bytes
  • scripts/freshness_lint.pyruns19,478 bytes
  • scripts/heal_links.pyruns15,234 bytes
  • scripts/ingest_batch.pyruns13,461 bytes
  • scripts/install-codex-wrappers.shruns840 bytes
  • scripts/lib.shruns1,001 bytes
  • scripts/link_graph.pyruns18,357 bytes
  • scripts/merge_notes.pyruns16,592 bytes
  • scripts/migrate_log.pyruns6,700 bytes
  • scripts/mine_commit_decisions.pyruns4,638 bytes
  • scripts/note_io.pyruns5,916 bytes
  • scripts/osb_env.pyruns4,431 bytes
  • scripts/platform-home.shruns2,523 bytes
  • scripts/python-interpreter.shruns2,129 bytes
  • scripts/quick-install.shruns2,661 bytes
  • scripts/research/__init__.pyruns0 bytes
  • scripts/research/lib/__init__.pyruns0 bytes
  • scripts/research/lib/aggregator.pyruns2,876 bytes
  • scripts/research/lib/cache.pyruns2,423 bytes
  • scripts/research/lib/config.pyruns2,817 bytes
  • scripts/research/lib/gemini.pyruns6,229 bytes
  • scripts/research/lib/gpt.pyruns3,980 bytes
  • scripts/research/lib/grok.pyruns4,397 bytes
  • scripts/research/lib/groq.pyruns13,952 bytes
  • scripts/research/lib/http.pyruns1,871 bytes
  • scripts/research/lib/perplexity.pyruns4,541 bytes
  • scripts/research/lib/podcast.pyruns18,855 bytes
  • scripts/research/lib/result.pyruns1,055 bytes
  • scripts/research/lib/source_config.pyruns3,505 bytes
  • scripts/research/lib/sources/__init__.pyruns0 bytes
  • scripts/research/lib/sources/arxiv.pyruns2,473 bytes
  • scripts/research/lib/sources/brave.pyruns2,025 bytes
  • scripts/research/lib/sources/crossref.pyruns1,990 bytes
  • scripts/research/lib/sources/devto.pyruns1,837 bytes
  • scripts/research/lib/sources/duckduckgo.pyruns3,750 bytes
  • scripts/research/lib/sources/hackernews.pyruns1,622 bytes
  • scripts/research/lib/sources/lobsters.pyruns1,776 bytes
  • scripts/research/lib/sources/openalex.pyruns2,227 bytes
  • scripts/research/lib/sources/reddit.pyruns1,800 bytes
  • scripts/research/lib/sources/semantic_scholar.pyruns1,950 bytes
  • scripts/research/lib/sources/tavily.pyruns1,846 bytes
  • scripts/research/lib/sources/wikipedia.pyruns2,203 bytes
  • scripts/research/lib/usage.pyruns3,626 bytes
  • scripts/research/lib/vault.pyruns8,025 bytes
  • scripts/research/lib/vault_terms.pyruns1,154 bytes
  • scripts/research/lib/video_frames.pyruns11,067 bytes
  • scripts/research/lib/web_reader.pyruns3,541 bytes
  • scripts/research/lib/youtube.pyruns6,430 bytes
  • scripts/research/notebooklm.pyruns11,367 bytes
  • scripts/research/podcast_extract.pyruns11,784 bytes
  • scripts/research/research.pyruns7,638 bytes
  • scripts/research/research_deep.pyruns21,738 bytes
  • scripts/research/x_pulse.pyruns4,208 bytes
  • scripts/research/x_read.pyruns2,976 bytes
  • scripts/research/youtube_extract.pyruns13,636 bytes
  • scripts/run-command.shruns3,366 bytes
  • scripts/session_archive.pyruns15,592 bytes
  • scripts/setup.shruns10,659 bytes
  • scripts/setup_settings_hook.pyruns3,664 bytes
  • scripts/star_prompt.pyruns3,388 bytes
  • scripts/sweep_non_ascii.pyruns7,913 bytes
  • scripts/triage_links.pyruns8,454 bytes
  • scripts/update-vault-integration.shruns7,488 bytes
  • scripts/vault_health.pyruns70,631 bytes
  • scripts/vault_plugin_scan.pyruns10,702 bytes
  • scripts/vault_scan.pyruns6,288 bytes
  • scripts/vault_search.pyruns1,394 bytes
  • scripts/vault_stats.pyruns11,509 bytes
  • scripts/verify_quotes.pyruns4,651 bytes
  • tests/_bash.pyruns893 bytes
  • tests/conftest.pyruns507 bytes
  • tests/test_adapter_frontmatter_robustness.pyruns4,421 bytes
  • tests/test_ai_first_spec.pyruns5,343 bytes
  • tests/test_bash_pinned.pyruns4,485 bytes
  • tests/test_behavior_eval.pyruns19,456 bytes
  • tests/test_benchmark_corpus.pyruns6,568 bytes
  • tests/test_bg_agent_hook.pyruns12,332 bytes
  • tests/test_bom_frontmatter.pyruns3,945 bytes
  • tests/test_bootstrap_style.pyruns8,625 bytes
  • tests/test_bootstrap_unit.pyruns4,477 bytes
  • tests/test_build_conformance.pyruns13,776 bytes
  • tests/test_build_site.pyruns5,148 bytes
  • tests/test_checkin.pyruns7,487 bytes
  • tests/test_concurrent_writes.pyruns8,097 bytes
  • tests/test_config_int_knobs.pyruns1,057 bytes
  • tests/test_crew.pyruns22,380 bytes
  • tests/test_dispatcher_prose.pyruns6,645 bytes
  • tests/test_doc_command_names.pyruns3,904 bytes
  • tests/test_doc_roster.pyruns1,218 bytes
  • tests/test_document_to_pdf.pyruns3,212 bytes
  • tests/test_eval_diagnose.pyruns6,452 bytes
  • tests/test_eval_ruler.pyruns5,921 bytes
  • tests/test_exclude_policy.pyruns4,898 bytes
  • tests/test_export_and_alias_fidelity.pyruns4,009 bytes
  • tests/test_export_okf.pyruns8,374 bytes
  • tests/test_first_brain.pyruns4,904 bytes
  • tests/test_folder_map_compliance.pyruns2,744 bytes
  • tests/test_freshness.pyruns3,619 bytes
  • tests/test_freshness_lint.pyruns14,354 bytes
  • tests/test_front_door.pyruns3,298 bytes
  • tests/test_frontmatter_parity.pyruns7,745 bytes
  • tests/test_groq.pyruns19,510 bytes
  • tests/test_heal_precision.pyruns4,821 bytes
  • tests/test_hermes_session_hook.pyruns4,384 bytes
  • tests/test_index_robustness.pyruns5,216 bytes
  • tests/test_index_staleness.pyruns11,881 bytes
  • tests/test_ingest_batch.pyruns13,795 bytes
  • tests/test_install_portability.pyruns2,846 bytes
  • tests/test_link_graph_mirror.pyruns5,582 bytes
  • tests/test_mcp_bookkeeping.pyruns7,533 bytes
  • tests/test_mcp_codex_parity.pyruns15,950 bytes
  • tests/test_mcp_fresh_vault_health.pyruns2,260 bytes
  • tests/test_mcp_vault_ops_safety.pyruns6,005 bytes
  • tests/test_merge_notes.pyruns17,939 bytes
  • tests/test_migrate_log.pyruns3,306 bytes
  • tests/test_mine_commit_decisions_encoding.pyruns4,400 bytes
  • tests/test_multilingual_model.pyruns2,814 bytes
  • tests/test_no_autoopen_in_tests.pyruns2,332 bytes
  • tests/test_no_banned_chars_in_instructions.pyruns2,054 bytes
  • tests/test_no_vault_content_in_eval_docs.pyruns3,092 bytes
  • tests/test_note_safety.pyruns9,188 bytes
  • tests/test_osb_env.pyruns12,853 bytes
  • tests/test_p1_p2_fixes.pyruns6,367 bytes
  • tests/test_perplexity_empty_completion.pyruns5,227 bytes
  • tests/test_platform_home.pyruns3,097 bytes
  • tests/test_platform_owners.pyruns5,551 bytes
  • tests/test_plugin_manifest.pyruns11,148 bytes
  • tests/test_podcast_resolution.pyruns11,848 bytes
  • tests/test_podcast_transcript_schema.pyruns2,118 bytes
  • tests/test_python_interpreter.pyruns14,838 bytes
  • tests/test_query_aware_default.pyruns4,150 bytes
  • tests/test_ranking_quality.pyruns7,448 bytes
  • tests/test_research_cjk_and_models.pyruns17,642 bytes
  • tests/test_research_deep_fallback.pyruns2,340 bytes
  • tests/test_research_sources.pyruns16,490 bytes
  • tests/test_scan_cache.pyruns4,391 bytes
  • tests/test_schema_coverage.pyruns3,030 bytes
  • tests/test_script_correctness.pyruns6,344 bytes
  • tests/test_search_cap.pyruns2,334 bytes
  • tests/test_session_archive.pyruns8,242 bytes
  • tests/test_session_context_cap.pyruns7,777 bytes
  • tests/test_setup_and_manual_drift.pyruns9,965 bytes
  • tests/test_setup_settings_hook.pyruns3,371 bytes
  • tests/test_showroom.pyruns6,628 bytes
  • tests/test_smoke.pyruns74,847 bytes
  • tests/test_source_payload.pyruns7,898 bytes
  • tests/test_source_quality.pyruns6,721 bytes
  • tests/test_source_quality_unlabelled.pyruns4,786 bytes
  • tests/test_star_prompt.pyruns5,145 bytes
  • tests/test_symlink_resilience.pyruns2,794 bytes
  • tests/test_taxonomy_audit.pyruns3,088 bytes
  • tests/test_telegram_ingest.pyruns6,846 bytes
  • tests/test_trigger_precedence.pyruns3,939 bytes
  • tests/test_untrusted_source_handling.pyruns14,743 bytes
  • tests/test_user_excludes.pyruns5,496 bytes
  • tests/test_validate_hook_cjk.pyruns6,798 bytes
  • tests/test_validate_hook_vault_scope.pyruns3,190 bytes
  • tests/test_validate_hook_wikilinks.pyruns3,712 bytes
  • tests/test_vault_health_precision.pyruns22,519 bytes
  • tests/test_vault_health_unicode.pyruns3,690 bytes
  • tests/test_vault_plugin_scan.pyruns14,650 bytes
  • tests/test_vault_search_cli.pyruns3,208 bytes
  • tests/test_vault_stats.pyruns5,208 bytes
  • tests/test_vector_math.pyruns2,116 bytes
  • tests/test_verify_quotes.pyruns4,914 bytes
  • tests/test_windows_compat.pyruns18,986 bytes
  • tests/test_youtube_error_redaction.pyruns2,702 bytes
  • update.shruns1,118 bytes
  • uv.lockasset352,238 bytes
Read SKILL.md

# Obsidian Second Brain

> Claude operates your Obsidian vault as a self-rewriting knowledge base. An evolution of [Karpathy's LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f): sources rewrite existing pages instead of just appending, contradictions reconcile automatically, and scheduled agents maintain the vault while you sleep.
> Everything worth remembering gets saved. Every update propagates everywhere it belongs.

---

## Quick Start

### 0. Choose vault access method (in order of preference)

Try these methods in order. Use the first one available:

**Method 0 - SessionStart hook (if configured):**
View the complete source on GitHub

Skills included

  • obsidian-second-brain

Repository facts

License
MIT
Created
Mar 24, 2026
Last pushed
Nov 4, 2026
Forks
641
Open issues
9
Project activity
Active

Rank over the last 12 weeks

Now #280 · best #230 · down 29 in 30 days

  1. #270 on Oct 29
  2. #271 from Oct 30 to Nov 2
  3. #273 from Nov 3 to Nov 4
  4. #277 on Nov 5
  5. #278 on Nov 6
  6. #280 since Nov 7
66 earlier periods
  1. #231 on Aug 2
  2. #229 on Aug 8
  3. #228 on Aug 9
  4. #235 on Aug 10
  5. #233 on Aug 11
  6. #230 on Aug 12
  7. #232 from Aug 13 to Aug 14
  8. #231 on Aug 15
  9. #230 from Aug 16 to Aug 17
  10. #236 on Aug 18
  11. #234 from Aug 19 to Aug 20
  12. #235 on Aug 21
  13. #232 on Aug 22
  14. #238 on Aug 23
  15. #237 on Aug 24
  16. #238 from Aug 25 to Aug 26
  17. #239 on Aug 27
  18. #237 from Aug 28 to Aug 29
  19. #235 from Aug 30 to Aug 31
  20. #240 on Sep 1
  21. #235 on Sep 2
  22. #242 on Sep 3
  23. #237 on Sep 4
  24. #240 on Sep 5
  25. #237 on Sep 6
  26. #239 on Sep 7
  27. #240 on Sep 8
  28. #242 on Sep 9
  29. #240 on Sep 10
  30. #241 from Sep 11 to Sep 12
  31. #244 on Sep 13
  32. #245 on Sep 14
  33. #246 on Sep 15
  34. #244 on Sep 16
  35. #243 on Sep 17
  36. #246 on Sep 18
  37. #242 on Sep 19
  38. #248 from Sep 20 to Sep 21
  39. #247 from Sep 22 to Sep 23
  40. #248 on Sep 24
  41. #246 from Sep 25 to Sep 26
  42. #245 on Sep 27
  43. #248 on Sep 28
  44. #247 on Sep 29
  45. #245 on Sep 30
  46. #247 on Oct 1
  47. #249 on Oct 2
  48. #245 on Oct 3
  49. #243 on Oct 4
  50. #246 on Oct 5
  51. #247 on Oct 6
  52. #250 on Oct 7
  53. #251 on Oct 8
  54. #254 on Oct 9
  55. #250 on Oct 10
  56. #254 on Oct 11
  57. #257 on Oct 12
  58. #259 on Oct 13
  59. #257 from Oct 14 to Oct 15
  60. #256 on Oct 16
  61. #259 from Oct 17 to Oct 18
  62. #260 from Oct 19 to Oct 20
  63. #262 from Oct 21 to Oct 22
  64. #261 on Oct 23
  65. #263 from Oct 24 to Oct 25
  66. #263 on Oct 28

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 4, 2026

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

Show 53 notes
  • CHANGELOG.md:504 Analysis incomplete: physical or joined line exceeds character limit
  • CHANGELOG.md:528 Analysis incomplete: physical or joined line exceeds character limit
  • CHANGELOG.md:534 Analysis incomplete: physical or joined line exceeds character limit
  • CHANGELOG.md:535 Analysis incomplete: physical or joined line exceeds character limit
  • CHANGELOG.md:536 Analysis incomplete: physical or joined line exceeds character limit
  • CHANGELOG.md:540 Analysis incomplete: physical or joined line exceeds character limit
  • CHANGELOG.md:541 Analysis incomplete: physical or joined line exceeds character limit
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 3,046 signals by file

.claude-plugin/marketplace.json

  • Network accessline 19
    "email": "e.ghelbur@gmail.com"       },       "homepage": "https://github.com/eugeniughelbur/obsidian-second-brain",
  • Network accessline 20
    },       "homepage": "https://github.com/eugeniughelbur/obsidian-second-brain",       "license": "MIT",
  • Network accessline 21
    "homepage": "https://github.com/eugeniughelbur/obsidian-second-brain",

.claude-plugin/plugin.json

  • Network accessline 7
    "email": "e.ghelbur@gmail.com"   },   "homepage": "https://github.com/eugeniughelbur/obsidian-second-brain",
  • Network accessline 8
    },   "homepage": "https://github.com/eugeniughelbur/obsidian-second-brain",   "license": "MIT",
  • Network accessline 9
    "homepage": "https://github.com/eugeniughelbur/obsidian-second-brain",

.env.example

  • Access to secretsline 2
    [Credential-related source omitted]
  • Network accessline 9
    # ─── xAI Grok ─────────────────────────────────────────────── # Powers /x-read and /x-pulse (live X reading + trend analysis) # Get key: https://console.x.ai
  • Network accessline 10
    [Credential-related source omitted]
  • Network accessline 11
    # Get key: https://console.x.ai
  • Access to secretsline 12
    [Credential-related source omitted]
  • Network accessline 14
    # ─── Perplexity ───────────────────────────────────────────── # Powers /research and /research-deep (web research with citations) # Get key: https://perplexity.ai/settings/api
  • Network accessline 15
    [Credential-related source omitted]
  • Network accessline 16
    # Get key: https://perplexity.ai/settings/api
  • Access to secretsline 17
    [Credential-related source omitted]
  • Network accessline 20
    # Extra web-search source for /research free mode - joins the key-less pool # when set, skipped silently when empty. Free tier available. # Get key: https://app.tavily.com
  • Network accessline 21
    [Credential-related source omitted]
  • Network accessline 22
    # Get key: https://app.tavily.com
  • Access to secretsline 23
    [Credential-related source omitted]
  • Network accessline 27
    # when set, skipped silently when empty. Requires a card: plans start at # $5/1,000 requests with $5 free credits monthly (as of 2026-07). # Get key: https://api-dashboard.search.brave.com
  • Network accessline 28
    [Credential-related source omitted]
  • Network accessline 29
    # Get key: https://api-dashboard.search.brave.com
  • Access to secretsline 30
    [Credential-related source omitted]
  • Network accessline 32
    # ─── Google Gemini ────────────────────────────────────────── # Powers /notebooklm (vault-grounded synthesis via Gemini File Search). # Get key (free tier available): https://aistudio.google.com/apikey
  • Network accessline 33
    [Credential-related source omitted]
  • Network accessline 34
    # Get key (free tier available): https://aistudio.google.com/apikey
  • Access to secretsline 35
    [Credential-related source omitted]
  • Network accessline 37
    # ─── YouTube Data API v3 (optional) ───────────────────────── # Powers /youtube metadata + comments. Transcripts work without this key. # Get key: https://console.cloud.google.com → enable YouTube Data API v3
  • Network accessline 38
    [Credential-related source omitted]
  • Network accessline 39
    # Get key: https://console.cloud.google.com → enable YouTube Data API v3
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 55
    # Free Groq-hosted Whisper for /podcast episodes that publish no transcript. # Get key: https://console.groq.com. Free tier: 7,200 audio-seconds per hour,
  • Network accessline 56
    # Get key: https://console.groq.com. Free tier: 7,200 audio-seconds per hour,
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Network accessline 61
    # ─── Model defaults (override if desired) ─────────────────── # xAI endpoint: https://api.x.ai/v1/responses (Agent Tools API)
  • Network accessline 62
    # xAI endpoint: https://api.x.ai/v1/responses (Agent Tools API)

.github/FUNDING.yml

  • Network accessline 1
    # Funding for obsidian-second-brain # https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
  • Network accessline 2
    # https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
  • Network accessline 4
    # GitHub Sponsors (enable at https://github.com/sponsors/accounts)
  • Network accessline 10
    # buy_me_a_coffee: eugeniughelbur # open_collective: obsidian-second-brain # custom: ["https://ghelburlabs.substack.com"]
  • Network accessline 12
    # custom: ["https://ghelburlabs.substack.com"]

.github/ISSUE_TEMPLATE/bug_report.yml

  • Network accessline 8
    value: |         Thanks for taking the time to file a bug. Before you continue, please:         - Check the [FAQ](https://github.com/eugeniughelbur/obsidian-second-brain#faq) - many issues are answered there.
  • Network accessline 9
    Thanks for taking the time to file a bug. Before you continue, please:         - Check the [FAQ](https://github.com/eugeniughelbur/obsidian-second-brain#faq) - many issues are answered there.         - Search [open + closed issues](https://
  • Network accessline 10
    - Check the [FAQ](https://github.com/eugeniughelbur/obsidian-second-brain#faq) - many issues are answered there.
  • Network accessline 11
    - Search [open + closed issues](https://github.com/eugeniughelbur/obsidian-second-brain/issues?q=is%3Aissue) - someone may have hit the same bug.

.github/ISSUE_TEMPLATE/config.yml

  • Network accessline 2
    contact_links:   - name: 💬 Discussions     url: https://github.com/eugeniughelbur/obsidian-second-brain/discussions
  • Network accessline 3
    - name: 💬 Discussions     url: https://github.com/eugeniughelbur/obsidian-second-brain/discussions     about: Ask questions, share workflows, request commands, show off your vault setup
  • Network accessline 4
    url: https://github.com/eugeniughelbur/obsidian-second-brain/discussions
  • Network accessline 5
    about: Ask questions, share workflows, request commands, show off your vault setup   - name: 📖 Read the docs     url: https://github.com/eugeniughelbur/obsidian-second-brain#readme
  • Network accessline 6
    - name: 📖 Read the docs     url: https://github.com/eugeniughelbur/obsidian-second-brain#readme     about: Most "how do I..." questions are answered in the README + FAQ
  • Network accessline 7
    url: https://github.com/eugeniughelbur/obsidian-second-brain#readme
  • Network accessline 8
    about: Most "how do I..." questions are answered in the README + FAQ   - name: 📜 Read the AI-first vault rule     url: https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/references/ai-first-rules.md
  • Network accessline 9
    - name: 📜 Read the AI-first vault rule     url: https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/references/ai-first-rules.md     about: How notes are structured for future-Claude retrieval
  • Network accessline 10
    url: https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/references/ai-first-rules.md
  • Network accessline 11
    about: How notes are structured for future-Claude retrieval   - name: 📰 Subscribe on Substack     url: https://ghelburlabs.substack.com
  • Network accessline 12
    - name: 📰 Subscribe on Substack     url: https://ghelburlabs.substack.com     about: Long-form posts about the build, vault philosophy, and AI workflows
  • Network accessline 13
    url: https://ghelburlabs.substack.com

.github/ISSUE_TEMPLATE/feature_request.yml

  • Network accessline 8
    value: |         Thanks for thinking about how to make this better. A few asks before you continue:         - Search [open issues + discussions](https://github.com/eugeniughelbur/obsidian-second-brain/issues) to see if it's already been pro
  • Network accessline 9
    Thanks for thinking about how to make this better. A few asks before you continue:         - Search [open issues + discussions](https://github.com/eugeniughelbur/obsidian-second-brain/issues) to see if it's already been proposed.         - 
  • Network accessline 10
    - Search [open issues + discussions](https://github.com/eugeniughelbur/obsidian-second-brain/issues) to see if it's already been proposed.
  • Network accessline 11
    - For free-form ideas / "what if..." questions, prefer [Discussions](https://github.com/eugeniughelbur/obsidian-second-brain/discussions). Issues are for concrete proposals.

.github/dependabot.yml

  • Network accessline 1
    # Dependabot keeps dependencies current automatically so the supply chain stays # patched without manual checking. https://docs.github.com/code-security/dependabot
  • Network accessline 2
    # patched without manual checking. https://docs.github.com/code-security/dependabot

.github/workflows/scorecard.yml

  • Network accessline 1
    # OpenSSF Scorecard - publishes a public supply-chain security score for this repo. # Results show on the badge + at https://securityscorecards.dev and feed external
  • Network accessline 2
    # Results show on the badge + at https://securityscorecards.dev and feed external

.gitignore

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

AI-FIRST.md

  • Network accessline 3
    **Version 1.0** &middot; Canonical URL: <https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/AI-FIRST.md>
  • Network accessline 77
    Adapted from the AI-First Note Spec v1.0, https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/AI-FIRST.md
  • Network accessline 78
    https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/AI-FIRST.md
  • Network accessline 103
    frontmatter schemas, preamble templates, anti-patterns, and an audit checklist, is [`references/ai-first-rules.md`](references/ai-first-rules.md) in this repo. It is what [obsidian-second-brain](https://github.com/eugeniughelbur/obsidian-se
  • Network accessline 104
    is [`references/ai-first-rules.md`](references/ai-first-rules.md) in this repo. It is what [obsidian-second-brain](https://github.com/eugeniughelbur/obsidian-second-brain) enforces at write time via a validator hook, but nothing in the spec
  • Network accessline 105
    It is what [obsidian-second-brain](https://github.com/eugeniughelbur/obsidian-second-brain)

CHANGELOG.md

  • Network accessline 5
    The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
  • Access to secretsline 11
    [Credential-related source omitted]
  • Network accessline 21
    - **Skill pickers that name a skill from its first heading no longer show "AI-First Note Rules" for every command ([openclaw/openclaw#184724](https://github.com/openclaw/openclaw/issues/184724)).** The agent-skills and grok-bot builds embed
  • Access to secretsline 113
    [Credential-related source omitted]
  • Network accessline 119
    - **A session running beside another Obsidian plugin is now told which schema governs its writes (#300).** Claude Code merges hook entries instead of replacing them: "Hook entries merge across settings levels", "All matching hooks run in pa
  • Access to secretsline 159
    [Credential-related source omitted]
  • Access to secretsline 217
    [Credential-related source omitted]
  • Access to secretsline 221
    [Credential-related source omitted]
  • Access to secretsline 225
    [Credential-related source omitted]
  • Dangerous shell operationline 229
    - **The bash scripts share one home-resolution helper, and the Windows tests moved out of `tests/test_smoke.py` (review follow-ups to #243/#248).** The `USERPROFILE`-on-Windows block from #242 had been pasted into seven shell scripts. It no
  • Network accessline 229
    - **The bash scripts share one home-resolution helper, and the Windows tests moved out of `tests/test_smoke.py` (review follow-ups to #243/#248).** The `USERPROFILE`-on-Windows block from #242 had been pasted into seven shell scripts. It no
  • Access to secretsline 233
    [Credential-related source omitted]
  • Network accessline 255
    - **`/obsidian-ingest` rewrote existing notes without confirmation, and `content_hash` keyed on the raw capture (#239, raised by @konsorsiumai).** Two spec gaps. `references/ai-first-rules.md` has said since #215 that a write which modifies
  • Network accessline 289
    - **`/youtube` could never fetch a non-English transcript (#210, reported by @hamidasiblog).** `get_transcript()` called `api.fetch(video_id)` bare, and youtube-transcript-api defaults to `('en',)` - so a Japanese video with retrievable aut
  • Access to secretsline 305
    [Credential-related source omitted]
  • Access to secretsline 333
    [Credential-related source omitted]
  • Access to secretsline 377
    [Credential-related source omitted]
  • Access to secretsline 380
    [Credential-related source omitted]
  • Access to secretsline 382
    [Credential-related source omitted]
  • Access to secretsline 424
    [Credential-related source omitted]
  • Access to secretsline 456
    [Credential-related source omitted]
  • Network accessline 516
    - **`/youtube --visual` - Claude watches the video, not just reads the transcript.** The transcript-only path missed everything that is *shown*: on-screen code, diagrams, slides, UI, demos, b-roll. `--visual` closes that gap. It downloads t
  • Network accessline 522
    - **Pi Coding Agent as a 6th build target (#83, by @Gepetdo).** `bash scripts/build.sh --platform pi` emits `dist/pi/`, a native [Pi](https://pi.dev) package: a `package.json` declaring `pi.prompts`/`pi.skills`, one prompt template per comm
  • Network accessline 528
    - **`scripts/eval/semantic_search.py` - local, private semantic search (meaning-based retrieval) + hybrid fusion, measured before trust.** The lexical eval proved word-matching tops out at ~17% recall on paraphrased queries (questions shari
  • Access to secretsline 530
    [Credential-related source omitted]
  • Access to secretsline 531
    [Credential-related source omitted]
  • Network accessline 534
    - **Hermes adapter - scheduled agents as native blueprint skills + the PostCompact-analog story (#79, Phase 2).** The four scheduled agents (`obsidian-morning` 8am, `obsidian-nightly` 10pm, `obsidian-weekly` Fri 6pm, `obsidian-health-check`
  • Network accessline 535
    - **MCP connector - curator tools for guarded mutation, graph, and health (#79, Phase 2).** Extends `integrations/obsidian-mcp-server/` from a read + append-only connector to one that can safely curate. Four new tools (and `vault_ops.py` fu
  • Network accessline 536
    - **`adapters/hermes/` - native Hermes Agent skill build (#79, Phase 2).** A new adapter target that emits each command as a native [Hermes Agent](https://github.com/NousResearch/hermes-agent) skill at `skills/<category>/<name>/SKILL.md` (a
  • Access to secretsline 538
    [Credential-related source omitted]
  • Network accessline 556
    - **Folder resolution is now spec-driven, not hardcoded (skill-audit finding).** Eleven commands had Obsidian-style folder names baked into their bodies (`Ideas/`, `Dev Logs/`, `Reviews/`, `Knowledge/`, `Projects/`) with no instruction to h
  • Network accessline 557
    - **`vault_health.py`: "broken links" renamed to "wanted notes" and downgraded from warning to info.** The label was inherited from the web, where a broken link is a real 404. In a wiki-style vault a link to a not-yet-written note is intent
  • Network accessline 558
    - **Codex CLI adapter now emits native Codex Agent Skills instead of an AGENTS.md routing table plus `codex exec` wrappers (#78).** Codex shipped native [Agent Skills](https://developers.openai.com/codex/skills) in Dec 2025 with progressive
  • Instruction override signalline 582
    - **Background agent (PostCompact hook) is now opt-in and ships inert.** It writes to the vault unattended with `--dangerously-skip-permissions`, but previously armed on `OBSIDIAN_VAULT_PATH` alone (which `setup.sh` sets for the research to
  • Access to secretsline 589
    [Credential-related source omitted]
  • Network accessline 606
    - **Removed broken `--style obsidian` example from README (#15):** the `scripts/bootstrap_vault.py --style obsidian` example in the Vault Architecture section advertised a flag that was never implemented. PR #14 wired `--preset` and `--mode
  • Dangerous shell operationline 608
    - **`install.sh` cross-platform editor and uv-install hint:** the `${EDITOR:-open}` fallback was macOS-only - on Linux it threw `open: command not found`, on Windows (Git Bash) likewise. Now picks `xdg-open` on Linux, `notepad` on Windows (
  • Network accessline 608
    - **`install.sh` cross-platform editor and uv-install hint:** the `${EDITOR:-open}` fallback was macOS-only - on Linux it threw `open: command not found`, on Windows (Git Bash) likewise. Now picks `xdg-open` on Linux, `notepad` on Windows (
  • Access to secretsline 612
    [Credential-related source omitted]
  • Dangerous shell operationline 623
    - **`scripts/setup.sh` robustness:** four issues fixed together. Vault paths containing apostrophes or other shell metacharacters (`Joe's Notes`) no longer crash the installer - `eval echo` replaced with bash parameter substitution. `python
  • Network accessline 623
    - **`scripts/setup.sh` robustness:** four issues fixed together. Vault paths containing apostrophes or other shell metacharacters (`Joe's Notes`) no longer crash the installer - `eval echo` replaced with bash parameter substitution. `python
  • Network accessline 634
    [Credential-related source omitted]
  • Access to secretsline 634
    [Credential-related source omitted]
  • Network accessline 725
    [Unreleased]: https://github.com/eugeniughelbur/obsidian-second-brain/compare/v0.6.0...HEAD
  • Network accessline 726
    [0.6.0]: https://github.com/eugeniughelbur/obsidian-second-brain/releases/tag/v0.6.0
  • Network accessline 727
    [0.5.0]: https://github.com/eugeniughelbur/obsidian-second-brain/releases/tag/v0.5.0

CITATION.cff

  • Network accessline 25
    type: software license: MIT repository-code: "https://github.com/eugeniughelbur/obsidian-second-brain"
  • Network accessline 26
    license: MIT repository-code: "https://github.com/eugeniughelbur/obsidian-second-brain" url: "https://github.com/eugeniughelbur/obsidian-second-brain"
  • Network accessline 27
    repository-code: "https://github.com/eugeniughelbur/obsidian-second-brain"
  • Network accessline 28
    url: "https://github.com/eugeniughelbur/obsidian-second-brain"

CODE_OF_CONDUCT.md

  • Network accessline 73
    This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
  • Network accessline 77
    For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations].
  • Network accessline 79
    [homepage]: https://www.contributor-covenant.org
  • Network accessline 80
    [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
  • Network accessline 81
    [Mozilla CoC]: https://github.com/mozilla/diversity
  • Network accessline 82
    [FAQ]: https://www.contributor-covenant.org/faq
  • Network accessline 83
    [translations]: https://www.contributor-covenant.org/translations

CONTRIBUTING.md

  • Network accessline 7
    **Looking for somewhere to start?** The [good first issues](https://github.com/eugeniughelbur/obsidian-second-brain/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) each name the exact files and lines, flag what to watch out fo
  • Network accessline 15
    1. **Be respectful.** This project follows a [Code of Conduct](CODE_OF_CONDUCT.md). Disagreement is welcome; rudeness is not. 2. **Search first.** Check [open issues](https://github.com/eugeniughelbur/obsidian-second-brain/issues) and [disc
  • Network accessline 16
    2. **Search first.** Check [open issues](https://github.com/eugeniughelbur/obsidian-second-brain/issues) and [discussions](https://github.com/eugeniughelbur/obsidian-second-brain/discussions). Someone may already be working on what you're p
  • Network accessline 17
    3. **For ideas / questions / "what if..."**, prefer [Discussions](https://github.com/eugeniughelbur/obsidian-second-brain/discussions). Issues are for concrete bugs or feature proposals.
  • Network accessline 24
    - 📖 [SKILL.md](SKILL.md) - the operating manual for Claude - 🏗 [architecture.md](architecture.md) - how the layers fit together - 🐛 [Bug report form](https://github.com/eugeniughelbur/obsidian-second-brain/issues/new?template=bug_report.yml
  • Network accessline 25
    - 🏗 [architecture.md](architecture.md) - how the layers fit together - 🐛 [Bug report form](https://github.com/eugeniughelbur/obsidian-second-brain/issues/new?template=bug_report.yml) - ✨ [Feature request form](https://github.com/eugeniughel
  • Network accessline 26
    - 🐛 [Bug report form](https://github.com/eugeniughelbur/obsidian-second-brain/issues/new?template=bug_report.yml)
  • Network accessline 27
    - ✨ [Feature request form](https://github.com/eugeniughelbur/obsidian-second-brain/issues/new?template=feature_request.yml)
  • Network accessline 34
    # Clone the repo git clone https://github.com/eugeniughelbur/obsidian-second-brain ~/Projects/obsidian-second-brain
  • Network accessline 35
    git clone https://github.com/eugeniughelbur/obsidian-second-brain ~/Projects/obsidian-second-brain
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]
  • Network accessline 187
    # Smoke test a command (requires API keys) uv run -m scripts.research.x_read "https://x.com/some/post"
  • Network accessline 188
    uv run -m scripts.research.x_read "https://x.com/some/post"
  • Network accessline 231
    - **Questions about how to use a command:** [Discussions Q&A](https://github.com/eugeniughelbur/obsidian-second-brain/discussions/categories/q-a)
  • Network accessline 232
    - **Showcase your vault setup:** [Discussions Show & Tell](https://github.com/eugeniughelbur/obsidian-second-brain/discussions/categories/show-and-tell)
  • Network accessline 233
    - **Bugs:** [bug report form](https://github.com/eugeniughelbur/obsidian-second-brain/issues/new?template=bug_report.yml)
  • Network accessline 234
    - **Direct contact (private / security):** see [SECURITY.md](SECURITY.md) (when added) or DM [@eugeniu_ghelbur](https://x.com/eugeniu_ghelbur)

DEMOS.md

  • Network accessline 3
    See obsidian-second-brain working before you install anything. Every demo on this page is real footage: the commands actually ran, and the GIF is rendered from a committed [vhs](https://github.com/charmbracelet/vhs) tape file, so it can be 

ECOSYSTEM.md

  • Network accessline 16
    - Multi-platform adapter layer (Claude Code / Codex CLI / Gemini CLI / OpenCode / Antigravity / Hermes / Pi, incl. the unified Agent Skills build) - The generic research toolkit shape (Phase 1 vault scan, Phase 2/3 external research, Phase 
  • Network accessline 18
    - A pluggable **Backend protocol** for Phase 3 (in progress, per [Discussion #38](https://github.com/eugeniughelbur/obsidian-second-brain/discussions/38)) so any domain can add its own research backends without forking the engine
  • Network accessline 24
    | Fork | Domain | Maintainer | Status | |---|---|---|---| | [`SHzzzAyys/scholarbrain`](https://github.com/SHzzzAyys/scholarbrain) | Academic research (PubMed, arXiv, Semantic Scholar) | [@SHzzzAyys](https://github.com/SHzzzAyys) | Active. P
  • Network accessline 26
    | [`SHzzzAyys/scholarbrain`](https://github.com/SHzzzAyys/scholarbrain) | Academic research (PubMed, arXiv, Semantic Scholar) | [@SHzzzAyys](https://github.com/SHzzzAyys) | Active. Paper-card controlled vocab, DeepSeek backend, language-awa
  • Network accessline 30
    If you have built a domain-specific fork that meaningfully extends the pattern, open a discussion in [this repo's Discussions tab](https://github.com/eugeniughelbur/obsidian-second-brain/discussions) and link to:

FORK_INSIGHTS.md

  • Dangerous shell operationline 109
    44. **[P1] Windows `setup.sh` rename fix** (`the Windows fork`) - change settings.json writes from `mv tmp dest` to `cat tmp > dest && rm tmp`. `mv`/atomic-rename breaks on WSL mounts and OneDrive-synced dirs.

README.md

  • Network accessline 1
    <p align="center">   <a href="https://github.com/eugeniughelbur/obsidian-second-brain">
  • Network accessline 2
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">
  • Network accessline 7
    <p align="center">   <a href="#install"><img src="https://img.shields.io/badge/Claude_Code-D97757?style=for-the-badge&logo=anthropic&logoColor=white" alt="Claude Code" /></a>
  • Network accessline 8
    <a href="#install"><img src="https://img.shields.io/badge/Claude_Code-D97757?style=for-the-badge&logo=anthropic&logoColor=white" alt="Claude Code" /></a>
  • Network accessline 9
    <a href="#use-it-in-grok-bot"><img src="https://img.shields.io/badge/Grok_Bot-000000?style=for-the-badge&logo=x&logoColor=white" alt="Grok Bot" /></a>
  • Network accessline 10
    <a href="#codex-cli--gemini-cli--opencode"><img src="https://img.shields.io/badge/Codex_CLI-412991?style=for-the-badge&logo=openai&logoColor=white" alt="Codex CLI" /></a>
  • Network accessline 11
    <a href="#codex-cli--gemini-cli--opencode"><img src="https://img.shields.io/badge/Gemini_CLI-4285F4?style=for-the-badge&logo=googlegemini&logoColor=white" alt="Gemini CLI" /></a>
  • Network accessline 12
    <a href="#codex-cli--gemini-cli--opencode"><img src="https://img.shields.io/badge/OpenCode-181818?style=for-the-badge&logo=opensourceinitiative&logoColor=white" alt="OpenCode" /></a>
  • Network accessline 21
    <p align="center">   <img src="https://img.shields.io/badge/Obsidian-Vault-7C3AED?style=for-the-badge&logo=obsidian&logoColor=white" alt="Obsidian Vault" />
  • Network accessline 22
    <img src="https://img.shields.io/badge/Obsidian-Vault-7C3AED?style=for-the-badge&logo=obsidian&logoColor=white" alt="Obsidian Vault" />
  • Network accessline 23
    <img src="https://img.shields.io/github/v/release/eugeniughelbur/obsidian-second-brain?style=for-the-badge&color=green" alt="Release" />
  • Network accessline 24
    <img src="https://img.shields.io/badge/license-MIT-blue?style=for-the-badge" alt="License: MIT" />
  • Network accessline 25
    <img src="https://img.shields.io/github/stars/eugeniughelbur/obsidian-second-brain?style=for-the-badge&color=yellow" alt="Stars" />
  • Network accessline 26
    <a href="https://github.com/sponsors/eugeniughelbur"><img src="https://img.shields.io/badge/Sponsor-EA4AAA?style=for-the-badge&logo=github-sponsors&logoColor=white" alt="Sponsor" /></a>
  • Dangerous shell operationline 43
    curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 43
    curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 56
    <p align="center">   <strong>An evolution of <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">Karpathy's LLM Wiki pattern</a>: a vault that rewrites itself.</strong>
  • Network accessline 57
    <strong>An evolution of <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f">Karpathy's LLM Wiki pattern</a>: a vault that rewrites itself.</strong>
  • Network accessline 77
    <a href="#choose-your-preset">Presets</a> &middot;   <a href="#the-vault-is-alive">OKM</a> &middot;   <a href="https://github.com/eugeniughelbur/obsidian-second-brain/discussions">Discussions</a>
  • Network accessline 78
    <a href="#the-vault-is-alive">OKM</a> &middot;   <a href="https://github.com/eugeniughelbur/obsidian-second-brain/discussions">Discussions</a> </p>
  • Network accessline 79
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain/discussions">Discussions</a>
  • Network accessline 87
    <em>One <code>/obsidian-save</code> - five cross-linked notes. Real footage, synthetic vault. <a href="DEMOS.md">More demos &rarr;</a></em>   <br /><br />   <em>If this looks useful, <a href="https://github.com/eugeniughelbur/obsidian-secon
  • Network accessline 88
    <br /><br />   <em>If this looks useful, <a href="https://github.com/eugeniughelbur/obsidian-second-brain">star the repo</a>. It is how other people find it.</em> </p>
  • Network accessline 89
    <em>If this looks useful, <a href="https://github.com/eugeniughelbur/obsidian-second-brain">star the repo</a>. It is how other people find it.</em>
  • Network accessline 137
    **You have a finished text document:** `/obsidian-ingest report.docx` Word (`.docx`, `.doc`) and OpenDocument (`.odt`) files uploaded or copied into the vault follow the same local-source rules as PDFs and Markdown. The helper converts a pr
  • Network accessline 138
    Word (`.docx`, `.doc`) and OpenDocument (`.odt`) files uploaded or copied into the vault follow the same local-source rules as PDFs and Markdown. The helper converts a private copy to a temporary PDF, then ingestion uses the existing PDF pa
  • Network accessline 140
    **You find a great video:** `/obsidian-ingest https://youtube.com/...`
  • Network accessline 154
    **Someone shares an X post:** `/x-read https://x.com/...`
  • Network accessline 166
    **You hit a great YouTube video:** `/youtube https://youtu.be/...`
  • Network accessline 198
    <p align="center">   <strong>From the blog</strong> &middot; <a href="https://theaioperator.io">The AI Operator &rarr;</a>
  • Network accessline 199
    <strong>From the blog</strong> &middot; <a href="https://theaioperator.io">The AI Operator &rarr;</a>
  • Network accessline 202
    <p align="center">   <strong>Featured:</strong> <a href="https://theaioperator.io/p/huge-update-on-obsidian-second-brain">"HUGE update on obsidian-second-brain: The Architect"</a><br />
  • Network accessline 203
    <strong>Featured:</strong> <a href="https://theaioperator.io/p/huge-update-on-obsidian-second-brain">"HUGE update on obsidian-second-brain: The Architect"</a><br />
  • Network accessline 207
    <p align="center">   <strong>Deep dive:</strong> <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">"I rebuilt Karpathy's LLM Wiki. Here's what's missing from the original."</a><br />
  • Network accessline 208
    <strong>Deep dive:</strong> <a href="https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres">"I rebuilt Karpathy's LLM Wiki. Here's what's missing from the original."</a><br />
  • Network accessline 212
    <p align="center">   <strong>Origin story:</strong> <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">"I built this for myself. Then 1,374 strangers cloned it."</a><br />
  • Network accessline 213
    <strong>Origin story:</strong> <a href="https://theaioperator.io/p/i-built-this-for-myself-then-1374">"I built this for myself. Then 1,374 strangers cloned it."</a><br />
  • Network accessline 232
    <p align="center">   Built by <a href="https://github.com/eugeniughelbur"><strong>Eugeniu Ghelbur</strong></a> &middot; AI Automation Engineer @ Single Grain<br />
  • Network accessline 233
    Built by <a href="https://github.com/eugeniughelbur"><strong>Eugeniu Ghelbur</strong></a> &middot; AI Automation Engineer @ Single Grain<br />
  • Network accessline 247
    <a href="https://x.com/eugeniu_ghelbur"><img src="https://img.shields.io/badge/Follow_on_X-000?style=for-the-badge&logo=x&logoColor=white" alt="Follow on X" /></a>
  • Network accessline 248
    <a href="https://www.linkedin.com/in/eugeniu-ghelbur/"><img src="https://img.shields.io/badge/Connect_on_LinkedIn-0A66C2?style=for-the-badge&logo=data:image/svg%2Bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ij
  • Network accessline 249
    <a href="https://theaioperator.io"><img src="https://img.shields.io/badge/Subscribe_on_Substack-FF6719?style=for-the-badge&logo=substack&logoColor=white" alt="Subscribe on Substack" /></a>
  • Network accessline 250
    <a href="https://github.com/eugeniughelbur"><img src="https://img.shields.io/badge/Follow_on_GitHub-181717?style=for-the-badge&logo=github&logoColor=white" alt="Follow on GitHub" /></a>
  • Access to secretsline 380
    [Credential-related source omitted]
  • Network accessline 421
    /obsidian-ingest https://youtube.com/watch?v=example
  • Network accessline 440
    **`/x-read https://x.com/garrytan/status/2048121438914154664`**
  • Network accessline 522
    **`/youtube https://youtu.be/...` (add `--visual` to watch, not just read)**
  • Network accessline 526
    `--visual` downloads the video (yt-dlp, <=720p) and extracts one frame per scene change (ffmpeg scene detection, not a fixed timer), so on-screen text, code, diagrams, slides, UI, and b-roll are captured. Claude reads the frames with its ow
  • Network accessline 530
    **`/podcast https://podcasts.apple.com/...`** (or paste an RSS feed URL)
  • Access to secretsline 532
    [Credential-related source omitted]
  • Instruction override signalline 594
    **What arming it costs.** The headless run uses `--dangerously-skip-permissions`, because nobody is there to approve each write. That is why the agent ships inert and stays opt-in. Its tool surface is restricted with `--tools "Read,Write,Ed
  • Network accessline 671
    **Prerequisites:** [Claude Code](https://claude.com/claude-code) (or one of the other six platforms below), `git`, and [`uv`](https://docs.astral.sh/uv/) for the Python helpers (health check, research toolkit, bootstrap). `jq` is **required
  • Dangerous shell operationline 705
    curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 705
    curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 711
    git clone https://github.com/eugeniughelbur/obsidian-second-brain ~/.claude/skills/obsidian-second-brain
  • Network accessline 716
    > Cloning it? A [star](https://github.com/eugeniughelbur/obsidian-second-brain) costs you nothing and is how the next person finds this.
  • Network accessline 733
    git clone https://github.com/eugeniughelbur/obsidian-second-brain
  • Network accessline 741
    The **Codex build emits native [Codex Agent Skills](https://developers.openai.com/codex/skills)**: one skill per command under `.agents/skills/<name>/SKILL.md`. Codex discovers them automatically with progressive disclosure (only each skill
  • Network accessline 747
    Antigravity, Codex CLI, OpenCode, and GitHub Copilot CLI have all converged on the open [Agent Skills](https://github.com/vercel-labs/skills) standard: workspace skills at `.agents/skills/<name>/SKILL.md`. The `agent-skills` build emits one
  • Network accessline 750
    git clone https://github.com/eugeniughelbur/obsidian-second-brain
  • Network accessline 765
    git clone https://github.com/eugeniughelbur/obsidian-second-brain
  • Network accessline 771
    The **Pi build emits a native [Pi](https://pi.dev) package**: prompt templates under `.pi/prompts/` (invoke as `/obsidian-save`, `/obsidian-daily`, etc.) plus a discovery skill under `.pi/skills/obsidian-second-brain/` (load with `/skill:ob
  • Network accessline 777
    Start from the official Obsidian Second Brain bot template: https://x.ai/bot/Oj_doyprowDl817Yk5Rbh
  • Network accessline 782
    git clone https://github.com/eugeniughelbur/obsidian-second-brain
  • Network accessline 788
    What you need: a plan that includes Grok Bot. Premium, Super and Ultra on The X Subscription include it, with one weekly usage pool shared with Grok and Cursor. Older paid Cursor plans and linked SuperGrok or X Premium+ accounts work too (h
  • Network accessline 798
    The skill is model-agnostic. The OpenCode build (and the Codex / Gemini builds) are plain instruction files, so they run on whatever model the host CLI is pointed at - including open models like [Nous Research Hermes](https://github.com/Nou
  • Network accessline 807
    Do not run `hermes plugins install` on this repo's URL. The repo root is not a Hermes plugin (it has no `plugin.yaml`), and Hermes reports success anyway while registering nothing ([#298](https://github.com/eugeniughelbur/obsidian-second-br
  • Network accessline 809
    This is the skill/playbook half of the Hermes work; the bounded vault-data half is the [MCP connector](integrations/obsidian-mcp-server/). Native cron and lifecycle-hook integration are tracked in [Issue #79](https://github.com/eugeniughelb
  • Access to secretsline 811
    [Credential-related source omitted]
  • Network accessline 814
    {   "$schema": "https://opencode.ai/config.json",
  • Network accessline 815
    "$schema": "https://opencode.ai/config.json",
  • Network accessline 827
    Hermes models on OpenRouter (as of 2026-06, [openrouter.ai](https://openrouter.ai/models?q=hermes)):
  • Network accessline 835
    For the privacy story, run a smaller Hermes locally through [Ollama](https://ollama.com) or LM Studio and point OpenCode at the local endpoint - no data leaves your machine.
  • Access to secretsline 847
    [Credential-related source omitted]
  • Access to secretsline 848
    [Credential-related source omitted]
  • Access to secretsline 856
    [Credential-related source omitted]
  • Access to secretsline 865
    [Credential-related source omitted]
  • Access to secretsline 866
    [Credential-related source omitted]
  • Network accessline 873
    | Key | Where | Required for | Cost | |---|---|---|---| | `XAI_API_KEY` | [console.x.ai](https://console.x.ai) | `/x-read`, `/x-pulse`, `/research-deep` X pulse, `/youtube` summary | Pay-per-use, ~$0.05/call |
  • Network accessline 874
    |---|---|---|---| | `XAI_API_KEY` | [console.x.ai](https://console.x.ai) | `/x-read`, `/x-pulse`, `/research-deep` X pulse, `/youtube` summary | Pay-per-use, ~$0.05/call | | `PERPLEXITY_API_KEY` | [perplexity.ai/settings/api](https://perple
  • Network accessline 875
    [Credential-related source omitted]
  • Access to secretsline 875
    [Credential-related source omitted]
  • Network accessline 876
    [Credential-related source omitted]
  • Access to secretsline 876
    [Credential-related source omitted]
  • Network accessline 877
    [Credential-related source omitted]
  • Access to secretsline 877
    [Credential-related source omitted]
  • Network accessline 878
    [Credential-related source omitted]
  • Access to secretsline 878
    [Credential-related source omitted]
  • Network accessline 879
    [Credential-related source omitted]
  • Access to secretsline 879
    [Credential-related source omitted]
  • Network accessline 889
    - **Local + private (recommended), via [Ollama](https://ollama.com):** install Ollama, `ollama pull bge-m3`, then build the index: `uv run python scripts/eval/semantic_search.py --path "<vault>" --build`. Your notes never leave the machine.
  • Network accessline 992
    ### Can I run this alongside another Obsidian plugin? Yes, and nothing breaks at the hook level. Claude Code merges hook entries instead of replacing them, and "All matching hooks run in parallel" ([docs](https://code.claude.com/docs/en/hoo
  • Network accessline 993
    Yes, and nothing breaks at the hook level. Claude Code merges hook entries instead of replacing them, and "All matching hooks run in parallel" ([docs](https://code.claude.com/docs/en/hooks)). Both SessionStart hooks fire and both outputs re
  • Network accessline 1005
    ### Where do I file issues or feature requests? Command reference: https://eugeniughelbur.github.io/obsidian-second-brain/ - every command, with the plain-language phrases that trigger it in English, German, Spanish, Portuguese and Simplifi
  • Network accessline 1006
    Command reference: https://eugeniughelbur.github.io/obsidian-second-brain/ - every command, with the plain-language phrases that trigger it in English, German, Spanish, Portuguese and Simplified Chinese.
  • Network accessline 1012
    GitHub Issues: https://github.com/eugeniughelbur/obsidian-second-brain/issues. PRs welcome, see Contributing below.
  • Network accessline 1026
    Inspired by [Andrey Karpathy's LLM-Wiki](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f).
  • Network accessline 1032
    **Want a specific place to start?** [Good first issues](https://github.com/eugeniughelbur/obsidian-second-brain/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) are scoped to name the exact files and lines, what to watch out fo
  • Network accessline 1043
    Building a domain-specific fork (academic, legal, finance, medical)? See [ECOSYSTEM.md](ECOSYSTEM.md). The upstream repo ships primitives; forks own the domain knowledge. First proof case: [`scholarbrain`](https://github.com/SHzzzAyys/schol
  • Network accessline 1049
    This project is maintained by one person but built with many. 18+ external contributors have landed merged PRs - security fixes, platform ports (Pi came from a contributor), Windows compatibility, translations, and the first automated test.
  • Network accessline 1059
    [![Sponsor on GitHub](https://img.shields.io/badge/Sponsor-eugeniughelbur-EA4AAA?style=for-the-badge&logo=github-sponsors&logoColor=white)](https://github.com/sponsors/eugeniughelbur)
  • Network accessline 1075
    <a href="https://x.com/eugeniu_ghelbur"><img src="https://img.shields.io/badge/Follow_on_X-000?style=for-the-badge&logo=x&logoColor=white" alt="Follow on X" /></a>
  • Network accessline 1076
    <a href="https://www.linkedin.com/in/eugeniu-ghelbur/"><img src="https://img.shields.io/badge/Connect_on_LinkedIn-0A66C2?style=for-the-badge&logo=data:image/svg%2Bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ij
  • Network accessline 1077
    <a href="https://theaioperator.io"><img src="https://img.shields.io/badge/Subscribe_on_Substack-FF6719?style=for-the-badge&logo=substack&logoColor=white" alt="Subscribe on Substack" /></a>
  • Network accessline 1078
    <a href="https://github.com/eugeniughelbur"><img src="https://img.shields.io/badge/Follow_on_GitHub-181717?style=for-the-badge&logo=github&logoColor=white" alt="Follow on GitHub" /></a>

SKILL.md

  • Network accessline 26
    > Claude operates your Obsidian vault as a self-rewriting knowledge base. An evolution of [Karpathy's LLM Wiki pattern](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f): sources rewrite existing pages instead of just appen
  • Network accessline 74
    # One-line install + bootstrap (asks 3 questions: vault path, your name, preset) curl -sL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Dangerous shell operationline 75
    curl -sL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 75
    curl -sL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Access to secretsline 955
    [Credential-related source omitted]
  • Access to secretsline 1033
    [Credential-related source omitted]
  • Access to secretsline 1049
    [Credential-related source omitted]
  • Access to secretsline 1063
    [Credential-related source omitted]
  • Access to secretsline 1069
    [Credential-related source omitted]
  • Instruction override signalline 1235
    # Right - read the command file and execute its steps: cd "$VAULT" && claude --dangerously-skip-permissions \
  • Instruction override signalline 1236
    cd "$VAULT" && claude --dangerously-skip-permissions \
  • Instruction override signalline 1241
    `--tools` limits which built-in tools exist in the run. Do not rely on `--allowedTools` alone: it only pre-approves tools, so with `--dangerously-skip-permissions` every other
  • Instruction override signalline 1242
    alone: it only pre-approves tools, so with `--dangerously-skip-permissions` every other
  • Instruction override signalline 1260
    1. `PostCompact` hook fires in Claude Code after context compaction 2. Hook script reads the JSON summary from stdin 3. Spawns a headless `claude --dangerously-skip-permissions -p` subprocess in the vault directory
  • Instruction override signalline 1261
    2. Hook script reads the JSON summary from stdin 3. Spawns a headless `claude --dangerously-skip-permissions -p` subprocess in the vault directory 4. Agent runs silently, propagates updates, and exits - user sees nothing
  • Instruction override signalline 1262
    3. Spawns a headless `claude --dangerously-skip-permissions -p` subprocess in the vault directory

_config.yml

  • Network accessline 16
    # SEO url: https://eugeniughelbur.github.io
  • Network accessline 17
    url: https://eugeniughelbur.github.io
  • Network accessline 23
    name: Eugeniu Ghelbur   links:     - https://github.com/eugeniughelbur
  • Network accessline 24
    links:     - https://github.com/eugeniughelbur     - https://www.linkedin.com/in/eugeniu-ghelbur/
  • Network accessline 25
    - https://github.com/eugeniughelbur
  • Network accessline 26
    - https://www.linkedin.com/in/eugeniu-ghelbur/

_includes/head_custom.html

  • Network accessline 1
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 2
    {   "@context": "https://schema.org",   "@type": "SoftwareApplication",
  • Network accessline 3
    "@context": "https://schema.org",
  • Network accessline 22
    "operatingSystem": "macOS, Linux, Windows",   "description": "A cross-CLI skill that turns any Obsidian vault into a living AI-first second brain. Runs in Claude Code, OpenAI Codex CLI, Google Gemini CLI, OpenCode, Google Antigravity, Nous 
  • Network accessline 23
    "description": "A cross-CLI skill that turns any Obsidian vault into a living AI-first second brain. Runs in Claude Code, OpenAI Codex CLI, Google Gemini CLI, OpenCode, Google Antigravity, Nous Research Hermes, Pi, and Grok Bot from one pla
  • Network accessline 24
    "url": "https://github.com/eugeniughelbur/obsidian-second-brain",
  • Network accessline 25
    "downloadUrl": "https://github.com/eugeniughelbur/obsidian-second-brain",
  • Network accessline 26
    "license": "https://opensource.org/licenses/MIT",
  • Network accessline 47
    "@type": "Person",     "name": "Eugeniu Ghelbur",     "url": "https://github.com/eugeniughelbur",
  • Network accessline 48
    "name": "Eugeniu Ghelbur",     "url": "https://github.com/eugeniughelbur",     "sameAs": [
  • Network accessline 49
    "url": "https://github.com/eugeniughelbur",
  • Network accessline 50
    "sameAs": [       "https://x.com/eugeniu_ghelbur",       "https://www.linkedin.com/in/eugeniu-ghelbur/",
  • Network accessline 51
    "https://x.com/eugeniu_ghelbur",
  • Network accessline 52
    "https://www.linkedin.com/in/eugeniu-ghelbur/",
  • Network accessline 53
    "https://theaioperator.io"
  • Network accessline 60
    <script type="application/ld+json"> {   "@context": "https://schema.org",
  • Network accessline 61
    {   "@context": "https://schema.org",   "@type": "FAQPage",
  • Network accessline 62
    "@context": "https://schema.org",

adapters/OWNERS.md

  • Network accessline 19
    |---|---|---| | agent-skills | unclaimed | | | claude-code | [@born-in-autumn](https://github.com/born-in-autumn) | [@MPZ-00](https://github.com/MPZ-00) |
  • Network accessline 20
    | agent-skills | unclaimed | | | claude-code | [@born-in-autumn](https://github.com/born-in-autumn) | [@MPZ-00](https://github.com/MPZ-00) | | codex-cli | [@Palo-Alto-AI-Research-Lab](https://github.com/Palo-Alto-AI-Research-Lab) | [@Litash
  • Network accessline 21
    | claude-code | [@born-in-autumn](https://github.com/born-in-autumn) | [@MPZ-00](https://github.com/MPZ-00) |
  • Network accessline 22
    | codex-cli | [@Palo-Alto-AI-Research-Lab](https://github.com/Palo-Alto-AI-Research-Lab) | [@Litash](https://github.com/Litash), [@MPZ-00](https://github.com/MPZ-00) |
  • Network accessline 23
    | gemini-cli | unclaimed | [@MPZ-00](https://github.com/MPZ-00) |
  • Network accessline 24
    | grok-bot | unclaimed | | | hermes | unclaimed | [@Litash](https://github.com/Litash) | | opencode | unclaimed | [@Litash](https://github.com/Litash), [@MPZ-00](https://github.com/MPZ-00) |
  • Network accessline 25
    | hermes | unclaimed | [@Litash](https://github.com/Litash) |
  • Network accessline 26
    | opencode | unclaimed | [@Litash](https://github.com/Litash), [@MPZ-00](https://github.com/MPZ-00) |
  • Network accessline 70
    Comment on [issue #171](https://github.com/eugeniughelbur/obsidian-second-brain/issues/171)

adapters/agent-skills/adapter.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 237
    [\`skills\`](https://github.com/vercel-labs/skills) (\`npx skills\`) is a

adapters/claude-code/adapter.sh

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

adapters/codex-cli/adapter.sh

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

adapters/gemini-cli/adapter.sh

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

adapters/grok-bot/adapter.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 266
    What you need: a plan that includes Grok Bot. Premium, Super and Ultra on The X Subscription include it, with one weekly usage pool shared with Grok and Cursor. Older paid Cursor plans and linked SuperGrok or X Premium+ accounts work too (h

adapters/hermes/adapter.sh

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

adapters/lib.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 140
    rm -f "$tmp_index"
  • Dangerous shell operationline 252
    rm -f "$index"
  • Network accessline 515
    [[ -n "$owner" ]] || return 0   [[ -f "$dst/INSTALL.md" ]] || return 0   printf '\n---\n\nThis build is maintained by %s. Issues specific to this platform are theirs to triage: https://github.com/eugeniughelbur/obsidian-second-brain/issues\
  • Network accessline 516
    [[ -f "$dst/INSTALL.md" ]] || return 0   printf '\n---\n\nThis build is maintained by %s. Issues specific to this platform are theirs to triage: https://github.com/eugeniughelbur/obsidian-second-brain/issues\n' \     "$owner" >> "$dst/INSTA
  • Network accessline 517
    printf '\n---\n\nThis build is maintained by %s. Issues specific to this platform are theirs to triage: https://github.com/eugeniughelbur/obsidian-second-brain/issues\n' \

adapters/opencode/adapter.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 111
    [Credential-related source omitted]
  • Network accessline 113
    ```json {   "$schema": "https://opencode.ai/config.json",
  • Network accessline 114
    {   "$schema": "https://opencode.ai/config.json",   "model": "openrouter/nousresearch/hermes-4-70b",
  • Network accessline 115
    "$schema": "https://opencode.ai/config.json",

adapters/pi/adapter.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 43
    "repository": {     "type": "git",     "url": "https://github.com/eugeniughelbur/obsidian-second-brain.git"
  • Network accessline 44
    "type": "git",     "url": "https://github.com/eugeniughelbur/obsidian-second-brain.git"   },
  • Network accessline 45
    "url": "https://github.com/eugeniughelbur/obsidian-second-brain.git"
  • Network accessline 182
    ```bash git clone https://github.com/eugeniughelbur/obsidian-second-brain.git
  • Network accessline 183
    git clone https://github.com/eugeniughelbur/obsidian-second-brain.git

commands/create-command.md

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

commands/notebooklm.md

  • Network accessline 44
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]

commands/obsidian-health.md

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

commands/obsidian-ingest.md

  • Network accessline 78
    **Method C - oEmbed fallback (works everywhere, limited data):**    Fetch `https://www.youtube.com/oembed?url=URL&format=json` - gives title and channel only. Ask user to paste description for full ingest.
  • Network accessline 79
    Fetch `https://www.youtube.com/oembed?url=URL&format=json` - gives title and channel only. Ask user to paste description for full ingest.

commands/obsidian-retrieval-eval.md

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

commands/podcast.md

  • Network accessline 13
    1. Resolve the podcast URL from the user's argument. Accept any of:    - Apple Podcasts episode URL (`https://podcasts.apple.com/.../id<show>?i=<episode>`)
  • Network accessline 14
    - Apple Podcasts episode URL (`https://podcasts.apple.com/.../id<show>?i=<episode>`)
  • Network accessline 15
    - Spotify episode URL (`https://open.spotify.com/episode/<id>`) - Spotify's own audio is DRM-locked, so the script bridges it to the show's public RSS feed: it reads the episode title from Spotify's key-free oEmbed endpoint, finds that epis
  • Access to secretsline 31
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 43
    [Credential-related source omitted]

commands/research-deep.md

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

commands/research.md

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

commands/youtube.md

  • Network accessline 13
    1. Resolve the YouTube URL or video ID from the user's argument. Accept any of: full URL (`https://www.youtube.com/watch?v=...`), `https://youtu.be/...`, `https://www.youtube.com/shorts/...`, or just the 11-character video ID. If no input g
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 43
    [Credential-related source omitted]

docs/commands/create-command.html

  • Network accessline 79
    <li>生成命令模板</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/create-command.md">Read what this command actually does</a> - the command file is the instruction set the agent follow
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/create-command.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/create-command.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/crew.html

  • Network accessline 70
    <li>查看 Crew 日志</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/crew.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and
  • Network accessline 71
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/crew.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markdow
  • Network accessline 72
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/crew.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markdown.</p>
  • Network accessline 73
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 74
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 75
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/idea-discovery.html

  • Network accessline 79
    <li>从笔记里发现新方向</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/idea-discovery.md">Read what this command actually does</a> - the command file is the instruction set the agent fol
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/idea-discovery.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/idea-discovery.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/notebooklm.html

  • Network accessline 84
    <li>用 NotebookLM 研究</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/notebooklm.md">Read what this command actually does</a> - the command file is the instruction set the agent f
  • Network accessline 85
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/notebooklm.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain m
  • Network accessline 86
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/notebooklm.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markdow
  • Network accessline 87
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 88
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 89
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-architect.html

  • Network accessline 84
    <li>更新架构文档</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-architect.md">Read what this command actually does</a> - the command file is the instruction set the agent fo
  • Network accessline 85
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-architect.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is
  • Network accessline 86
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-architect.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain
  • Network accessline 87
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 88
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 89
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-board-hygiene.html

  • Network accessline 83
    <li>批量梳理看板</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-board-hygiene.md">Read what this command actually does</a> - the command file is the instruction set the agen
  • Network accessline 84
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-board-hygiene.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and i
  • Network accessline 85
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-board-hygiene.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is p
  • Network accessline 86
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 87
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 88
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-board.html

  • Network accessline 79
    <li>查看任务看板</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-board.md">Read what this command actually does</a> - the command file is the instruction set the agent follow
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-board.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-board.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-brainstorm.html

  • Network accessline 82
    <li>帮我设计这个方案</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-brainstorm.md">Read what this command actually does</a> - the command file is the instruction set the agent
  • Network accessline 83
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-brainstorm.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it i
  • Network accessline 84
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-brainstorm.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plai
  • Network accessline 85
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 86
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 87
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-calendar.html

  • Network accessline 136
    <li>给这个任务找个时间</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-calendar.md">Read what this command actually does</a> - the command file is the instruction set the agent 
  • Network accessline 137
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-calendar.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is 
  • Network accessline 138
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-calendar.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain 
  • Network accessline 139
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 140
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 141
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-capture.html

  • Network accessline 78
    <li>随手记一下</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-capture.md">Read what this command actually does</a> - the command file is the instruction set the agent follo
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-capture.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is p
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-capture.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain m
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-catchup.html

  • Network accessline 97
    <li>把最近随手记的内容过一遍</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-catchup.md">Read what this command actually does</a> - the command file is the instruction set the agen
  • Network accessline 98
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-catchup.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is p
  • Network accessline 99
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-catchup.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain m
  • Network accessline 100
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 101
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 102
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-challenge.html

  • Network accessline 80
    <li>别客气地质疑我</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-challenge.md">Read what this command actually does</a> - the command file is the instruction set the agent f
  • Network accessline 81
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-challenge.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is
  • Network accessline 82
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-challenge.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain
  • Network accessline 83
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 84
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 85
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-checkin.html

  • Network accessline 78
    <li>问我旧笔记有没有更新</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-checkin.md">Read what this command actually does</a> - the command file is the instruction set the agent 
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-checkin.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is p
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-checkin.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain m
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-connect.html

  • Network accessline 78
    <li>用我的笔记做跨界联想</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-connect.md">Read what this command actually does</a> - the command file is the instruction set the agent 
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-connect.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is p
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-connect.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain m
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-daily.html

  • Network accessline 79
    <li>看看今天要做什么</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-daily.md">Read what this command actually does</a> - the command file is the instruction set the agent foll
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-daily.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-daily.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-decide.html

  • Network accessline 90
    <li>写一份 ADR</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-decide.md">Read what this command actually does</a> - the command file is the instruction set the agent foll
  • Network accessline 91
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-decide.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pl
  • Network accessline 92
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-decide.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain ma
  • Network accessline 93
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 94
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 95
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-distill.html

  • Network accessline 84
    <li>从这个来源提炼要点</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-distill.md">Read what this command actually does</a> - the command file is the instruction set the agent f
  • Network accessline 85
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-distill.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is p
  • Network accessline 86
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-distill.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain m
  • Network accessline 87
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 88
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 89
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-emerge.html

  • Network accessline 79
    <li>看看反复出现的主题</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-emerge.md">Read what this command actually does</a> - the command file is the instruction set the agent fo
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-emerge.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pl
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-emerge.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain ma
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-export.html

  • Network accessline 79
    <li>导出一份可移植的数据</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-export.md">Read what this command actually does</a> - the command file is the instruction set the agent f
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-export.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pl
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-export.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain ma
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-find.html

  • Network accessline 79
    <li>我写过关于这个吗</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-find.md">Read what this command actually does</a> - the command file is the instruction set the agent follo
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-find.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plai
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-find.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mark
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-graduate.html

  • Network accessline 78
    <li>把它拆成项目和任务</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-graduate.md">Read what this command actually does</a> - the command file is the instruction set the agent 
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-graduate.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is 
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-graduate.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain 
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-health.html

  • Network accessline 78
    <li>诊断知识库问题</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-health.md">Read what this command actually does</a> - the command file is the instruction set the agent foll
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-health.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pl
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-health.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain ma
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-ingest.html

  • Network accessline 80
    <li>消化这份材料</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-ingest.md">Read what this command actually does</a> - the command file is the instruction set the agent follo
  • Network accessline 81
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-ingest.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pl
  • Network accessline 82
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-ingest.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain ma
  • Network accessline 83
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 84
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 85
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-init.html

  • Network accessline 80
    <li>生成知识库操作手册</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-init.md">Read what this command actually does</a> - the command file is the instruction set the agent foll
  • Network accessline 81
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-init.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plai
  • Network accessline 82
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-init.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mark
  • Network accessline 83
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 84
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 85
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-learn.html

  • Network accessline 78
    <li>清理过时的学习记录</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-learn.md">Read what this command actually does</a> - the command file is the instruction set the agent fol
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-learn.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-learn.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-log.html

  • Network accessline 78
    <li>保存这次开发日志</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-log.md">Read what this command actually does</a> - the command file is the instruction set the agent follow
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-log.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-log.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markd
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-merge.html

  • Network accessline 75
    <li>把这些近似重复的笔记合并</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-merge.md">Read what this command actually does</a> - the command file is the instruction set the agent 
  • Network accessline 76
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-merge.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 77
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-merge.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 78
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 79
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 80
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-panel.html

  • Network accessline 83
    <li>不同专家会怎么看</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-panel.md">Read what this command actually does</a> - the command file is the instruction set the agent foll
  • Network accessline 84
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-panel.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 85
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-panel.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 86
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 87
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 88
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-person.html

  • Network accessline 78
    <li>更新这个人的资料</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-person.md">Read what this command actually does</a> - the command file is the instruction set the agent fol
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-person.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pl
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-person.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain ma
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-project.html

  • Network accessline 79
    <li>为项目建立基本结构</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-project.md">Read what this command actually does</a> - the command file is the instruction set the agent f
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-project.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is p
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-project.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain m
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-projects.html

  • Network accessline 78
    <li>显示项目总览</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-projects.md">Read what this command actually does</a> - the command file is the instruction set the agent fol
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-projects.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is 
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-projects.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain 
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-recap.html

  • Network accessline 78
    <li>生成本月摘要</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-recap.md">Read what this command actually does</a> - the command file is the instruction set the agent follow
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-recap.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-recap.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-reconcile.html

  • Network accessline 78
    <li>让知识库里的事实保持一致</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-reconcile.md">Read what this command actually does</a> - the command file is the instruction set the ag
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-reconcile.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-reconcile.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-recurring.html

  • Network accessline 83
    <li>记录一件要定期处理的事</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-recurring.md">Read what this command actually does</a> - the command file is the instruction set the age
  • Network accessline 84
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-recurring.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is
  • Network accessline 85
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-recurring.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain
  • Network accessline 86
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 87
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 88
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-reindex.html

  • Network accessline 78
    <li>重新索引我的知识库</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-reindex.md">Read what this command actually does</a> - the command file is the instruction set the agent f
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-reindex.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is p
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-reindex.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain m
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-retrieval-eval.html

  • Network accessline 83
    <li>检查搜索能不能找到正确笔记</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-retrieval-eval.md">Read what this command actually does</a> - the command file is the instruction set 
  • Network accessline 84
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-retrieval-eval.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and 
  • Network accessline 85
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-retrieval-eval.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is 
  • Network accessline 86
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 87
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 88
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-review.html

  • Network accessline 78
    <li>生成本月复盘</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-review.md">Read what this command actually does</a> - the command file is the instruction set the agent follo
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-review.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pl
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-review.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain ma
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-save.html

  • Network accessline 78
    <li>保存到我的知识库</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-save.md">Read what this command actually does</a> - the command file is the instruction set the agent follo
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-save.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plai
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-save.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mark
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-synthesize.html

  • Network accessline 79
    <li>扫描知识库并形成综合结论</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-synthesize.md">Read what this command actually does</a> - the command file is the instruction set the a
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-synthesize.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it i
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-synthesize.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plai
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-task.html

  • Network accessline 79
    <li>把这件事放到看板</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-task.md">Read what this command actually does</a> - the command file is the instruction set the agent follo
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-task.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plai
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-task.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mark
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-visualize.html

  • Network accessline 78
    <li>看看知识库的整体结构</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-visualize.md">Read what this command actually does</a> - the command file is the instruction set the agen
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-visualize.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-visualize.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/obsidian-world.html

  • Network accessline 79
    <li>先了解一下我的情况</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-world.md">Read what this command actually does</a> - the command file is the instruction set the agent fol
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-world.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/obsidian-world.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/podcast.html

  • Network accessline 78
    <li>把这期播客整理进知识库</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/podcast.md">Read what this command actually does</a> - the command file is the instruction set the agent follows,
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/podcast.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mark
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/podcast.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markdown.<
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/research-deep.html

  • Network accessline 78
    <li>全面调查这个问题</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/research-deep.md">Read what this command actually does</a> - the command file is the instruction set the agent follo
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/research-deep.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plai
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/research-deep.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mark
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/research.html

  • Network accessline 78
    <li>做一份带引用的网络研究</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/research.md">Read what this command actually does</a> - the command file is the instruction set the agent follows
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/research.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mar
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/research.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markdown.
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/vault-deep-synthesis.html

  • Network accessline 79
    <li>我的知识库对这个主题怎么说</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/vault-deep-synthesis.md">Read what this command actually does</a> - the command file is the instruction set the
  • Network accessline 80
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/vault-deep-synthesis.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it 
  • Network accessline 81
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/vault-deep-synthesis.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is pla
  • Network accessline 82
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 83
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 84
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/x-pulse.html

  • Network accessline 78
    <li>分析这个主题的社交媒体风向</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/x-pulse.md">Read what this command actually does</a> - the command file is the instruction set the agent follow
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/x-pulse.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mark
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/x-pulse.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markdown.<
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/x-read.html

  • Network accessline 78
    <li>梳理一下这串推文</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/x-read.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and
  • Network accessline 79
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/x-read.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markd
  • Network accessline 80
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/x-read.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markdown.</
  • Network accessline 81
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 82
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 83
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/commands/youtube.html

  • Network accessline 87
    <li>看看视频画面里有什么</li> </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/youtube.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, 
  • Network accessline 88
    </ul> <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/youtube.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain mark
  • Network accessline 89
    <p class="note"><a href="https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/commands/youtube.md">Read what this command actually does</a> - the command file is the instruction set the agent follows, and it is plain markdown.<
  • Network accessline 90
    <footer> <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 91
    <a href="../index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 92
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

docs/index.html

  • Network accessline 108
    <footer> <a href="index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>
  • Network accessline 109
    <a href="index.html">All commands</a> &middot; <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> </footer>
  • Network accessline 110
    <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a>

examples/sample-vault/_CLAUDE.md

  • Network accessline 9
    This vault is for **future agent**, not human reading. Every note Claude writes or updates must follow [`references/ai-first-rules.md`](https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/references/ai-first-rules.md):

hooks/load_vault_context.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 74
    [Credential-related source omitted]

hooks/load_vault_context.sh

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

hooks/obsidian-bg-agent.hook.yaml

  • Instruction override signalline 4
    conversation context, spawns a headless Claude subprocess that propagates   vault-worthy items from the compaction summary into the vault. TRUST-GATED:   it writes UNATTENDED with --dangerously-skip-permissions, so it ships inert.
  • Instruction override signalline 5
    vault-worthy items from the compaction summary into the vault. TRUST-GATED:   it writes UNATTENDED with --dangerously-skip-permissions, so it ships inert.   It requires BOTH OBSIDIAN_VAULT_PATH and OBSIDIAN_BG_AGENT_ENABLED=1, plus a
  • Instruction override signalline 6
    it writes UNATTENDED with --dangerously-skip-permissions, so it ships inert.

hooks/obsidian-bg-agent.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Instruction override signalline 7
    # # TRUST CAVEAT: this agent writes to the vault UNATTENDED using # --dangerously-skip-permissions. For that reason it is OPT-IN and ships INERT.
  • Instruction override signalline 8
    # TRUST CAVEAT: this agent writes to the vault UNATTENDED using # --dangerously-skip-permissions. For that reason it is OPT-IN and ships INERT. # It requires BOTH of the following before it does anything:
  • Instruction override signalline 9
    # --dangerously-skip-permissions. For that reason it is OPT-IN and ships INERT.
  • Network accessline 72
    filter+=", ${key}:\$${key}"   done   jq -nc "${jq_args[@]}" "$filter}" >> "$file" 2>/dev/null \
  • Network accessline 73
    done   jq -nc "${jq_args[@]}" "$filter}" >> "$file" 2>/dev/null \     || printf '{"run_id":"%s","status":"_log_run_error","for":"%s"}\n' "$RUN_ID" "$status" >> "$file"
  • Network accessline 74
    jq -nc "${jq_args[@]}" "$filter}" >> "$file" 2>/dev/null \
  • Dangerous shell operationline 92
    trap 'rm -f "$LOCK"' EXIT
  • Instruction override signalline 232
    # --allowedTools only pre-approves tools and, on its own, leaves every other   # built-in tool (Bash, WebFetch, WebSearch, ...) available - and with   # --dangerously-skip-permissions nothing would stop them. --allowedTools stays
  • Instruction override signalline 233
    # built-in tool (Bash, WebFetch, WebSearch, ...) available - and with   # --dangerously-skip-permissions nothing would stop them. --allowedTools stays   # as a harmless pre-approval for the same list. MCP tools are not covered by
  • Instruction override signalline 234
    # --dangerously-skip-permissions nothing would stop them. --allowedTools stays
  • Instruction override signalline 237
    claude --dangerously-skip-permissions --strict-mcp-config \
  • Dangerous shell operationline 242
    rm -f "$PROMPT_FILE"

hooks/obsidian-hermes-session-end.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 93
    rm -f "$LOCK"
  • Dangerous shell operationline 107
    rm -f "$LOCK"; emit_noop; exit 0
  • Dangerous shell operationline 112
    { printf '%s\n' "$NOW" > "$STAMP_TMP" && mv -f "$STAMP_TMP" "$STAMP"; } 2>/dev/null      || rm -f "$STAMP_TMP"
  • Dangerous shell operationline 113
    || rm -f "$STAMP_TMP"
  • Dangerous shell operationline 124
    trap 'rm -f "$LOCK"' EXIT

hooks/obsidian-recall.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]

hooks/postcompact.hook.example.json

  • Instruction override signalline 2
    // // OPT-IN / DISABLED BY DEFAULT. The background agent writes to your vault // UNATTENDED with --dangerously-skip-permissions, so it ships inert. It does
  • Instruction override signalline 3
    // OPT-IN / DISABLED BY DEFAULT. The background agent writes to your vault // UNATTENDED with --dangerously-skip-permissions, so it ships inert. It does // nothing until BOTH env vars below are set AND the PostCompact hook is
  • Instruction override signalline 4
    // UNATTENDED with --dangerously-skip-permissions, so it ships inert. It does

hooks/validate-ai-first.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 185
    [Credential-related source omitted]
  • Access to secretsline 230
    [Credential-related source omitted]
  • Access to secretsline 231
    [Credential-related source omitted]
  • Access to secretsline 239
    [Credential-related source omitted]
  • Access to secretsline 240
    [Credential-related source omitted]
  • Dangerous shell operationline 267
    trap 'rm -f "$CR_FREE"' EXIT
  • Access to secretsline 505
    [Credential-related source omitted]

install.sh

  • Executable scriptline 1
    #!/bin/bash
  • Network accessline 68
    echo "Symlink failed (requires Developer Mode). For the cleanest setup,"     echo "clone the repo directly into the skills folder:"     echo "  git clone https://github.com/eugeniughelbur/obsidian-second-brain \"$SKILLS_DIR/obsidian-second-
  • Network accessline 69
    echo "clone the repo directly into the skills folder:"     echo "  git clone https://github.com/eugeniughelbur/obsidian-second-brain \"$SKILLS_DIR/obsidian-second-brain\""     echo "Then re-run install.sh from that location."
  • Network accessline 70
    echo "  git clone https://github.com/eugeniughelbur/obsidian-second-brain \"$SKILLS_DIR/obsidian-second-brain\""
  • Network accessline 107
    case "$(uname -s)" in       Darwin)               uv_hint="brew install uv" ;;       Linux)                uv_hint="curl -LsSf https://astral.sh/uv/install.sh | sh" ;;
  • Network accessline 108
    Darwin)               uv_hint="brew install uv" ;;       Linux)                uv_hint="curl -LsSf https://astral.sh/uv/install.sh | sh" ;;       MINGW*|MSYS*|CYGWIN*) uv_hint="powershell -c \"irm https://astral.sh/uv/install.ps1 | iex\"" ;
  • Dangerous shell operationline 109
    Linux)                uv_hint="curl -LsSf https://astral.sh/uv/install.sh | sh" ;;
  • Network accessline 109
    Linux)                uv_hint="curl -LsSf https://astral.sh/uv/install.sh | sh" ;;
  • Network accessline 110
    MINGW*|MSYS*|CYGWIN*) uv_hint="powershell -c \"irm https://astral.sh/uv/install.ps1 | iex\"" ;;
  • Network accessline 111
    *)                    uv_hint="see https://docs.astral.sh/uv/getting-started/installation/" ;;
  • Access to secretsline 121
    [Credential-related source omitted]
  • Network accessline 131
    [Credential-related source omitted]
  • Network accessline 132
    [Credential-related source omitted]
  • Network accessline 133
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Network accessline 134
    [Credential-related source omitted]
  • Access to secretsline 134
    [Credential-related source omitted]
  • Network accessline 135
    [Credential-related source omitted]
  • Access to secretsline 135
    [Credential-related source omitted]

integrations/obsidian-mcp-server/README.md

  • Network accessline 3
    An MCP server that turns an Obsidian vault into a set of tools any MCP client can call - [Hermes Agent](https://github.com/NousResearch/hermes-agent) (via `discover_mcp_tools()`), Claude Desktop, Claude Code, or Cursor.
  • Network accessline 5
    This is the connector half of [Issue #60](https://github.com/eugeniughelbur/obsidian-second-brain/issues/60): the agent gets a doorway to **use** your vault as a knowledge second brain (search it, read it, add to it) **without** the vault b

integrations/obsidian-mcp-server/live_test.py

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

integrations/obsidian-mcp-server/server.py

  • Executable scriptline 1
    Executable file

integrations/obsidian-mcp-server/vault_ops.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Access to secretsline 139
    [Credential-related source omitted]
  • Access to secretsline 219
    [Credential-related source omitted]
  • Network accessline 227
    _SEMANTIC_INDEX_FILE = ".obsidian-semantic-index.json" _OLLAMA_URL = os.environ.get("OLLAMA_URL", "http://localhost:11434").rstrip("/")
  • Network accessline 228
    [Credential-related source omitted]
  • Access to secretsline 228
    [Credential-related source omitted]
  • Access to secretsline 229
    [Credential-related source omitted]
  • Access to secretsline 232
    [Credential-related source omitted]
  • Access to secretsline 233
    [Credential-related source omitted]
  • Access to secretsline 234
    [Credential-related source omitted]
  • Access to secretsline 235
    [Credential-related source omitted]
  • Access to secretsline 245
    [Credential-related source omitted]
  • Access to secretsline 257
    [Credential-related source omitted]
  • Access to secretsline 266
    [Credential-related source omitted]
  • Access to secretsline 275
    [Credential-related source omitted]
  • Access to secretsline 312
    [Credential-related source omitted]
  • Access to secretsline 314
    [Credential-related source omitted]
  • Network accessline 379
    body = json.dumps({"model": model, "prompt": text[:1200], "keep_alive": "15m"}).encode()         url = f"{_EMBED_URL}/api/embeddings"     req = urllib.request.Request(url, data=body, headers=headers if _EMBED_BACKEND == "openai"
  • Network accessline 380
    url = f"{_EMBED_URL}/api/embeddings"     req = urllib.request.Request(url, data=body, headers=headers if _EMBED_BACKEND == "openai"                                 else {"Content-Type": "application/json"})
  • Network accessline 381
    req = urllib.request.Request(url, data=body, headers=headers if _EMBED_BACKEND == "openai"
  • Network accessline 382
    else {"Content-Type": "application/json"})     with urllib.request.urlopen(req, timeout=10) as r:         data = json.loads(r.read())
  • Network accessline 383
    with urllib.request.urlopen(req, timeout=10) as r:
  • Access to secretsline 416
    [Credential-related source omitted]
  • Access to secretsline 785
    [Credential-related source omitted]
  • Access to secretsline 860
    [Credential-related source omitted]
  • Access to secretsline 864
    [Credential-related source omitted]
  • Access to secretsline 1435
    [Credential-related source omitted]

integrations/obsidian-plugin/README.md

  • Network accessline 22
    - **It does not edit your notes.** Read-only, always. - **It does not flag URLs inside code fences or inline code.** A curl example is
  • Network accessline 23
    - **It does not flag URLs inside code fences or inline code.** A curl example is
  • Network accessline 47
    This is the spec's checks, standing alone. The [full project](https://github.com/eugeniughelbur/obsidian-second-brain) enforces
  • Network accessline 48
    [full project](https://github.com/eugeniughelbur/obsidian-second-brain) enforces

integrations/obsidian-plugin/esbuild.config.mjs

  • Executable scriptline 1
    Executable file

integrations/obsidian-plugin/manifest.json

  • Network accessline 6
    "description": "Check your vault against the AI-First note spec: preambles, frontmatter, and undated external claims. Finds the notes an AI agent cannot use.",   "author": "Eugeniu Ghelbur",   "authorUrl": "https://github.com/eugeniughelbur
  • Network accessline 7
    "author": "Eugeniu Ghelbur",   "authorUrl": "https://github.com/eugeniughelbur/obsidian-second-brain",   "isDesktopOnly": false
  • Network accessline 8
    "authorUrl": "https://github.com/eugeniughelbur/obsidian-second-brain",

integrations/obsidian-plugin/package-lock.json

  • Network accessline 17
    "node_modules/@codemirror/state": {       "version": "6.5.0",       "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.0.tgz",
  • Network accessline 18
    "version": "6.5.0",       "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.0.tgz",       "integrity": "sha512-MwBHVK60IiIHDcoMet78lxt6iw5gJOGSbNbOIVBHWVXIH4/Nq1+GQgLLGgI1KlnN86WDXsPudVaqYHKBIx7Eyw==",
  • Network accessline 19
    "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.0.tgz",
  • Network accessline 28
    "node_modules/@codemirror/view": {       "version": "6.38.6",       "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.38.6.tgz",
  • Network accessline 29
    "version": "6.38.6",       "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.38.6.tgz",       "integrity": "sha512-qiS0z1bKs5WOvHIAC0Cybmv4AJSkAXgX5aD6Mqd2epSLlVJsQl8NG23jCVouIgkh4All/mrbdsf2UOLFnJw0tw==",
  • Network accessline 30
    "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.38.6.tgz",
  • Network accessline 42
    "node_modules/@esbuild/aix-ppc64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
  • Network accessline 43
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",       "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
  • Network accessline 44
    "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
  • Network accessline 59
    "node_modules/@esbuild/android-arm": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
  • Network accessline 60
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",       "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
  • Network accessline 61
    "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
  • Network accessline 76
    "node_modules/@esbuild/android-arm64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
  • Network accessline 77
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",       "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
  • Network accessline 78
    "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
  • Network accessline 93
    "node_modules/@esbuild/android-x64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
  • Network accessline 94
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",       "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
  • Network accessline 95
    "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
  • Network accessline 110
    "node_modules/@esbuild/darwin-arm64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
  • Network accessline 111
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",       "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
  • Network accessline 112
    "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
  • Network accessline 127
    "node_modules/@esbuild/darwin-x64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
  • Network accessline 128
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",       "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
  • Network accessline 129
    "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
  • Network accessline 144
    "node_modules/@esbuild/freebsd-arm64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
  • Network accessline 145
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",       "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
  • Network accessline 146
    "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
  • Network accessline 161
    "node_modules/@esbuild/freebsd-x64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
  • Network accessline 162
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",       "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
  • Network accessline 163
    "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
  • Network accessline 178
    "node_modules/@esbuild/linux-arm": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
  • Network accessline 179
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",       "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
  • Network accessline 180
    "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
  • Network accessline 195
    "node_modules/@esbuild/linux-arm64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
  • Network accessline 196
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",       "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
  • Network accessline 197
    "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
  • Network accessline 212
    "node_modules/@esbuild/linux-ia32": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
  • Network accessline 213
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",       "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
  • Network accessline 214
    "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
  • Network accessline 229
    "node_modules/@esbuild/linux-loong64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
  • Network accessline 230
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",       "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
  • Network accessline 231
    "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
  • Network accessline 246
    "node_modules/@esbuild/linux-mips64el": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
  • Network accessline 247
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",       "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
  • Network accessline 248
    "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
  • Network accessline 263
    "node_modules/@esbuild/linux-ppc64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
  • Network accessline 264
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",       "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
  • Network accessline 265
    "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
  • Network accessline 280
    "node_modules/@esbuild/linux-riscv64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
  • Network accessline 281
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",       "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
  • Network accessline 282
    "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
  • Network accessline 297
    "node_modules/@esbuild/linux-s390x": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
  • Network accessline 298
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",       "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
  • Network accessline 299
    "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
  • Network accessline 314
    "node_modules/@esbuild/linux-x64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
  • Network accessline 315
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",       "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
  • Network accessline 316
    "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
  • Network accessline 331
    "node_modules/@esbuild/netbsd-x64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
  • Network accessline 332
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",       "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
  • Network accessline 333
    "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
  • Network accessline 348
    "node_modules/@esbuild/openbsd-x64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
  • Network accessline 349
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",       "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
  • Network accessline 350
    "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
  • Network accessline 365
    "node_modules/@esbuild/sunos-x64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
  • Network accessline 366
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",       "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
  • Network accessline 367
    "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
  • Network accessline 382
    "node_modules/@esbuild/win32-arm64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
  • Network accessline 383
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",       "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
  • Network accessline 384
    "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
  • Network accessline 399
    "node_modules/@esbuild/win32-ia32": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
  • Network accessline 400
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",       "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
  • Network accessline 401
    "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
  • Network accessline 416
    "node_modules/@esbuild/win32-x64": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
  • Network accessline 417
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",       "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
  • Network accessline 418
    "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
  • Network accessline 433
    "node_modules/@marijn/find-cluster-break": {       "version": "1.0.3",       "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.3.tgz",
  • Network accessline 434
    "version": "1.0.3",       "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.3.tgz",       "integrity": "sha512-FY+MKLBoTsLNJF/eLWaOsXGdz6uh3Iu1axjPf6TUq92IYumcTcXWHoS747JARLkcdlJ/Waiaxc5wQfFO8jC6NA=
  • Network accessline 435
    "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.3.tgz",
  • Network accessline 441
    "node_modules/@types/codemirror": {       "version": "5.60.8",       "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz",
  • Network accessline 442
    "version": "5.60.8",       "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz",       "integrity": "sha512-VjFgDF/eB+Aklcy15TtOTLQeMjTo07k7KAjql8OK5Dirr7a6sJY4T1uVBDuTVG9VEmn1uUsohOpYnVfgC6/jyw==",
  • Network accessline 443
    "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.8.tgz",
  • Network accessline 451
    "node_modules/@types/estree": {       "version": "1.0.9",       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
  • Network accessline 452
    "version": "1.0.9",       "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",       "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==",
  • Network accessline 453
    "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz",
  • Network accessline 458
    "node_modules/@types/node": {       "version": "20.19.43",       "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz",
  • Network accessline 459
    "version": "20.19.43",       "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz",       "integrity": "sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==",
  • Network accessline 460
    "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.43.tgz",
  • Network accessline 468
    "node_modules/@types/tern": {       "version": "0.23.9",       "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz",
  • Network accessline 469
    "version": "0.23.9",       "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz",       "integrity": "sha512-ypzHFE/wBzh+BlH6rrBgS5I/Z7RD21pGhZ2rltb/+ZrVM1awdZwjx7hE5XfuYgHWk9uvV5HLZN3SloevCAp3Bw==",
  • Network accessline 470
    "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.9.tgz",
  • Network accessline 478
    "node_modules/crelt": {       "version": "1.0.7",       "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.7.tgz",
  • Network accessline 479
    "version": "1.0.7",       "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.7.tgz",       "integrity": "sha512-aK6BbWfhf4U/wCcLHKPJl/xa6VkVstRaPywWtMKGwuOLc/wZTyQYuoxgvZnNsBvv7Kg3YTBQYYBCggcviQczuA==",
  • Network accessline 480
    "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.7.tgz",
  • Network accessline 486
    "node_modules/esbuild": {       "version": "0.21.5",       "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
  • Network accessline 487
    "version": "0.21.5",       "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",       "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
  • Network accessline 488
    "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
  • Network accessline 525
    "node_modules/moment": {       "version": "2.29.4",       "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
  • Network accessline 526
    "version": "2.29.4",       "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",       "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
  • Network accessline 527
    "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
  • Network accessline 535
    "node_modules/obsidian": {       "version": "1.13.1",       "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.13.1.tgz",
  • Network accessline 536
    "version": "1.13.1",       "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.13.1.tgz",       "integrity": "sha512-qtTEA2pmhJzhuhJqzbBFRYhpIOqvW+krDYjtFynv66KbxBbumHBlsJfWw3I4jtnK/6fZwbQhCrmmDdRwXmX56w==",
  • Network accessline 537
    "resolved": "https://registry.npmjs.org/obsidian/-/obsidian-1.13.1.tgz",
  • Network accessline 550
    "node_modules/style-mod": {       "version": "4.1.3",       "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz",
  • Network accessline 551
    "version": "4.1.3",       "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz",       "integrity": "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==",
  • Network accessline 552
    "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz",
  • Network accessline 558
    "node_modules/typescript": {       "version": "5.9.3",       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
  • Network accessline 559
    "version": "5.9.3",       "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",       "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
  • Network accessline 560
    "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
  • Network accessline 572
    "node_modules/undici-types": {       "version": "6.21.0",       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
  • Network accessline 573
    "version": "6.21.0",       "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",       "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
  • Network accessline 574
    "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
  • Network accessline 579
    "node_modules/w3c-keyname": {       "version": "2.2.8",       "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
  • Network accessline 580
    "version": "2.2.8",       "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",       "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
  • Network accessline 581
    "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",

integrations/obsidian-plugin/package.json

  • Executable scriptline 1
    Executable file

integrations/obsidian-plugin/src/lint.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 65
    * Strip fenced code blocks before scanning prose.  *  * Without this, a README-style note containing a curl example is reported as an
  • Network accessline 66
    *  * Without this, a README-style note containing a curl example is reported as an  * undated external claim on every rebuild, which is the kind of false positive
  • Network accessline 67
    * Without this, a README-style note containing a curl example is reported as an

integrations/obsidian-plugin/src/main.ts

  • Executable scriptline 1
    Executable file
  • Network accessline 27
    export const VIEW_TYPE = "ai-first-lint-view"; const SPEC_URL =   "https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/AI-FIRST.md";
  • Network accessline 29
    "https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/AI-FIRST.md";

integrations/obsidian-plugin/test/lint.test.mjs

  • Executable scriptline 1
    Executable file
  • Network accessline 82
    const text = GOOD.replace(     "Body text with a dated source (as of 2026-07, example.com/thing).",     "They raised a Series A, https://example.com/blog/series-a",
  • Network accessline 83
    "Body text with a dated source (as of 2026-07, example.com/thing).",     "They raised a Series A, https://example.com/blog/series-a",   );
  • Network accessline 84
    "They raised a Series A, https://example.com/blog/series-a",
  • Network accessline 111
    const text = GOOD.replace(     "Body text with a dated source (as of 2026-07, example.com/thing).",     "Install it:\n\n```bash\ncurl https://example.com/install.sh | sh\n```\n",
  • Network accessline 112
    "Body text with a dated source (as of 2026-07, example.com/thing).",     "Install it:\n\n```bash\ncurl https://example.com/install.sh | sh\n```\n",   );
  • Network accessline 113
    "Install it:\n\n```bash\ncurl https://example.com/install.sh | sh\n```\n",
  • Network accessline 115
    assert.ok(     !rules(text).includes("recency"),     "a curl example in a code fence was reported as an undated external claim",
  • Network accessline 116
    !rules(text).includes("recency"),     "a curl example in a code fence was reported as an undated external claim",   );
  • Network accessline 117
    "a curl example in a code fence was reported as an undated external claim",
  • Network accessline 122
    const text = GOOD.replace(     "Body text with a dated source (as of 2026-07, example.com/thing).",     "Set the endpoint to `https://example.com/v1` in config.",
  • Network accessline 123
    "Body text with a dated source (as of 2026-07, example.com/thing).",     "Set the endpoint to `https://example.com/v1` in config.",   );
  • Network accessline 124
    "Set the endpoint to `https://example.com/v1` in config.",
  • Network accessline 184
    - person ai-first: true github: "https://github.com/someone"
  • Network accessline 185
    ai-first: true github: "https://github.com/someone" ---
  • Network accessline 186
    github: "https://github.com/someone"
  • Network accessline 203
    - person ai-first: true github: "https://github.com/someone"
  • Network accessline 204
    ai-first: true github: "https://github.com/someone" ---
  • Network accessline 205
    github: "https://github.com/someone"
  • Network accessline 211
    They raised a Series A, https://example.com/blog/series-a

integrations/telegram-journal/README.md

  • Network accessline 44
    (`pip install openai-whisper` + ffmpeg) - see [Local transcription](#local-transcription) - An Anthropic API key with billing (text tidy + image reading) - [`uv`](https://docs.astral.sh/uv/) to run the script (handles the one dependency its
  • Network accessline 45
    - An Anthropic API key with billing (text tidy + image reading) - [`uv`](https://docs.astral.sh/uv/) to run the script (handles the one dependency itself) - A scheduler: macOS `launchd` (template included) or Linux `cron`
  • Network accessline 46
    - [`uv`](https://docs.astral.sh/uv/) to run the script (handles the one dependency itself)
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 129
    [Credential-related source omitted]
  • Dangerous shell operationline 137
    # Debian/Ubuntu:  sudo apt-get install ffmpeg

integrations/telegram-journal/com.user.telegram-journal.plist.example

  • Network accessline 1
    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  • Network accessline 2
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

integrations/telegram-journal/setup.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 23
    if [ -z "$UV" ]; then   echo "uv not found - install it first (https://docs.astral.sh/uv/), then re-run." >&2
  • Network accessline 24
    echo "uv not found - install it first (https://docs.astral.sh/uv/), then re-run." >&2
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]

integrations/telegram-journal/telegram_journal.env.example

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

integrations/telegram-journal/telegram_journal.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Network accessline 71
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 72
    URL_RE = re.compile(r"https?://[^\s>]+") API = f"https://api.telegram.org/bot{TOKEN}" FILE_API = f"https://api.telegram.org/file/bot{TOKEN}"
  • Network accessline 73
    API = f"https://api.telegram.org/bot{TOKEN}"
  • Network accessline 74
    FILE_API = f"https://api.telegram.org/file/bot{TOKEN}"
  • Network accessline 112
    def tg(method, **params):     r = requests.get(f"{API}/{method}", params=params, timeout=30)
  • Network accessline 113
    r = requests.get(f"{API}/{method}", params=params, timeout=30)
  • Network accessline 128
    info = tg("getFile", file_id=file_id)     path = info["result"]["file_path"]     data = requests.get(f"{FILE_API}/{path}", timeout=120).content
  • Network accessline 129
    path = info["result"]["file_path"]     data = requests.get(f"{FILE_API}/{path}", timeout=120).content     return data, pathlib.Path(path).suffix.lower()
  • Network accessline 130
    data = requests.get(f"{FILE_API}/{path}", timeout=120).content
  • Access to secretsline 143
    [Credential-related source omitted]
  • Network accessline 145
    if WHISPER_HINT:         files["prompt"] = (None, WHISPER_HINT)     r = requests.post(
  • Network accessline 146
    files["prompt"] = (None, WHISPER_HINT)     r = requests.post(         "https://api.openai.com/v1/audio/transcriptions",
  • Network accessline 147
    r = requests.post(
  • Network accessline 148
    "https://api.openai.com/v1/audio/transcriptions",
  • Network accessline 184
    body = {"model": "claude-haiku-4-5", "max_tokens": max_tokens,             "messages": [{"role": "user", "content": content}]}     r = requests.post(
  • Network accessline 185
    "messages": [{"role": "user", "content": content}]}     r = requests.post(         "https://api.anthropic.com/v1/messages",
  • Network accessline 186
    r = requests.post(
  • Network accessline 187
    "https://api.anthropic.com/v1/messages",
  • Access to secretsline 448
    [Credential-related source omitted]

llms.txt

  • Network accessline 3
    > An AI second brain for Obsidian - persistent memory for Claude Code, Grok Bot, and 6 other agents. Every note is designed for AI retrieval, not human reading. An evolution of Karpathy's LLM Wiki pattern (https://gist.github.com/karpathy/4
  • Network accessline 33
    Andrej Karpathy described an LLM Wiki pattern: drop sources into a folder, have an LLM read them, create wiki pages, and cross-reference entities and concepts so future questions are answered from the wiki rather than a fresh search. Refere
  • Network accessline 50
    - "I rebuilt Karpathy's LLM Wiki. Here's what's missing from the original." (2026-04-29). https://theaioperator.io/p/i-rebuilt-karpathys-llm-wiki-heres
  • Network accessline 117
    - v0.18.0 (2026-10-17) "Crew": `/crew` gives Claude Code, Codex, Cursor and Grok Bot one shared logbook in any plain folder or a vault; per-agent read hooks, lessons kept only by a human, records-not-instructions framing, no background loop
  • Network accessline 118
    - v0.17.0 (2026-09-26) "The Neighbors": a session beside another Obsidian plugin is told which schema governs its writes, company and tool entity schemas, and `--style wiki|obsidian` vault setup. https://github.com/eugeniughelbur/obsidian-s
  • Network accessline 119
    - v0.16.0 (2026-09-15) "The Silent Failure": OKF v0.2 export, sources record what the vault kept, `rewrite_policy`, and a configurable embedding cap. https://github.com/eugeniughelbur/obsidian-second-brain/releases/tag/v0.16.0
  • Network accessline 120
    - v0.15.0 (2026-09-04) "The Port": Windows support end to end (path-normalized write-time hook, USERPROFILE config home, CRLF/BOM frontmatter, UTF-8 research toolkit; by @motkoning in #243 and #248); Gemini-first /podcast with a free Groq W
  • Network accessline 121
    - v0.14.0 (2026-07-18) "The Harvest": 8 features mined from a sweep of all 408 forks, each credited to its fork - Brave Search source, fail-soft usage ledger covering Perplexity+Gemini, /youtube via Gemini free tier, Tavily Extract full-pag
  • Network accessline 122
    - v0.13.0 (2026-07-18) "The Open Standard": unified Agent Skills build - one .agents/skills tree serving Codex CLI, OpenCode, Google Antigravity, and GitHub Copilot CLI (installable via npx skills); Tavily as an optional research source; pe
  • Network accessline 123
    - v0.12.0 (2026-07-11) "The Stress Test": a 4-lane adversarial audit (32 AI agents: every command file, hostile synthetic vaults, live retrieval quality, competitor teardown) produced 175 findings; ~160 closed across 24 PRs - data-safety ha
  • Network accessline 124
    - v0.11.1 (2026-06-28) "Pi Coding Agent": Pi platform build - package.json + .pi/prompts/ + .pi/skills/ (contributed by @Gepetdo). https://github.com/eugeniughelbur/obsidian-second-brain/releases/tag/v0.11.1
  • Network accessline 125
    - v0.11.0 (2026-06-28) "The Retriever": keyword search fixed ~7x, optional local+private semantic layer fuses in for meaning-based recall, every command real-tested; ships the Hermes native-skills build and the MCP vault server. https://git
  • Network accessline 126
    - v0.10.0 (2026-05-31) "The Architect": `/obsidian-architect` scans a codebase into maintained, self-refreshing architecture notes (sentinel-safe blocks never clobber hand-edits). Plus `/obsidian-calendar` reconciliation, `/vault-deep-synth
  • Network accessline 127
    - v0.9.0 (2026-05-31): Free, key-less mode for `/research` and `/research-deep` (free fallback sources, no API key needed). Google Calendar commands. Anti-fabrication and false-absence guards. First automated tests + CI. Opt-in background a
  • Network accessline 128
    - v0.8.0 (2026-05-15): `/notebooklm` rewritten on the Gemini File Search API (one HTTP call, no browser). https://github.com/eugeniughelbur/obsidian-second-brain/releases/tag/v0.8.0
  • Network accessline 129
    - v0.7.0 (2026-05-13): Multi-platform. 4 CLIs (Claude Code, Codex CLI, Gemini CLI, OpenCode) from one source via build-time adapter pattern. Command categorization with grouped dispatcher tables. Multilingual trigger schema (EN populated). 
  • Network accessline 130
    - v0.6.0 (2026-04-26): Phase 2. AI-first rule wired into all 26 existing commands. New canonical spec at references/ai-first-rules.md. https://github.com/eugeniughelbur/obsidian-second-brain/releases/tag/v0.6.0
  • Network accessline 131
    - v0.5.0 (2026-04-26): Phase 1. Research toolkit added. Five new commands. New layer in the architecture. https://github.com/eugeniughelbur/obsidian-second-brain/releases/tag/v0.5.0
  • Network accessline 147
    git clone https://github.com/eugeniughelbur/obsidian-second-brain
  • Network accessline 165
    ### How does this compare to Karpathy's LLM Wiki pattern? This skill is an evolution of Karpathy's pattern. Karpathy's wiki appends new pages and cross-references on ingest. This skill rewrites existing pages, reconciles contradictions auto
  • Network accessline 166
    This skill is an evolution of Karpathy's pattern. Karpathy's wiki appends new pages and cross-references on ingest. This skill rewrites existing pages, reconciles contradictions automatically (`/obsidian-reconcile`), surfaces unnamed patter
  • Network accessline 212
    MIT. https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/LICENSE

media/bootstrap-health.tape

  • Dangerous shell operationline 11
    Type `cd ~/.claude/skills/obsidian-second-brain && rm -rf /tmp/MyVault && clear`

references/crew.md

  • Dangerous shell operationline 11
    curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 11
    curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 36
    Codex requires `/hooks` to review and trust new or changed hooks. Until trusted, its Crew hooks inject nothing. See the [Codex hook reference](https://developers.openai.com/codex/hooks).
  • Network accessline 37
    See the [Codex hook reference](https://developers.openai.com/codex/hooks).
  • Network accessline 38
    Cursor uses `additional_context` JSON for its supported events; see the [Cursor hook reference](https://cursor.com/docs/hooks).
  • Network accessline 39
    Claude uses event-specific `additionalContext` JSON; see the [Claude hook reference](https://code.claude.com/docs/en/hooks).

references/freshness-policy.md

  • Network accessline 31
    **Where truth lives:** [CRM pipeline board](https://crm.example.com/pipeline)

references/vault-schema.md

  • Network accessline 233
    - source source_type: article   # article | transcript | pdf | video source_url: "https://..."
  • Network accessline 234
    source_type: article   # article | transcript | pdf | video source_url: "https://..." source_path: ""       # local original, e.g. First-Brain/Meetings/Discussion.md; absolute outside vault
  • Network accessline 235
    source_url: "https://..."

scripts/architect_scan.py

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

scripts/bootstrap_vault.py

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

scripts/build.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 75
    rm -rf "$dist_dir"
  • Dangerous shell operationline 133
    find "$REPO_ROOT/dist" -name "__pycache__" -type d -prune -exec rm -rf {} + 2>/dev/null || true
  • Dangerous shell operationline 134
    find "$REPO_ROOT/dist" -name "*.pyc" -delete 2>/dev/null || true

scripts/build_site.py

  • Executable scriptline 1
    Executable file
  • Network accessline 30
    REPO_ROOT = Path(__file__).resolve().parents[1] COMMANDS = REPO_ROOT / "commands" REPO_URL = "https://github.com/eugeniughelbur/obsidian-second-brain"
  • Network accessline 32
    REPO_URL = "https://github.com/eugeniughelbur/obsidian-second-brain"

scripts/check_notes.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 84
    [Credential-related source omitted]

scripts/checkin.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Possible obfuscationline 53
    FRONTMATTER = re.compile(r"\A(<U+FEFF>?---\r?\n)(.*?)(\r?\n---[ \t]*(?:\r?\n|\Z))", re.DOTALL)

scripts/conformance_report.py

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

scripts/crew.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 153
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 317
    [Credential-related source omitted]

scripts/document_to_pdf.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 14
    # https://github.com/LibreOffice/core/commit/625fc73a5784fc5dec06df579a9951908f52a783

scripts/eval/BENCHMARK.md

  • Dangerous shell operationline 76
    with no content change that search can see, and the behavior eval (#223)

scripts/eval/README.md

  • Access to secretsline 34
    [Credential-related source omitted]
  • Dangerous shell operationline 57
    ## Behavior eval (separate from retrieval - answer quality, not ranking)
  • Access to secretsline 90
    [Credential-related source omitted]

scripts/eval/behavior_eval.py

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

scripts/eval/corpus.py

  • Executable scriptline 1
    Executable file

scripts/eval/diagnose.py

  • Executable scriptline 1
    Executable file

scripts/eval/retrieval_eval.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 16
    [Credential-related source omitted]
  • Dangerous shell operationline 18
    eval      (default) Load the cases, run each question through the real
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 123
    [Credential-related source omitted]
  • Access to secretsline 274
    [Credential-related source omitted]
  • Network accessline 319
    raise SystemExit(             "Semantic/hybrid mode needs the local model runtime. Install Ollama "             f"(https://ollama.com), then: ollama pull {ss.EMBED_MODEL}, then "
  • Network accessline 320
    "Semantic/hybrid mode needs the local model runtime. Install Ollama "             f"(https://ollama.com), then: ollama pull {ss.EMBED_MODEL}, then "             "build the index: uv run python scripts/eval/semantic_search.py --path <vault> 
  • Network accessline 321
    f"(https://ollama.com), then: ollama pull {ss.EMBED_MODEL}, then "

scripts/eval/semantic_search.py

  • Executable scriptline 1
    Executable file
  • Network accessline 20
    Requires Ollama (https://ollama.com) with an embedding model pulled:
  • Network accessline 21
    ollama pull bge-m3 Configure via env: OLLAMA_URL (default http://localhost:11434), OBSIDIAN_EMBED_MODEL (default bge-m3, multilingual),
  • Network accessline 22
    Configure via env: OLLAMA_URL (default http://localhost:11434),
  • Network accessline 40
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 49
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 112
    return bool(EMBED_URL)  # assume configured endpoint is up; embed() falls back on error     try:         with urllib.request.urlopen(f"{OLLAMA_URL}/api/tags", timeout=3) as r:
  • Network accessline 113
    try:         with urllib.request.urlopen(f"{OLLAMA_URL}/api/tags", timeout=3) as r:             return r.status == 200
  • Network accessline 114
    with urllib.request.urlopen(f"{OLLAMA_URL}/api/tags", timeout=3) as r:
  • Network accessline 159
    for attempt in range(len(waits) + 1):         try:             req = urllib.request.Request(url, data=body, headers=headers)
  • Network accessline 160
    try:             req = urllib.request.Request(url, data=body, headers=headers)             with urllib.request.urlopen(req, timeout=120) as r:
  • Network accessline 161
    req = urllib.request.Request(url, data=body, headers=headers)
  • Network accessline 162
    with urllib.request.urlopen(req, timeout=120) as r:
  • Network accessline 478
    print(             f"Local model runtime not found at {OLLAMA_URL}.\n"             f"Install Ollama (https://ollama.com), open it, then: ollama pull {EMBED_MODEL}",
  • Network accessline 479
    f"Local model runtime not found at {OLLAMA_URL}.\n"             f"Install Ollama (https://ollama.com), open it, then: ollama pull {EMBED_MODEL}",             file=sys.stderr,
  • Network accessline 480
    f"Install Ollama (https://ollama.com), open it, then: ollama pull {EMBED_MODEL}",

scripts/export_okf.py

  • Executable scriptline 1
    Executable file

scripts/freshness_lint.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 4
    Part of OKM (Open Knowledge Metabolism), an open standard for keeping AI-maintained knowledge folders true. Copyright (c) 2026 Eugeniu Ghelbur. MIT-licensed. https://theaioperator.io
  • Network accessline 6
    MIT-licensed. https://theaioperator.io
  • Network accessline 38
    GitHub knowledge repo, or any folder of markdown. Configure per folder with an optional .freshness.json at the root:   { "window-days": 7, "volatile-nouns": ["gmv"], "pointer-types": {"linear": "https://linear.app/..."} }
  • Network accessline 39
    an optional .freshness.json at the root:   { "window-days": 7, "volatile-nouns": ["gmv"], "pointer-types": {"linear": "https://linear.app/..."} } """
  • Network accessline 40
    { "window-days": 7, "volatile-nouns": ["gmv"], "pointer-types": {"linear": "https://linear.app/..."} }

scripts/heal_links.py

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

scripts/ingest_batch.py

  • Executable scriptline 1
    Executable file

scripts/install-codex-wrappers.sh

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

scripts/lib.sh

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

scripts/link_graph.py

  • Executable scriptline 1
    Executable file

scripts/merge_notes.py

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

scripts/migrate_log.py

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

scripts/mine_commit_decisions.py

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

scripts/note_io.py

  • Executable scriptline 1
    Executable file

scripts/osb_env.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]

scripts/platform-home.sh

  • Executable scriptline 1
    #!/bin/bash
  • Network accessline 13
    # case block on purpose, because they must stay standalone: hooks/validate-ai-first.sh # (copied into other harnesses' hook systems by hand) and scripts/quick-install.sh # (curl | bash, before any checkout exists). tests/test_platform_home.
  • Network accessline 14
    # (copied into other harnesses' hook systems by hand) and scripts/quick-install.sh # (curl | bash, before any checkout exists). tests/test_platform_home.py fails # when one of the three copies drifts. Uses bash 3.2 features only (macOS ship
  • Dangerous shell operationline 15
    # (curl | bash, before any checkout exists). tests/test_platform_home.py fails
  • Network accessline 15
    # (curl | bash, before any checkout exists). tests/test_platform_home.py fails
  • Access to secretsline 27
    [Credential-related source omitted]

scripts/python-interpreter.sh

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

scripts/quick-install.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 2
    # One-line installer for obsidian-second-brain (Claude Code). #   curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Dangerous shell operationline 3
    #   curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 3
    #   curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/main/scripts/quick-install.sh | bash
  • Network accessline 16
    # Elsewhere HOME is the home. Uses bash 3.2 features only. # Inline copy of scripts/platform-home.sh on purpose: this script runs via # curl | bash before any checkout exists, so there is nothing to source.
  • Network accessline 17
    # Inline copy of scripts/platform-home.sh on purpose: this script runs via # curl | bash before any checkout exists, so there is nothing to source. # tests/test_platform_home.py fails if the copies drift.
  • Dangerous shell operationline 18
    # curl | bash before any checkout exists, so there is nothing to source.
  • Network accessline 18
    # curl | bash before any checkout exists, so there is nothing to source.
  • Network accessline 26
    esac SKILL_HOME="$OSB_HOME/.claude/skills/obsidian-second-brain" REPO_URL="https://github.com/eugeniughelbur/obsidian-second-brain"
  • Network accessline 28
    REPO_URL="https://github.com/eugeniughelbur/obsidian-second-brain"
  • Network accessline 31
    if ! command -v uv >/dev/null 2>&1; then   echo "Note: 'uv' not found. Core commands work without it, but the health/research"   echo "      scripts need it: https://docs.astral.sh/uv/getting-started/installation/"
  • Network accessline 32
    echo "Note: 'uv' not found. Core commands work without it, but the health/research"   echo "      scripts need it: https://docs.astral.sh/uv/getting-started/installation/" fi
  • Network accessline 33
    echo "      scripts need it: https://docs.astral.sh/uv/getting-started/installation/"
  • Network accessline 39
    else   mkdir -p "$(dirname "$SKILL_HOME")"   git clone "$REPO_URL" "$SKILL_HOME"
  • Network accessline 40
    mkdir -p "$(dirname "$SKILL_HOME")"   git clone "$REPO_URL" "$SKILL_HOME" fi
  • Network accessline 41
    git clone "$REPO_URL" "$SKILL_HOME"

scripts/research/__init__.py

  • Executable scriptline 1
    Executable file

scripts/research/lib/__init__.py

  • Executable scriptline 1
    Executable file

scripts/research/lib/aggregator.py

  • Executable scriptline 1
    Executable file

scripts/research/lib/cache.py

  • Executable scriptline 1
    Executable file

scripts/research/lib/config.py

  • Executable scriptline 1
    [Credential-related source omitted]
  • Access to secretsline 1
    [Credential-related source omitted]
  • Access to secretsline 23
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]

scripts/research/lib/gemini.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 3
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Network accessline 45
    API_URL = "https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"
  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 110
    for attempt in range(MAX_RETRIES):         try:             r = requests.post(API_URL.format(model=model), json=body, headers=headers, timeout=180)
  • Network accessline 111
    try:             r = requests.post(API_URL.format(model=model), json=body, headers=headers, timeout=180)             if r.status_code == 200:
  • Network accessline 112
    r = requests.post(API_URL.format(model=model), json=body, headers=headers, timeout=180)

scripts/research/lib/gpt.py

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

scripts/research/lib/grok.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 15
    [Credential-related source omitted]
  • Network accessline 26
    API_URL = "https://api.x.ai/v1/responses"
  • Access to secretsline 47
    [Credential-related source omitted]
  • Network accessline 59
    for attempt in range(MAX_RETRIES):         try:             r = requests.post(API_URL, json=body, headers=headers, timeout=180)
  • Network accessline 60
    try:             r = requests.post(API_URL, json=body, headers=headers, timeout=180)             if r.status_code == 200:
  • Network accessline 61
    r = requests.post(API_URL, json=body, headers=headers, timeout=180)

scripts/research/lib/groq.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 6
    [Credential-related source omitted]
  • Network accessline 36
    GROQ_TRANSCRIPTION_URL = "https://api.groq.com/openai/v1/audio/transcriptions"
  • Access to secretsline 55
    [Credential-related source omitted]
  • Network accessline 93
    if bad:         raise RuntimeError(f"refused unsafe audio url: {bad}")     with requests.get(audio_url, stream=True, timeout=60) as resp:
  • Network accessline 94
    raise RuntimeError(f"refused unsafe audio url: {bad}")     with requests.get(audio_url, stream=True, timeout=60) as resp:         resp.raise_for_status()
  • Network accessline 95
    with requests.get(audio_url, stream=True, timeout=60) as resp:
  • Access to secretsline 176
    [Credential-related source omitted]
  • Network accessline 178
    with audio_path.open("rb") as f:         resp = requests.post(
  • Network accessline 179
    resp = requests.post(
  • Access to secretsline 181
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]
  • Access to secretsline 300
    [Credential-related source omitted]
  • Access to secretsline 336
    [Credential-related source omitted]
  • Access to secretsline 342
    [Credential-related source omitted]

scripts/research/lib/http.py

  • Executable scriptline 1
    Executable file
  • Network accessline 39
    sess = requests.Session()

scripts/research/lib/perplexity.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 10
    [Credential-related source omitted]
  • Network accessline 12
    API_URL = "https://api.perplexity.ai/chat/completions"
  • Access to secretsline 24
    [Credential-related source omitted]
  • Network accessline 35
    for attempt in range(MAX_RETRIES):         try:             r = requests.post(API_URL, json=body, headers=headers, timeout=timeout)
  • Network accessline 36
    try:             r = requests.post(API_URL, json=body, headers=headers, timeout=timeout)             if r.status_code == 200:
  • Network accessline 37
    r = requests.post(API_URL, json=body, headers=headers, timeout=timeout)

scripts/research/lib/podcast.py

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    Inputs accepted:   - Apple Podcasts URL (https://podcasts.apple.com/.../id<show>?i=<episode>)
  • Network accessline 4
    - Apple Podcasts URL (https://podcasts.apple.com/.../id<show>?i=<episode>)
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Network accessline 28
    ITUNES_LOOKUP = "https://itunes.apple.com/lookup"
  • Network accessline 29
    ITUNES_SEARCH = "https://itunes.apple.com/search"
  • Network accessline 30
    APPLE_RE = re.compile(r"podcasts\.apple\.com/.+/id(\d+)(?:\?i=(\d+))?", re.IGNORECASE) SPOTIFY_RE = re.compile(r"open\.spotify\.com/(?:episode|show)/", re.IGNORECASE) SPOTIFY_OEMBED = "https://open.spotify.com/oembed"
  • Network accessline 32
    SPOTIFY_OEMBED = "https://open.spotify.com/oembed"
  • Network accessline 56
    o = requests.get(SPOTIFY_OEMBED, params={"url": spotify_url}, timeout=15)
  • Network accessline 66
    resp = requests.get(
  • Network accessline 97
    the Apple/Spotify lookups resolve to a feedUrl chosen by whoever published     the show - so a normal-looking podcasts.apple.com link is enough to reach     this code. Without a check, a feed can point at http://localhost:11434, a
  • Network accessline 98
    the show - so a normal-looking podcasts.apple.com link is enough to reach     this code. Without a check, a feed can point at http://localhost:11434, a     dev server on 127.0.0.1, or a cloud metadata endpoint, and the response body
  • Network accessline 99
    this code. Without a check, a feed can point at http://localhost:11434, a
  • Network accessline 143
    raise ValueError(f"Not a recognizable Apple Podcasts URL: {apple_url}")     show_id, episode_id = m.group(1), m.group(2)     resp = requests.get(ITUNES_LOOKUP, params={"id": show_id, "entity": "podcast"}, timeout=15)
  • Network accessline 144
    show_id, episode_id = m.group(1), m.group(2)     resp = requests.get(ITUNES_LOOKUP, params={"id": show_id, "entity": "podcast"}, timeout=15)     resp.raise_for_status()
  • Network accessline 145
    resp = requests.get(ITUNES_LOOKUP, params={"id": show_id, "entity": "podcast"}, timeout=15)
  • Network accessline 154
    if episode_id:         try:             ep_resp = requests.get(
  • Network accessline 155
    try:             ep_resp = requests.get(                 ITUNES_LOOKUP,
  • Network accessline 156
    ep_resp = requests.get(
  • Network accessline 299
    r = requests.get(transcript_url, timeout=30, allow_redirects=False)
  • Network accessline 304
    print(f"[podcast transcript-tag refused redirect: {bad}]", file=sys.stderr)                 return None             r = requests.get(nxt, timeout=30, allow_redirects=False)
  • Network accessline 305
    return None             r = requests.get(nxt, timeout=30, allow_redirects=False)         r.raise_for_status()
  • Network accessline 306
    r = requests.get(nxt, timeout=30, allow_redirects=False)
  • Access to secretsline 381
    [Credential-related source omitted]
  • Network accessline 393
    return None     try:         with requests.get(audio_url, stream=True, timeout=60) as resp:
  • Network accessline 394
    try:         with requests.get(audio_url, stream=True, timeout=60) as resp:             resp.raise_for_status()
  • Network accessline 395
    with requests.get(audio_url, stream=True, timeout=60) as resp:
  • Access to secretsline 425
    [Credential-related source omitted]

scripts/research/lib/result.py

  • Executable scriptline 1
    Executable file

scripts/research/lib/source_config.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 28
    [Credential-related source omitted]
  • Network accessline 45
    _DEFAULT_SEARXNG = [     "https://searx.be",
  • Network accessline 46
    "https://searx.be",
  • Network accessline 47
    "https://search.brave4u.com",
  • Network accessline 48
    "https://priv.au",
  • Access to secretsline 66
    [Credential-related source omitted]

scripts/research/lib/sources/__init__.py

  • Executable scriptline 1
    Executable file

scripts/research/lib/sources/arxiv.py

  • Executable scriptline 1
    Executable file
  • Network accessline 12
    ENDPOINT = "http://export.arxiv.org/api/query"
  • Network accessline 13
    NS = {     "atom": "http://www.w3.org/2005/Atom", }
  • Network accessline 14
    "atom": "http://www.w3.org/2005/Atom",

scripts/research/lib/sources/brave.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 3
    [Credential-related source omitted]
  • Network accessline 18
    API_URL = "https://api.search.brave.com/res/v1/web/search"
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]

scripts/research/lib/sources/crossref.py

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    ENDPOINT = "https://api.crossref.org/works"
  • Network accessline 40
    title = titles[0] if titles else ""         doi = w.get("DOI")         url = w.get("URL") or (f"https://doi.org/{doi}" if doi else "")
  • Network accessline 41
    doi = w.get("DOI")         url = w.get("URL") or (f"https://doi.org/{doi}" if doi else "")         abstract = w.get("abstract")
  • Network accessline 42
    url = w.get("URL") or (f"https://doi.org/{doi}" if doi else "")

scripts/research/lib/sources/devto.py

  • Executable scriptline 1
    Executable file
  • Network accessline 11
    ENDPOINT = "https://dev.to/api/articles"

scripts/research/lib/sources/duckduckgo.py

  • Executable scriptline 1
    Executable file
  • Network accessline 17
    DDG = "https://html.duckduckgo.com/html/"

scripts/research/lib/sources/hackernews.py

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    ENDPOINT = "https://hn.algolia.com/api/v1/search"
  • Network accessline 40
    source="hackernews",             title=h.get("title") or "",             url=h.get("url") or f"https://news.ycombinator.com/item?id={h.get('objectID')}",
  • Network accessline 41
    title=h.get("title") or "",             url=h.get("url") or f"https://news.ycombinator.com/item?id={h.get('objectID')}",             snippet=(h.get("story_text") or "")[:280] or None,
  • Network accessline 42
    url=h.get("url") or f"https://news.ycombinator.com/item?id={h.get('objectID')}",

scripts/research/lib/sources/lobsters.py

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    ENDPOINT = "https://lobste.rs/search.json"

scripts/research/lib/sources/openalex.py

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    ENDPOINT = "https://api.openalex.org/works"

scripts/research/lib/sources/reddit.py

  • Executable scriptline 1
    Executable file
  • Network accessline 11
    ENDPOINT = "https://www.reddit.com/search.json"
  • Network accessline 45
    source="reddit",             title=d.get("title") or "",             url=f"https://www.reddit.com{d.get('permalink', '')}",
  • Network accessline 46
    title=d.get("title") or "",             url=f"https://www.reddit.com{d.get('permalink', '')}",             snippet=(d.get("selftext") or "")[:280] or None,
  • Network accessline 47
    url=f"https://www.reddit.com{d.get('permalink', '')}",

scripts/research/lib/sources/semantic_scholar.py

  • Executable scriptline 1
    Executable file
  • Network accessline 11
    ENDPOINT = "https://api.semanticscholar.org/graph/v1/paper/search"
  • Network accessline 42
    authors = [a.get("name", "") for a in paper.get("authors") or []]         doi = (paper.get("externalIds") or {}).get("DOI")         url = paper.get("url") or (f"https://doi.org/{doi}" if doi else "")
  • Network accessline 43
    doi = (paper.get("externalIds") or {}).get("DOI")         url = paper.get("url") or (f"https://doi.org/{doi}" if doi else "")         out.append(
  • Network accessline 44
    url = paper.get("url") or (f"https://doi.org/{doi}" if doi else "")

scripts/research/lib/sources/tavily.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 3
    [Credential-related source omitted]
  • Network accessline 17
    API_URL = "https://api.tavily.com/search"
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]

scripts/research/lib/sources/wikipedia.py

  • Executable scriptline 1
    Executable file
  • Network accessline 11
    SEARCH = "https://en.wikipedia.org/w/api.php"
  • Network accessline 12
    SUMMARY = "https://en.wikipedia.org/api/rest_v1/page/summary/"

scripts/research/lib/usage.py

  • Executable scriptline 1
    Executable file
  • Network accessline 12
    # Pricing per 1M tokens (as of 2026-04, https://docs.x.ai/docs/models)
  • Network accessline 13
    # # STALE - do not trust for models not listed here. GET https://api.x.ai/v1/models now # returns authoritative per-token pricing (prompt_text_token_price /
  • Network accessline 14
    # STALE - do not trust for models not listed here. GET https://api.x.ai/v1/models now

scripts/research/lib/vault.py

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

scripts/research/lib/vault_terms.py

  • Executable scriptline 1
    Executable file

scripts/research/lib/video_frames.py

  • Executable scriptline 1
    Executable file

scripts/research/lib/web_reader.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 4
    [Credential-related source omitted]
  • Network accessline 29
    API_URL = "https://api.tavily.com/extract"
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 53
    try:         resp = requests.post(
  • Network accessline 54
    resp = requests.post(
  • Access to secretsline 57
    [Credential-related source omitted]

scripts/research/lib/youtube.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Network accessline 66
    api = YouTubeTranscriptApi()     try:         fetched = api.fetch(video_id, languages=_transcript_languages())
  • Network accessline 67
    try:         fetched = api.fetch(video_id, languages=_transcript_languages())     except Exception as pref_err:
  • Network accessline 68
    fetched = api.fetch(video_id, languages=_transcript_languages())
  • Network accessline 73
    f"({','.join(_transcript_languages())}) available; using "                   f"'{getattr(first, 'language_code', '?')}']")             fetched = first.fetch()
  • Network accessline 74
    f"'{getattr(first, 'language_code', '?')}']")             fetched = first.fetch()         except Exception:
  • Network accessline 75
    fetched = first.fetch()
  • Access to secretsline 84
    [Credential-related source omitted]
  • Access to secretsline 122
    [Credential-related source omitted]

scripts/research/notebooklm.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 207
    [Credential-related source omitted]
  • Access to secretsline 220
    [Credential-related source omitted]
  • Access to secretsline 271
    [Credential-related source omitted]

scripts/research/podcast_extract.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 9
    [Credential-related source omitted]
  • Access to secretsline 107
    [Credential-related source omitted]
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 173
    [Credential-related source omitted]
  • Access to secretsline 196
    [Credential-related source omitted]

scripts/research/research.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 6
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 91
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 207
    [Credential-related source omitted]
  • Access to secretsline 212
    [Credential-related source omitted]

scripts/research/research_deep.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 4
    [Credential-related source omitted]
  • Access to secretsline 305
    [Credential-related source omitted]
  • Access to secretsline 436
    [Credential-related source omitted]
  • Access to secretsline 441
    [Credential-related source omitted]

scripts/research/x_pulse.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 20
    - Voices: @handle1, @handle2, @handle3    - Representative posts:      - https://x.com/handle/status/... - "<short quote>"
  • Network accessline 21
    - Representative posts:      - https://x.com/handle/status/... - "<short quote>"      - https://x.com/handle/status/... - "<short quote>"
  • Network accessline 22
    - https://x.com/handle/status/... - "<short quote>"
  • Network accessline 23
    - https://x.com/handle/status/... - "<short quote>"

scripts/research/x_read.py

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

scripts/research/youtube_extract.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 6
    [Credential-related source omitted]
  • Network accessline 89
    url = f"https://www.youtube.com/watch?v={video_id}"
  • Access to secretsline 197
    [Credential-related source omitted]
  • Network accessline 213
    print(f"# {title}")     print(f"**Channel:** {channel} · **Published:** {published}")     print(f"**URL:** https://www.youtube.com/watch?v={video_id}\n")
  • Network accessline 214
    print(f"**Channel:** {channel} · **Published:** {published}")     print(f"**URL:** https://www.youtube.com/watch?v={video_id}\n")     print(result["text"])
  • Network accessline 215
    print(f"**URL:** https://www.youtube.com/watch?v={video_id}\n")
  • Network accessline 234
    "type": "youtube",         "video-id": video_id,         "video-url": f"https://www.youtube.com/watch?v={video_id}",
  • Network accessline 235
    "video-id": video_id,         "video-url": f"https://www.youtube.com/watch?v={video_id}",         "title": title,
  • Network accessline 236
    "video-url": f"https://www.youtube.com/watch?v={video_id}",
  • Network accessline 255
    f"- **Channel:** {channel}\n"         f"- **Published:** {published}\n"         f"- **URL:** https://www.youtube.com/watch?v={video_id}\n\n"
  • Network accessline 256
    f"- **Published:** {published}\n"         f"- **URL:** https://www.youtube.com/watch?v={video_id}\n\n"         f"## Summary\n\n{result['text']}\n"
  • Network accessline 257
    f"- **URL:** https://www.youtube.com/watch?v={video_id}\n\n"

scripts/run-command.sh

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

scripts/session_archive.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 169
    [Credential-related source omitted]
  • Access to secretsline 296
    [Credential-related source omitted]

scripts/setup.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 37
    if ! command -v jq >/dev/null 2>&1; then   red "Error: jq is required (it edits $SETTINGS safely)."   echo "Install it: brew install jq   |   sudo apt install jq   |   https://jqlang.github.io/jq/"
  • Network accessline 38
    red "Error: jq is required (it edits $SETTINGS safely)."   echo "Install it: brew install jq   |   sudo apt install jq   |   https://jqlang.github.io/jq/"   exit 1
  • Dangerous shell operationline 39
    echo "Install it: brew install jq   |   sudo apt install jq   |   https://jqlang.github.io/jq/"
  • Network accessline 39
    echo "Install it: brew install jq   |   sudo apt install jq   |   https://jqlang.github.io/jq/"
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Access to secretsline 113
    [Credential-related source omitted]

scripts/setup_settings_hook.py

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

scripts/star_prompt.py

  • Executable scriptline 1
    Executable file
  • Network accessline 32
    REPO_URL = "https://github.com/eugeniughelbur/obsidian-second-brain"
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]

scripts/sweep_non_ascii.py

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

scripts/triage_links.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 10
    [Credential-related source omitted]
  • Network accessline 48
    "content": PROMPT.format(note=note, line=line[:300], link=link)}],     }).encode()     req = urllib.request.Request(
  • Network accessline 49
    }).encode()     req = urllib.request.Request(         "https://api.anthropic.com/v1/messages", data=body,
  • Network accessline 50
    req = urllib.request.Request(
  • Network accessline 51
    "https://api.anthropic.com/v1/messages", data=body,
  • Network accessline 52
    [Credential-related source omitted]
  • Network accessline 53
    "content-type": "application/json"})     with urllib.request.urlopen(req, timeout=30) as r:         out = json.load(r)
  • Network accessline 54
    with urllib.request.urlopen(req, timeout=30) as r:
  • Access to secretsline 172
    [Credential-related source omitted]
  • Access to secretsline 174
    [Credential-related source omitted]

scripts/update-vault-integration.sh

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

scripts/vault_health.py

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

scripts/vault_plugin_scan.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 5
    across settings levels", "All matching hooks run in parallel", and "A plugin's or skill's copy of the same handler stays separate" (https://code.claude.com/docs/en/hooks). SessionStart adds every hook's stdout to
  • Network accessline 6
    skill's copy of the same handler stays separate" (https://code.claude.com/docs/en/hooks). SessionStart adds every hook's stdout to context. So a user running a second Obsidian plugin gets two operating manuals in
  • Network accessline 7
    (https://code.claude.com/docs/en/hooks). SessionStart adds every hook's stdout to

scripts/vault_scan.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 105
    [Credential-related source omitted]
  • Possible obfuscationline 135
    if text.startswith("<U+FEFF>"):

scripts/vault_search.py

  • Executable scriptline 1
    Executable file

scripts/vault_stats.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 263
    [Credential-related source omitted]

scripts/verify_quotes.py

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

tests/_bash.py

  • Executable scriptline 1
    Executable file

tests/conftest.py

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

tests/test_adapter_frontmatter_robustness.py

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 7
    B5 A UTF-8 BOM makes line 1 `<U+FEFF>---`, which never matches /^---$/. The

tests/test_ai_first_spec.py

  • Executable scriptline 1
    Executable file
  • Network accessline 25
    CANONICAL_URL = (     "https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/AI-FIRST.md"
  • Network accessline 26
    "https://github.com/eugeniughelbur/obsidian-second-brain/blob/main/AI-FIRST.md"

tests/test_bash_pinned.py

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

tests/test_behavior_eval.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 230
    [Credential-related source omitted]
  • Access to secretsline 235
    [Credential-related source omitted]
  • Access to secretsline 280
    [Credential-related source omitted]
  • Access to secretsline 281
    [Credential-related source omitted]

tests/test_benchmark_corpus.py

  • Executable scriptline 1
    Executable file

tests/test_bg_agent_hook.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 38
    [Credential-related source omitted]
  • Instruction override signalline 89
    assert f"CWD={vault.as_posix()}" in body, "agent must run inside the vault"     assert "ARG=--dangerously-skip-permissions" in body
  • Instruction override signalline 90
    assert "ARG=--dangerously-skip-permissions" in body

tests/test_bom_frontmatter.py

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

tests/test_bootstrap_style.py

  • Executable scriptline 1
    Executable file

tests/test_bootstrap_unit.py

  • Executable scriptline 1
    Executable file

tests/test_build_conformance.py

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

tests/test_build_site.py

  • Executable scriptline 1
    Executable file
  • Network accessline 70
    RESOURCE_RE = re.compile(r'(?:src|href)\s*=\s*"([^"]+)"') ALLOWED_EXTERNAL_PREFIX = "https://github.com/eugeniughelbur/obsidian-second-brain"
  • Network accessline 71
    ALLOWED_EXTERNAL_PREFIX = "https://github.com/eugeniughelbur/obsidian-second-brain"

tests/test_checkin.py

  • Executable scriptline 1
    Executable file

tests/test_concurrent_writes.py

  • Executable scriptline 1
    Executable file

tests/test_config_int_knobs.py

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

tests/test_crew.py

  • Executable scriptline 1
    Executable file

tests/test_dispatcher_prose.py

  • Executable scriptline 1
    Executable file

tests/test_doc_command_names.py

  • Executable scriptline 1
    Executable file

tests/test_doc_roster.py

  • Executable scriptline 1
    Executable file

tests/test_document_to_pdf.py

  • Executable scriptline 1
    Executable file

tests/test_eval_diagnose.py

  • Executable scriptline 1
    Executable file

tests/test_eval_ruler.py

  • Executable scriptline 1
    Executable file

tests/test_exclude_policy.py

  • Executable scriptline 1
    Executable file

tests/test_export_and_alias_fidelity.py

  • Executable scriptline 1
    Executable file

tests/test_export_okf.py

  • Executable scriptline 1
    Executable file
  • Network accessline 126
    (vault / "Knowledge" / "Decision.md").write_text(         "---\ntype: decision\ndate: 2026-07-12\ntags: [decision]\n"         'sources: ["[[Cited]]", "https://example.test/report", "[[Nowhere At All]]"]\n---\n\n'
  • Network accessline 127
    "---\ntype: decision\ndate: 2026-07-12\ntags: [decision]\n"         'sources: ["[[Cited]]", "https://example.test/report", "[[Nowhere At All]]"]\n---\n\n'         "We chose the thing.\n",
  • Network accessline 128
    'sources: ["[[Cited]]", "https://example.test/report", "[[Nowhere At All]]"]\n---\n\n'
  • Network accessline 174
    assert "https://example.test/report" in note

tests/test_first_brain.py

  • Executable scriptline 1
    Executable file

tests/test_folder_map_compliance.py

  • Executable scriptline 1
    Executable file

tests/test_freshness.py

  • Executable scriptline 1
    Executable file

tests/test_freshness_lint.py

  • Executable scriptline 1
    Executable file
  • Network accessline 40
    write(tmp_path, "projects/acme.md",           "# Acme\n\nDeals live in the CRM.\n"           "Pipeline: [CRM board](https://crm.example.com) - 13 deals (as of 2026-07-12).\n")
  • Network accessline 41
    "# Acme\n\nDeals live in the CRM.\n"           "Pipeline: [CRM board](https://crm.example.com) - 13 deals (as of 2026-07-12).\n")     report = lint_folder(tmp_path, today=TODAY)
  • Network accessline 42
    "Pipeline: [CRM board](https://crm.example.com) - 13 deals (as of 2026-07-12).\n")
  • Network accessline 68
    def test_fresh3_accepts_mapped_pointer(tmp_path):     write(tmp_path, ".freshness.json", '{"pointer-types": {"linear": "https://linear.app/x"}}')
  • Network accessline 69
    write(tmp_path, ".freshness.json", '{"pointer-types": {"linear": "https://linear.app/x"}}')
  • Network accessline 328
    write(tmp_path, "onto.md",           "# Onto\n\nThe class is declared as owl:Class with rdfs:label and skos:broader links.\n"           "![figure](https://miro.medium.com/v2/resize:fit:1400/format:webp/abc.png)\n"
  • Network accessline 329
    "# Onto\n\nThe class is declared as owl:Class with rdfs:label and skos:broader links.\n"           "![figure](https://miro.medium.com/v2/resize:fit:1400/format:webp/abc.png)\n"           "Tracked in linear:ABC-123 as well.\n")
  • Network accessline 330
    "![figure](https://miro.medium.com/v2/resize:fit:1400/format:webp/abc.png)\n"

tests/test_front_door.py

  • Executable scriptline 1
    Executable file

tests/test_frontmatter_parity.py

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 108
    fm, _ = split_frontmatter("<U+FEFF>---\ntype: note\n---\n\nbody\n")

tests/test_groq.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 3
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]
  • Network accessline 77
    self._thread = threading.Thread(target=self._httpd.serve_forever, daemon=True)         self._thread.start()         self.url = f"http://127.0.0.1:{self._httpd.server_port}/v1/transcriptions"
  • Network accessline 79
    self.url = f"http://127.0.0.1:{self._httpd.server_port}/v1/transcriptions"
  • Network accessline 305
    result = groq.transcribe_via_groq("http://example.invalid/audio.mp3", _never_safe_fetch)
  • Network accessline 319
    result = groq.transcribe_via_groq("http://example.invalid/audio.mp3", _never_safe_fetch)
  • Network accessline 331
    result = groq.transcribe_via_groq("http://example.invalid/audio.mp3", _never_safe_fetch)
  • Network accessline 346
    monkeypatch.setattr(groq, "_download_audio", _boom)     result = groq.transcribe_via_groq("http://example.invalid/audio.mp3", _never_safe_fetch)
  • Network accessline 347
    result = groq.transcribe_via_groq("http://example.invalid/audio.mp3", _never_safe_fetch)
  • Network accessline 403
    def _episode(audio_url: str | None = "http://x/audio.mp3", transcript_url: str | None = None):
  • Network accessline 410
    def test_rss_tag_wins_over_groq(stub_pipeline_deps):     stub_pipeline_deps["tag_text"] = "x" * 500     text, source = pe._resolve_transcript(_episode(transcript_url="http://x/t.json"))
  • Network accessline 411
    stub_pipeline_deps["tag_text"] = "x" * 500     text, source = pe._resolve_transcript(_episode(transcript_url="http://x/t.json"))     assert source == "rss-transcript-tag"
  • Network accessline 412
    text, source = pe._resolve_transcript(_episode(transcript_url="http://x/t.json"))
  • Network accessline 419
    stub_pipeline_deps["groq_text"] = "y" * 500     monkeypatch.setattr(pe.groq, "is_groq_configured", lambda: True)     text, source = pe._resolve_transcript(_episode(transcript_url="http://x/t.json"))
  • Network accessline 420
    monkeypatch.setattr(pe.groq, "is_groq_configured", lambda: True)     text, source = pe._resolve_transcript(_episode(transcript_url="http://x/t.json"))     assert source == "groq-whisper-api"
  • Network accessline 421
    text, source = pe._resolve_transcript(_episode(transcript_url="http://x/t.json"))
  • Access to secretsline 438
    [Credential-related source omitted]
  • Access to secretsline 448
    [Credential-related source omitted]
  • Access to secretsline 458
    [Credential-related source omitted]
  • Access to secretsline 468
    [Credential-related source omitted]

tests/test_heal_precision.py

  • Executable scriptline 1
    Executable file

tests/test_hermes_session_hook.py

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

tests/test_index_robustness.py

  • Executable scriptline 1
    Executable file

tests/test_index_staleness.py

  • Executable scriptline 1
    Executable file

tests/test_ingest_batch.py

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 55
    data = b"\xef\xbb\xbf\x00\xffbinary\r\n"

tests/test_install_portability.py

  • Executable scriptline 1
    Executable file

tests/test_link_graph_mirror.py

  • Executable scriptline 1
    Executable file

tests/test_mcp_bookkeeping.py

  • Executable scriptline 1
    Executable file

tests/test_mcp_codex_parity.py

  • Executable scriptline 1
    Executable file

tests/test_mcp_fresh_vault_health.py

  • Executable scriptline 1
    Executable file

tests/test_mcp_vault_ops_safety.py

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 91
    assert not content.startswith("<U+FEFF>"), "a BOM leaked into the MCP-surfaced snippet"

tests/test_merge_notes.py

  • Executable scriptline 1
    Executable file

tests/test_migrate_log.py

  • Executable scriptline 1
    Executable file

tests/test_mine_commit_decisions_encoding.py

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

tests/test_multilingual_model.py

  • Executable scriptline 1
    Executable file

tests/test_no_autoopen_in_tests.py

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

tests/test_no_banned_chars_in_instructions.py

  • Executable scriptline 1
    Executable file

tests/test_no_vault_content_in_eval_docs.py

  • Executable scriptline 1
    Executable file

tests/test_note_safety.py

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 138
    note_io.write_exact(note, "<U+FEFF>new body\nsecond line\n")
  • Possible obfuscationline 141
    assert note.read_bytes() == "<U+FEFF>new body\nsecond line\n".encode("utf-8")

tests/test_osb_env.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 6
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 118
    [Credential-related source omitted]
  • Access to secretsline 128
    [Credential-related source omitted]
  • Access to secretsline 144
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]
  • Access to secretsline 173
    [Credential-related source omitted]
  • Access to secretsline 233
    [Credential-related source omitted]
  • Access to secretsline 234
    [Credential-related source omitted]
  • Access to secretsline 235
    [Credential-related source omitted]
  • Access to secretsline 241
    [Credential-related source omitted]
  • Access to secretsline 242
    [Credential-related source omitted]
  • Access to secretsline 243
    [Credential-related source omitted]

tests/test_p1_p2_fixes.py

  • Executable scriptline 1
    Executable file
  • Network accessline 32
    @pytest.mark.parametrize("url", [     "http://localhost:11434/api/tags",
  • Network accessline 33
    "http://localhost:11434/api/tags",
  • Network accessline 34
    "http://127.0.0.1:8002/internal",
  • Network accessline 35
    "http://169.254.169.254/latest/meta-data/",
  • Network accessline 36
    "http://10.0.0.5/admin",
  • Network accessline 37
    "http://192.168.1.1/",
  • Network accessline 50
    from research.lib.podcast import safe_fetch_url     assert safe_fetch_url("https://example.com/transcript.vtt") is None
  • Network accessline 51
    assert safe_fetch_url("https://example.com/transcript.vtt") is None

tests/test_perplexity_empty_completion.py

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

tests/test_platform_home.py

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    inline copy because they must stay standalone: hooks/validate-ai-first.sh (copied into other harnesses' hook systems by hand) and scripts/quick-install.sh (curl | bash before any checkout exists). This fence fails when a copy drifts,
  • Network accessline 4
    (copied into other harnesses' hook systems by hand) and scripts/quick-install.sh (curl | bash before any checkout exists). This fence fails when a copy drifts, the failure mode the tokenizer copies (#159/#188/#192) already demonstrated.
  • Dangerous shell operationline 5
    (curl | bash before any checkout exists). This fence fails when a copy drifts,
  • Network accessline 5
    (curl | bash before any checkout exists). This fence fails when a copy drifts,
  • Access to secretsline 62
    [Credential-related source omitted]

tests/test_platform_owners.py

  • Executable scriptline 1
    Executable file
  • Network accessline 62
    def test_owner_cells_are_a_handle_or_the_word_unclaimed():     bad = [p for p, o in _rows().items()            if o != "unclaimed" and not re.match(r"^\[@[\w-]+\]\(https://github\.com/[\w-]+\)$", o)]
  • Network accessline 63
    bad = [p for p, o in _rows().items()            if o != "unclaimed" and not re.match(r"^\[@[\w-]+\]\(https://github\.com/[\w-]+\)$", o)]     assert not bad, (
  • Network accessline 64
    if o != "unclaimed" and not re.match(r"^\[@[\w-]+\]\(https://github\.com/[\w-]+\)$", o)]
  • Network accessline 65
    assert not bad, (         f"{bad} have an Owner cell that is neither 'unclaimed' nor a "         "[@handle](https://github.com/handle) link, so owner_of would emit it verbatim "
  • Network accessline 66
    f"{bad} have an Owner cell that is neither 'unclaimed' nor a "         "[@handle](https://github.com/handle) link, so owner_of would emit it verbatim "         "into a published INSTALL.md"
  • Network accessline 67
    "[@handle](https://github.com/handle) link, so owner_of would emit it verbatim "
  • Network accessline 108
    owners.write_text(         original.replace("| pi | unclaimed |",                          "| pi | [@testowner](https://github.com/testowner) |"),
  • Network accessline 109
    original.replace("| pi | unclaimed |",                          "| pi | [@testowner](https://github.com/testowner) |"),         encoding="utf-8")
  • Network accessline 110
    "| pi | [@testowner](https://github.com/testowner) |"),

tests/test_plugin_manifest.py

  • Executable scriptline 1
    Executable file

tests/test_podcast_resolution.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Network accessline 77
    self._server = HTTPServer(("127.0.0.1", 0), Handler)         self.url = f"http://127.0.0.1:{self._server.server_address[1]}/lookup"
  • Network accessline 78
    self.url = f"http://127.0.0.1:{self._server.server_address[1]}/lookup"
  • Network accessline 104
    _SHOW_LOOKUP = (     '{"results": [{"wrapperType": "track", "kind": "podcast", '     '"collectionName": "Darknet Diaries", "feedUrl": "https://feed.example/rss"}]}'
  • Network accessline 105
    '{"results": [{"wrapperType": "track", "kind": "podcast", '     '"collectionName": "Darknet Diaries", "feedUrl": "https://feed.example/rss"}]}' )
  • Network accessline 106
    '"collectionName": "Darknet Diaries", "feedUrl": "https://feed.example/rss"}]}'
  • Network accessline 108
    _EPISODE_LOOKUP = (     '{"results": ['     '{"wrapperType": "podcastEpisode", "trackId": 1000779118458, "trackName": "178: Ubiquiti", "episodeUrl": "https://x/ep1"},'
  • Network accessline 109
    '{"results": ['     '{"wrapperType": "podcastEpisode", "trackId": 1000779118458, "trackName": "178: Ubiquiti", "episodeUrl": "https://x/ep1"},'     '{"wrapperType": "podcastEpisode", "trackId": 999, "trackName": "177: National Public Data"}
  • Network accessline 110
    '{"wrapperType": "podcastEpisode", "trackId": 1000779118458, "trackName": "178: Ubiquiti", "episodeUrl": "https://x/ep1"},'
  • Network accessline 122
    fake_itunes(_SHOW_LOOKUP)     feed, ep_id, title = podcast_lib.resolve_apple_to_rss(         "https://podcasts.apple.com/us/podcast/darknet-diaries/id1296350485"
  • Network accessline 123
    feed, ep_id, title = podcast_lib.resolve_apple_to_rss(         "https://podcasts.apple.com/us/podcast/darknet-diaries/id1296350485"     )
  • Network accessline 124
    "https://podcasts.apple.com/us/podcast/darknet-diaries/id1296350485"
  • Network accessline 125
    )     assert feed == "https://feed.example/rss"     assert ep_id is None
  • Network accessline 126
    assert feed == "https://feed.example/rss"
  • Network accessline 132
    server = fake_itunes(_SHOW_LOOKUP, _EPISODE_LOOKUP)     feed, ep_id, title = podcast_lib.resolve_apple_to_rss(         "https://podcasts.apple.com/us/podcast/ubiquiti/id1296350485?i=1000779118458"
  • Network accessline 133
    feed, ep_id, title = podcast_lib.resolve_apple_to_rss(         "https://podcasts.apple.com/us/podcast/ubiquiti/id1296350485?i=1000779118458"     )
  • Network accessline 134
    "https://podcasts.apple.com/us/podcast/ubiquiti/id1296350485?i=1000779118458"
  • Network accessline 135
    )     assert feed == "https://feed.example/rss"     assert ep_id == "1000779118458"
  • Network accessline 136
    assert feed == "https://feed.example/rss"
  • Network accessline 145
    fake_itunes(_SHOW_LOOKUP, _EPISODE_LOOKUP)     _, ep_id, title = podcast_lib.resolve_apple_to_rss(         "https://podcasts.apple.com/us/podcast/x/id1296350485?i=424242"
  • Network accessline 146
    _, ep_id, title = podcast_lib.resolve_apple_to_rss(         "https://podcasts.apple.com/us/podcast/x/id1296350485?i=424242"     )
  • Network accessline 147
    "https://podcasts.apple.com/us/podcast/x/id1296350485?i=424242"
  • Network accessline 161
    monkeypatch.setattr(requests, "get", _wrap_first_call(requests.get, boom))     feed, ep_id, title = podcast_lib.resolve_apple_to_rss(         "https://podcasts.apple.com/us/podcast/x/id1296350485?i=1000779118458"
  • Network accessline 162
    feed, ep_id, title = podcast_lib.resolve_apple_to_rss(         "https://podcasts.apple.com/us/podcast/x/id1296350485?i=1000779118458"     )
  • Network accessline 163
    "https://podcasts.apple.com/us/podcast/x/id1296350485?i=1000779118458"
  • Network accessline 166
    assert feed == "https://feed.example/rss"
  • Network accessline 184
    def test_resolve_apple_unrecognizable_url_raises():     with pytest.raises(ValueError, match="Not a recognizable Apple Podcasts URL"):         podcast_lib.resolve_apple_to_rss("https://example.com/not-a-show")
  • Network accessline 186
    podcast_lib.resolve_apple_to_rss("https://example.com/not-a-show")
  • Network accessline 249
    "published": "Tue, 04 Aug 2026",         "duration": "36:07",         "episode_url": "https://darknetdiaries.com/episode/178/",
  • Network accessline 250
    "duration": "36:07",         "episode_url": "https://darknetdiaries.com/episode/178/",         "source_url": "https://feed.example/?episode=x",
  • Network accessline 251
    "episode_url": "https://darknetdiaries.com/episode/178/",
  • Network accessline 252
    "source_url": "https://feed.example/?episode=x",
  • Network accessline 253
    "audio_url": "http://x/audio.mp3",
  • Network accessline 292
    _patch_summarizer_paths(monkeypatch, calls)     monkeypatch.setenv("GEMINI_API_KEY", "fake-key")     rc = pe.main(["prog", "https://feed.example/?episode=x"])
  • Network accessline 293
    [Credential-related source omitted]
  • Access to secretsline 293
    [Credential-related source omitted]
  • Network accessline 294
    rc = pe.main(["prog", "https://feed.example/?episode=x"])
  • Network accessline 302
    _patch_summarizer_paths(monkeypatch, calls)     monkeypatch.setenv("GEMINI_API_KEY", "fake-key")     rc = pe.main(["prog", "https://feed.example/?episode=x"])
  • Network accessline 303
    [Credential-related source omitted]
  • Access to secretsline 303
    [Credential-related source omitted]
  • Network accessline 304
    rc = pe.main(["prog", "https://feed.example/?episode=x"])
  • Network accessline 312
    _patch_summarizer_paths(monkeypatch, calls)     monkeypatch.delenv("GEMINI_API_KEY", raising=False)     rc = pe.main(["prog", "https://feed.example/?episode=x"])
  • Network accessline 313
    [Credential-related source omitted]
  • Access to secretsline 313
    [Credential-related source omitted]
  • Network accessline 314
    rc = pe.main(["prog", "https://feed.example/?episode=x"])

tests/test_podcast_transcript_schema.py

  • Executable scriptline 1
    Executable file

tests/test_python_interpreter.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 151
    [Credential-related source omitted]
  • Access to secretsline 180
    [Credential-related source omitted]
  • Access to secretsline 181
    [Credential-related source omitted]
  • Access to secretsline 249
    [Credential-related source omitted]
  • Access to secretsline 250
    [Credential-related source omitted]

tests/test_query_aware_default.py

  • Executable scriptline 1
    Executable file

tests/test_ranking_quality.py

  • Executable scriptline 1
    Executable file

tests/test_research_cjk_and_models.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 24
    [Credential-related source omitted]
  • Network accessline 291
    class FakeApi:         def fetch(self, video_id, languages=None):
  • Network accessline 292
    def fetch(self, video_id, languages=None):
  • Network accessline 309
    def fetch(video_id, languages):
  • Network accessline 325
    def fetch(self):
  • Network accessline 328
    def fetch(video_id, languages):
  • Network accessline 339
    def fetch(video_id, languages):
  • Access to secretsline 373
    [Credential-related source omitted]

tests/test_research_deep_fallback.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]

tests/test_research_sources.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 26
    [Credential-related source omitted]
  • Network accessline 48
    def test_result_json_roundtrip():     r = Result(source="hackernews", title="Show HN: thing", url="https://x.y", points=42)
  • Network accessline 49
    r = Result(source="hackernews", title="Show HN: thing", url="https://x.y", points=42)
  • Network accessline 129
    def test_aggregate_collects_and_degrades_gracefully():     good = _FakeSource("good", rows=[Result(source="good", title="a", url="http://a")])
  • Network accessline 130
    good = _FakeSource("good", rows=[Result(source="good", title="a", url="http://a")])
  • Network accessline 131
    also = _FakeSource("also", rows=[Result(source="also", title="b", url="http://b")])
  • Access to secretsline 147
    [Credential-related source omitted]
  • Access to secretsline 151
    [Credential-related source omitted]
  • Access to secretsline 164
    [Credential-related source omitted]
  • Network accessline 170
    fake_resp.json.return_value = {         "results": [             {"title": "Tavily Result", "url": "https://example.com", "content": "A snippet"},
  • Network accessline 171
    "results": [             {"title": "Tavily Result", "url": "https://example.com", "content": "A snippet"},             {"title": "keyless row dropped", "url": "", "content": "no url"},
  • Network accessline 172
    {"title": "Tavily Result", "url": "https://example.com", "content": "A snippet"},
  • Network accessline 186
    assert results[0].source == "tavily"     assert results[0].title == "Tavily Result"     assert results[0].url == "https://example.com"
  • Network accessline 187
    assert results[0].title == "Tavily Result"     assert results[0].url == "https://example.com"     assert results[0].snippet == "A snippet"
  • Network accessline 188
    assert results[0].url == "https://example.com"
  • Access to secretsline 193
    [Credential-related source omitted]
  • Access to secretsline 202
    [Credential-related source omitted]
  • Access to secretsline 206
    [Credential-related source omitted]
  • Access to secretsline 221
    [Credential-related source omitted]
  • Network accessline 227
    "web": {             "results": [                 {"title": "Brave Result", "url": "https://example.com", "description": "A snippet"},
  • Network accessline 228
    "results": [                 {"title": "Brave Result", "url": "https://example.com", "description": "A snippet"},                 {"title": "dropped", "url": "", "description": "no url"},
  • Network accessline 229
    {"title": "Brave Result", "url": "https://example.com", "description": "A snippet"},
  • Access to secretsline 251
    [Credential-related source omitted]
  • Access to secretsline 257
    [Credential-related source omitted]
  • Access to secretsline 260
    [Credential-related source omitted]
  • Access to secretsline 261
    [Credential-related source omitted]
  • Access to secretsline 265
    [Credential-related source omitted]
  • Access to secretsline 301
    [Credential-related source omitted]
  • Access to secretsline 329
    [Credential-related source omitted]
  • Access to secretsline 330
    [Credential-related source omitted]
  • Network accessline 334
    assert web_reader.available() is False     assert web_reader.read(["https://example.com"]) == {}
  • Network accessline 335
    assert web_reader.read(["https://example.com"]) == {}
  • Access to secretsline 343
    [Credential-related source omitted]
  • Network accessline 351
    fake_resp.json.return_value = {         "results": [             {"url": "https://a.example", "raw_content": long_text},
  • Network accessline 352
    "results": [             {"url": "https://a.example", "raw_content": long_text},             {"url": "https://b.example", "raw_content": "short"},
  • Network accessline 353
    {"url": "https://a.example", "raw_content": long_text},
  • Network accessline 354
    {"url": "https://b.example", "raw_content": "short"},
  • Network accessline 366
    urls = ["https://a.example", "https://a.example", "https://b.example",
  • Network accessline 367
    "https://c.example", "https://d.example", "not-a-url"]
  • Network accessline 371
    assert captured["json"]["urls"] == ["https://a.example", "https://b.example", "https://c.example"]
  • Network accessline 377
    body = out["https://a.example"]
  • Network accessline 383
    assert out["https://b.example"] == "short"
  • Network accessline 389
    monkeypatch.setattr(web_reader.requests, "post", broken_post)     assert web_reader.read(["https://a.example"]) == {}
  • Network accessline 390
    assert web_reader.read(["https://a.example"]) == {}

tests/test_scan_cache.py

  • Executable scriptline 1
    Executable file

tests/test_schema_coverage.py

  • Executable scriptline 1
    Executable file

tests/test_script_correctness.py

  • Executable scriptline 1
    Executable file

tests/test_search_cap.py

  • Executable scriptline 1
    Executable file

tests/test_session_archive.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Access to secretsline 91
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 173
    [Credential-related source omitted]

tests/test_session_context_cap.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 138
    [Credential-related source omitted]
  • Access to secretsline 149
    [Credential-related source omitted]

tests/test_setup_and_manual_drift.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]

tests/test_setup_settings_hook.py

  • Executable scriptline 1
    Executable file

tests/test_showroom.py

  • Executable scriptline 1
    Executable file

tests/test_smoke.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 665
    [Credential-related source omitted]
  • Access to secretsline 667
    [Credential-related source omitted]
  • Access to secretsline 673
    [Credential-related source omitted]
  • Access to secretsline 1025
    [Credential-related source omitted]
  • Access to secretsline 1028
    [Credential-related source omitted]
  • Access to secretsline 1036
    [Credential-related source omitted]
  • Access to secretsline 1039
    [Credential-related source omitted]
  • Access to secretsline 1043
    [Credential-related source omitted]
  • Access to secretsline 1057
    [Credential-related source omitted]
  • Access to secretsline 1102
    [Credential-related source omitted]
  • Access to secretsline 1166
    [Credential-related source omitted]
  • Access to secretsline 1172
    [Credential-related source omitted]
  • Access to secretsline 1210
    [Credential-related source omitted]
  • Access to secretsline 1250
    [Credential-related source omitted]
  • Access to secretsline 1286
    [Credential-related source omitted]
  • Access to secretsline 1326
    [Credential-related source omitted]
  • Access to secretsline 1374
    [Credential-related source omitted]
  • Access to secretsline 1428
    [Credential-related source omitted]
  • Access to secretsline 1523
    [Credential-related source omitted]
  • Access to secretsline 1569
    [Credential-related source omitted]
  • Access to secretsline 1598
    [Credential-related source omitted]
  • Access to secretsline 1630
    [Credential-related source omitted]

tests/test_source_payload.py

  • Executable scriptline 1
    Executable file

tests/test_source_quality.py

  • Executable scriptline 1
    Executable file

tests/test_source_quality_unlabelled.py

  • Executable scriptline 1
    Executable file
  • Network accessline 84
    def test_a_source_that_never_uses_the_words_is_silent(vault):     _source(vault, "plain", "Source: https://example.org/post by A. Author, 2026-09-01.\n\ntext")
  • Network accessline 85
    _source(vault, "plain", "Source: https://example.org/post by A. Author, 2026-09-01.\n\ntext")

tests/test_star_prompt.py

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

tests/test_symlink_resilience.py

  • Executable scriptline 1
    Executable file

tests/test_taxonomy_audit.py

  • Executable scriptline 1
    Executable file

tests/test_telegram_ingest.py

  • Executable scriptline 1
    Executable file

tests/test_trigger_precedence.py

  • Executable scriptline 1
    Executable file

tests/test_untrusted_source_handling.py

  • Executable scriptline 1
    Executable file

tests/test_user_excludes.py

  • Executable scriptline 1
    Executable file

tests/test_validate_hook_cjk.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 134
    [Credential-related source omitted]
  • Access to secretsline 138
    [Credential-related source omitted]
  • Access to secretsline 144
    [Credential-related source omitted]
  • Access to secretsline 148
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]

tests/test_validate_hook_vault_scope.py

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

tests/test_validate_hook_wikilinks.py

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

tests/test_vault_health_precision.py

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 311
    (vault / name).write_bytes(b"\x00\x05\x16\x07\x00\x02\x00\x00Mac OS X" + b"\x00" * 40)

tests/test_vault_health_unicode.py

  • Executable scriptline 1
    Executable file

tests/test_vault_plugin_scan.py

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

tests/test_vault_search_cli.py

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

tests/test_vault_stats.py

  • Executable scriptline 1
    Executable file

tests/test_vector_math.py

  • Executable scriptline 1
    Executable file

tests/test_verify_quotes.py

  • Executable scriptline 1
    Executable file

tests/test_windows_compat.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 116
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 137
    [Credential-related source omitted]
  • Access to secretsline 155
    [Credential-related source omitted]
  • Access to secretsline 218
    [Credential-related source omitted]
  • Access to secretsline 269
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]
  • Access to secretsline 317
    [Credential-related source omitted]
  • Access to secretsline 322
    [Credential-related source omitted]
  • Access to secretsline 325
    [Credential-related source omitted]
  • Access to secretsline 340
    [Credential-related source omitted]
  • Access to secretsline 348
    [Credential-related source omitted]
  • Access to secretsline 349
    [Credential-related source omitted]
  • Access to secretsline 400
    [Credential-related source omitted]

tests/test_youtube_error_redaction.py

  • Executable scriptline 1
    Executable file
  • Network accessline 17
    [Credential-related source omitted]
  • Network accessline 18
    URL = (f"https://youtube.googleapis.com/youtube/v3/videos?part=snippet&id=vid"
  • Access to secretsline 76
    [Credential-related source omitted]

update.sh

  • Executable scriptline 1
    #!/bin/bash

uv.lock

  • Network accessline 11
    name = "annotated-types" version = "0.8.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 12
    version = "0.8.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/5f/56/a8120250d128bed162cd73c76d45f6ef9991f3e068f62a8ee060afa3104a/annotated_types-0.8.0.tar.gz", hash = "sha256:13
  • Network accessline 13
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 14
    sdist = { url = "https://files.pythonhosted.org/packages/5f/56/a8120250d128bed162cd73c76d45f6ef9991f3e068f62a8ee060afa3104a/annotated_types-0.8.0.tar.gz", hash = "sha256:13b2beaad985e05e2d6407ee4c4f35590b11f8d693a258a561055cac8f64cab7", siz
  • Network accessline 15
    wheels = [     { url = "https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl", hash = "sha256:f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf
  • Network accessline 16
    { url = "https://files.pythonhosted.org/packages/99/91/8acff4f5e50511b911bbccb72b8628a49c68ce14148cd9f6431094859a90/annotated_types-0.8.0-py3-none-any.whl", hash = "sha256:f072f4d804ea359e4eaf198b1af7a8b0943881a87f31bb764f8bf219bb9419e0", s
  • Network accessline 20
    name = "anyio" version = "4.15.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 21
    version = "4.15.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 22
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 26
    { name = "typing-extensions", marker = "python_full_version < '3.15'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a9/d2/f4d173e22df740bc37b1db102b386ba719b66e95b0f0d751f556b387e6d2/anyio-4.15.1.tar.gz", hash = "sha256:9f28
  • Network accessline 27
    ] sdist = { url = "https://files.pythonhosted.org/packages/a9/d2/f4d173e22df740bc37b1db102b386ba719b66e95b0f0d751f556b387e6d2/anyio-4.15.1.tar.gz", hash = "sha256:9f28306018cbd6d329e64a36d58256edff76dd996fe423bc957326e578b82a94", size = 276
  • Network accessline 28
    sdist = { url = "https://files.pythonhosted.org/packages/a9/d2/f4d173e22df740bc37b1db102b386ba719b66e95b0f0d751f556b387e6d2/anyio-4.15.1.tar.gz", hash = "sha256:9f28306018cbd6d329e64a36d58256edff76dd996fe423bc957326e578b82a94", size = 27696
  • Network accessline 29
    wheels = [     { url = "https://files.pythonhosted.org/packages/12/b8/4bd346e22b28902df4d651910f5242c28d84e4a5c2435ca5c3f797ed7e2e/anyio-4.15.1-py3-none-any.whl", hash = "sha256:6152fdbbf9a77fdec97731721bebf7c4c44f7c29b424b0065826173efc7ed1
  • Network accessline 30
    { url = "https://files.pythonhosted.org/packages/12/b8/4bd346e22b28902df4d651910f5242c28d84e4a5c2435ca5c3f797ed7e2e/anyio-4.15.1-py3-none-any.whl", hash = "sha256:6152fdbbf9a77fdec97731721bebf7c4c44f7c29b424b0065826173efc7ed101", size = 132
  • Network accessline 34
    name = "certifi" version = "2026.10.23" source = { registry = "https://pypi.org/simple" }
  • Network accessline 35
    version = "2026.10.23" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/fd/11/b524cbd9bbdaca58608e4cf4053fd463417549e1959fa8d3aa18319f9555/certifi-2026.10.23.tar.gz", hash = "sha256:
  • Network accessline 36
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 37
    sdist = { url = "https://files.pythonhosted.org/packages/fd/11/b524cbd9bbdaca58608e4cf4053fd463417549e1959fa8d3aa18319f9555/certifi-2026.10.23.tar.gz", hash = "sha256:a9895e6e2758b371e0545e321a3a8fd1fcfd9829ada8824a936dfb16aaaf36cd", size =
  • Network accessline 38
    wheels = [     { url = "https://files.pythonhosted.org/packages/32/d1/a3652fe2c19134d0d15922177821d863cbd7e842d53a21bbe7e8e3a1b5ac/certifi-2026.10.23-py3-none-any.whl", hash = "sha256:e9b54de76e530bb6cf0ccd036787103acb58fd42ba930ea8bf948ddb
  • Network accessline 39
    { url = "https://files.pythonhosted.org/packages/32/d1/a3652fe2c19134d0d15922177821d863cbd7e842d53a21bbe7e8e3a1b5ac/certifi-2026.10.23-py3-none-any.whl", hash = "sha256:e9b54de76e530bb6cf0ccd036787103acb58fd42ba930ea8bf948ddbaa2f61d1", size
  • Network accessline 43
    name = "cffi" version = "2.1.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 44
    version = "2.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 45
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 46
    dependencies = [     { name = "pycparser", version = "3.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' and implementation_name != 'PyPy'" },     { name = "pycparser", version = "3.12", source 
  • Network accessline 47
    { name = "pycparser", version = "3.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' and implementation_name != 'PyPy'" },
  • Network accessline 48
    { name = "pycparser", version = "3.12", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' and implementation_name != 'PyPy'" },
  • Network accessline 49
    ] sdist = { url = "https://files.pythonhosted.org/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz", hash = "sha256:dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be", size = 53080
  • Network accessline 50
    sdist = { url = "https://files.pythonhosted.org/packages/9e/ef/008a1939e372c06329a3fce4279c02f328488f3526744906eeec3da7ad5f/cffi-2.1.1.tar.gz", hash = "sha256:dd31f52ea1086513bb9df30f8fcee9b8918323ae067a3d5b78bc826a000712be", size = 530807,
  • Network accessline 51
    wheels = [     { url = "https://files.pythonhosted.org/packages/b6/d2/2cde336b375f55c76ca670f0be3978cc048e31e24f3b4d7ce8473150a388/cffi-2.1.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:baed1e86cc735622097354b9d1281406caf42ff42a886
  • Network accessline 52
    { url = "https://files.pythonhosted.org/packages/b6/d2/2cde336b375f55c76ca670f0be3978cc048e31e24f3b4d7ce8473150a388/cffi-2.1.1-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:baed1e86cc735622097354b9d1281406caf42ff42a886d29faa8e8d16303
  • Network accessline 53
    { url = "https://files.pythonhosted.org/packages/94/1a/4b2f7c92293ba05cbd4a9a1b28faaf0326272d9488e6354657571c48a7aa/cffi-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ca82be1a1d406ecfe1d25dc16cb33488e5a16bf4438c9fb590484ea29d9247
  • Network accessline 54
    { url = "https://files.pythonhosted.org/packages/17/0b/ba385d8ccedf926c3cd06e8e2f327027da5afe5f0eb30f1f7bc43ac55125/cffi-2.1.1-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:42e2f7
  • Network accessline 55
    { url = "https://files.pythonhosted.org/packages/a3/b9/0f2e58b2cefa33255bff36935d42b13180fe559bba82596540eb404bde7d/cffi-2.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5a59cc1c4442bc3d5c703bf720b51138d0b
  • Network accessline 56
    { url = "https://files.pythonhosted.org/packages/37/15/180e0dab27b9312c7479003d14c9e547634b7dcb934e2cc4650e1b131a7a/cffi-2.1.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:9f8d177621de5cb38ee3e731eda45d421db
  • Network accessline 57
    { url = "https://files.pythonhosted.org/packages/18/d4/03026f0c850cbbaa9030750490225b4a7f4d524ea4df72c3cc740a90f4ef/cffi-2.1.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:75f80557d1389eddbd0de2681f6a390a0c5338c
  • Network accessline 58
    { url = "https://files.pythonhosted.org/packages/75/77/60bebf6f818bec84210ac5b6979ce4eeadce6fbbaabc9c7ab23e506d1ce5/cffi-2.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:194cffa889098ced9976c3fc6340305e43f63
  • Network accessline 59
    { url = "https://files.pythonhosted.org/packages/b0/ae/679bf47e73fd77b352171727f07de559a003f14de5d02b904a6ec1fa73ca/cffi-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5bb4e7ea95dcd6a014a6fef62e62467d67d8e582326443f3d68e71d632
  • Network accessline 60
    { url = "https://files.pythonhosted.org/packages/09/b8/eefc0e06913b70aa153bf74c946094a18f58fd4aff11b7f372bfdfdca050/cffi-2.1.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3d22a20b1fb1632cc72c22f95f7b0d2961c3e1c235f245ba4c606c4771035
  • Network accessline 61
    { url = "https://files.pythonhosted.org/packages/6f/13/4e56852824a03cdf68523a35686f1c28eacd4bd30a7b0a78e682e6e6e1d3/cffi-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1dea0e4d7d4f11f619fe8c1d76caf49e24405b4b5743c0e3be16a500ecd
  • Network accessline 62
    { url = "https://files.pythonhosted.org/packages/99/7f/040f9e163e4acac3ee3d85b02d00b2576e7ca980d8785f0a3a5f1a9bf7f5/cffi-2.1.1-cp310-cp310-win32.whl", hash = "sha256:7ce713ace7c0e4520535b42b77eaa742c16dab813978064913e5a3cf82973b41", size = 
  • Network accessline 63
    { url = "https://files.pythonhosted.org/packages/ba/0b/644a2ec1a4eaba49c2939410bb1eb1d25b09d6d0582f5d2f95c537043725/cffi-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:a48d62ab9d6f4f98c983223a547af44be6ca3691074c31cecced6facd3ba2dc1", siz
  • Network accessline 64
    { url = "https://files.pythonhosted.org/packages/70/d2/16d99a0c4948febc0ebd133a13b2f688ff7f8cb04da971e1128872ce0c03/cffi-2.1.1-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:c8d2c9fd1f2d16f780d15127abb050d13d1a76c03a4bd87d7e4980e45e51
  • Network accessline 65
    { url = "https://files.pythonhosted.org/packages/cd/95/31b535a9f0220ae9f357de4a08d57ce89cb417653c2fd9f075f50822a388/cffi-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:398aff33cee2767e3e781d2554c54bd0dff386bb437581e0d8011fde1a942e
  • Network accessline 66
    { url = "https://files.pythonhosted.org/packages/ad/5a/4707a0dc1f203f5dde5a907b0d4e3c25d71120241048bd5bc6f1bb9d4e71/cffi-2.1.1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:154852
  • Network accessline 67
    { url = "https://files.pythonhosted.org/packages/ad/66/c19feabb28485b6e0bbaaafa90837a1ef5d302e90f2178bd33f17a49879b/cffi-2.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3311ed60d36f83378794e1009ac6258bafb
  • Network accessline 68
    { url = "https://files.pythonhosted.org/packages/a7/92/500760486c8baab49a7a8a58ba7fc3355ec3974b454b8a09e528efde9e1d/cffi-2.1.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:6e192623c49c94421616a5778fba35cf0d5
  • Network accessline 69
    { url = "https://files.pythonhosted.org/packages/a5/a7/a67c733254d6e7373f7822f8082d8d6beade791e0cf12a7611f376fa61c7/cffi-2.1.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a6e721d4b0e45d5b65e87534470e67b18dcd092
  • Network accessline 70
    { url = "https://files.pythonhosted.org/packages/f7/a4/4399daaf8f7dfee9d7c3327fdb0426ee041cc63edc358b93911ceb2bfc7a/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34e261f78cb6ceaaa36f42f2613f4380d94d9
  • Network accessline 71
    { url = "https://files.pythonhosted.org/packages/28/f7/dabe6da2466ecbd82dc62e7342dc6b1065dad990c06f00f0ede9ebf2a0ed/cffi-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7225e4514edb64eb6740324353e0da0711954fd8d7da4576755b1c6e09
  • Network accessline 72
    { url = "https://files.pythonhosted.org/packages/ce/87/616202d8e51342c07d2534c510111c4cc37201775ce8f60802c9335d1edd/cffi-2.1.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:df913725b79db7bcf03448f36b7bf8815363417d5b58deecf9305e3e30f0f
  • Network accessline 73
    { url = "https://files.pythonhosted.org/packages/b4/c6/ab025d75d2c26c19b087c0124e75ee31cb65032f4fe345d356d8c507ab97/cffi-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f5cfbc5fe74540d335175b656c725d74d90e3730c626d92575eea35029d
  • Network accessline 74
    { url = "https://files.pythonhosted.org/packages/db/e2/7e8109f65445bdc673a7b54f02c677de462db75674220fd1335efc8eb598/cffi-2.1.1-cp311-cp311-win32.whl", hash = "sha256:f8ec5e643a9a937f64e1999eb9f75d072263751912dc5cd06d3c85f8f44be7c3", size = 
  • Network accessline 75
    { url = "https://files.pythonhosted.org/packages/73/c0/77ba02423c2f7d7091143c45cd49e0e6575c4c1967394bb542bd923a9b74/cffi-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:42f6930c31dc7f50732c9ae793c2786c7b6b044195967bbdde40bb9be81c4cc0", siz
  • Network accessline 76
    { url = "https://files.pythonhosted.org/packages/7c/47/9f1f85f9672ceda4984dc6c4f8824e8558992a2972c3d3c81fb8eb28d4ba/cffi-2.1.1-cp311-cp311-win_arm64.whl", hash = "sha256:c7659f22557c5a0bc4855cd635f55edec690cc008a40768527762cb9fb263455", siz
  • Network accessline 77
    { url = "https://files.pythonhosted.org/packages/10/69/43965eccfdead3b9220015fd1320e117be8c6ed01a62ffab76eeb752f5d5/cffi-2.1.1-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:c8c69575568085ba0b1b10c0249d779a214aea6f6522e949a0fc9fb0fcb4
  • Network accessline 78
    { url = "https://files.pythonhosted.org/packages/54/7d/16e5a096677b5e313ca80cd5e5170efa3ea44624a82bb111925522da64b1/cffi-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f81b3b8f3d4e343550fa4baa0e479bba9f2d29ce9c2e9b51d1ce1718d7442f
  • Network accessline 79
    { url = "https://files.pythonhosted.org/packages/56/e6/8941622732edec876dd17d0453dce07317ae96db34f2ec1436c9d3785986/cffi-2.1.1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:811bd1
  • Network accessline 80
    { url = "https://files.pythonhosted.org/packages/44/de/f98430906df1545ffde0d543dd124a7a439bc2cd32b36b9c53f805df7333/cffi-2.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:68e62fe11f30d5ca8289242866f0a529140
  • Network accessline 81
    { url = "https://files.pythonhosted.org/packages/6a/5b/717f1526b9957b34456313c31645c5b82b8fb5c3fe9e4752999be7128bfc/cffi-2.1.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:4a7c934f7360e8cd64fe9efadcbd10c7c63
  • Network accessline 82
    { url = "https://files.pythonhosted.org/packages/64/b3/f8aa4f3e34986c7e4ec45072d1b1b9dd295b6b18007b45518d79726dd725/cffi-2.1.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:3143d81e29e1e20a9ce10901ec3690129478765
  • Network accessline 83
    { url = "https://files.pythonhosted.org/packages/b1/db/dceb9dd5b231e1da801793f8acc9f3c52a7e1afe40bb1aae37e02b0faad5/cffi-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c1453022f490d2459a11819d83ad1d586e9ff
  • Network accessline 84
    { url = "https://files.pythonhosted.org/packages/a0/d2/6cd24ae3be000a634109c247d1475d62e5616d0dc78c82770942ec384248/cffi-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:208f941bb9d18e768138677f0a6d2ce01f590df56043dda1df1535ac57
  • Network accessline 85
    { url = "https://files.pythonhosted.org/packages/cb/52/3fa190537004dd7f0ab860a6dc7c0175b8667f68d1e618a46f5498d30250/cffi-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:210019b6c7cf07f081b4c54635c8cf744377001350e29cc0f81c4377b47
  • Network accessline 86
    { url = "https://files.pythonhosted.org/packages/80/fb/0bb75b7039588c074b37ae99f40d9bfddf990ecb2fbc346ebccd2e56b9be/cffi-2.1.1-cp312-cp312-win32.whl", hash = "sha256:046bfc24911b37851ee1b51aab8bffe713d89c68c6a057b09484ce9fd5f69b4e", size = 
  • Network accessline 87
    { url = "https://files.pythonhosted.org/packages/d9/79/615cc094e2fb508cade7de88d3b4f6c4ec2bab695c97bce9153dc65aadf5/cffi-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:f53e442b08449d42821fa4a4fba000095af9f62742a500f978a9f557ec44339a", siz
  • Network accessline 88
    { url = "https://files.pythonhosted.org/packages/70/c6/d0ea84713fe46b243a436a18fcd47d639732747e21635c8a27191b06dc30/cffi-2.1.1-cp312-cp312-win_arm64.whl", hash = "sha256:7bde5e4cc5c10140859842b9d383af292b22639a4dffb725314baf45968cef80", siz
  • Network accessline 89
    { url = "https://files.pythonhosted.org/packages/9d/f4/035513d4117049066b4779dc3b7c0c0fdad175fa13731c9f4003f1cd1478/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:b5bdfd1c873d4e093aabc0ca84c4ca6dbc4f752afb5c86f146d97425
  • Network accessline 90
    { url = "https://files.pythonhosted.org/packages/76/af/2aeb4dbb5fc41a04161ae9ff1518de7cec08e164f44a8ce6a4cf7fd2cd1d/cffi-2.1.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:31348097ff5bbe827ccc41795d4dd099d9f0625e7def00ee6
  • Network accessline 91
    { url = "https://files.pythonhosted.org/packages/a7/46/2e5fdde8555706dd98139a910ca11be02809f3f605ce956f655d0214e100/cffi-2.1.1-cp313-cp313-macosx_10_15_x86_64.whl", hash = "sha256:9d2055050ea716bd38b7f7f1579c275386646b4894c155a3e2f3cd62ed41
  • Network accessline 92
    { url = "https://files.pythonhosted.org/packages/55/41/4c7042f317b9217502988f0873af87e16ad606dc20f84e546e3e6ce9764c/cffi-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:19ee6127ee34de7d83ce3d371ebc5ed91addbdcc39f9ab15ce4eb35a4e5349
  • Network accessline 93
    { url = "https://files.pythonhosted.org/packages/43/1f/1c3d90d91811c8f86ced9ed637956c54bfe5b79ca98fe976d7f8c8979f6b/cffi-2.1.1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6a8ddd
  • Network accessline 94
    { url = "https://files.pythonhosted.org/packages/37/6f/3b5ce4c3b2192d250f04908f2bfd91ef34552ec8f7716a5d4abdb8d67bb2/cffi-2.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f16c709686a78c727bbbf059f92b0bf41c6
  • Network accessline 95
    { url = "https://files.pythonhosted.org/packages/02/10/4b3c75dde3d9663c9e02ba05c2668b954f671d4bbe346413ca8c696b295a/cffi-2.1.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:fcd22650c908d7b7da162bbfaab594a1227
  • Network accessline 96
    { url = "https://files.pythonhosted.org/packages/df/62/14f74b9543e605d17701dc797b815958b8bb70b7624ce1b832ddad48ed6c/cffi-2.1.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:aa9511c62d14da7aacc9b4bf51f3f697a621e83
  • Network accessline 97
    { url = "https://files.pythonhosted.org/packages/95/95/86342356ff5953b3fb06f7ef7c5bee212d45e770abc7218d451b9148313c/cffi-2.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a931079504ecc49efed7744c476a5c343a92f
  • Network accessline 98
    { url = "https://files.pythonhosted.org/packages/eb/ff/7b3429ff53aafe931ed8a5fc69f481bbef7ba6de87ddcbb63d08f483f613/cffi-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a2d7755bef5a12ed488f4ef1f1b69ee9191d7396083b755a5d2295f6ed
  • Network accessline 99
    { url = "https://files.pythonhosted.org/packages/34/34/a95870b9221e09cf4f2ce3178b1a210abdfe63a1bd357da940418d7b8d15/cffi-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e0bcb7e0f677f543555d2adff3bf19c05f66cdb4796e5ff602442ab2fe3
  • Network accessline 100
    { url = "https://files.pythonhosted.org/packages/70/ea/839b50531021a647fb5e929f72cf97bc1ff702b5472166164b5b6e76b851/cffi-2.1.1-cp313-cp313-win32.whl", hash = "sha256:334644fbac4eff73d985a17a91226df55d0f394160c4cfb880e084c8f7161cac", size = 
  • Network accessline 101
    { url = "https://files.pythonhosted.org/packages/60/a6/8b149b2c3f2e11aaa1618ef64500b45f50f22c57a977a4dff1aff1f91042/cffi-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:1aa5645c30469b09530c4ebca77ebf8f17618293c58f8549cb1a543a50236e7d", siz
  • Network accessline 102
    { url = "https://files.pythonhosted.org/packages/01/9a/11f687cb39d6a3504060d5242f04f48c735afb4d3d533958a20594890cb2/cffi-2.1.1-cp313-cp313-win_arm64.whl", hash = "sha256:63bbfd5ded17c4840ac07cd8f1c21ba9d9708141f840b324f422f41b207e3973", siz
  • Network accessline 103
    { url = "https://files.pythonhosted.org/packages/d3/7b/d6bbf82b8b96e7391438898c42f5bd96dd02030fd5b64937d248220003e2/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7dbb61fe3a7699468030f71bbe5f8a0e326a151daa91beb11a6fc1f9
  • Network accessline 104
    { url = "https://files.pythonhosted.org/packages/94/e6/bcc91b283be94735e268487a054004f0aa19947b6348fa367db53230abc8/cffi-2.1.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:f24fb43132a4c6b4cb4eb029492919b2db645be6808d738f2
  • Network accessline 105
    { url = "https://files.pythonhosted.org/packages/d9/99/c4b0c17cacdc9c3b8f280026286a9826d6a208c0f047591a3c3ce99b91fd/cffi-2.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d28630f5854ab07ab1fd4aba756de52326c82e6be15d414b12793f197504
  • Network accessline 106
    { url = "https://files.pythonhosted.org/packages/b3/a9/9db617d05d7367c1ad0ab00b3aa6e6f9281edd689b4ee9ea0e5a84e89c97/cffi-2.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:661c298b4821edebead0c91edd2b00374d67ad7c5a1f7a91d4442633b79d6a
  • Network accessline 107
    { url = "https://files.pythonhosted.org/packages/67/b8/b42132ca113dc567d37684437b46ca1dafc885902b02a110a02d5b511857/cffi-2.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:58acb8ab8e295e6c5ea12f888cbb13cf215
  • Network accessline 108
    { url = "https://files.pythonhosted.org/packages/80/10/c5c0cbf0a657aecf59ef511409734230bf556f05a0d6c9eed7aa5c0a0166/cffi-2.1.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:456a61fa52d579ebf9df2e9552ead512985
  • Network accessline 109
    { url = "https://files.pythonhosted.org/packages/d5/6c/bfa0b87b03b9238148beca990292843c9396ba069b54496596594173de7b/cffi-2.1.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a4f00aa42f75d6e4595e8866e748cc1705adc0c
  • Network accessline 110
    { url = "https://files.pythonhosted.org/packages/e9/02/4e7d553a7ac4b4238b38b3c1b80d486e9d4436f8d2acbf87a0997fe3f402/cffi-2.1.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b0431303acaea1089ad4b3e9ce4e6518193de
  • Network accessline 111
    { url = "https://files.pythonhosted.org/packages/82/1d/a4aaf9babd75acb4d5f223bff71533bee748dd770a382619a798960ee9ba/cffi-2.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:64faea20f4e2613363a1a9b9c7dd73058f3ecd00133a511e72ad7c5116
  • Network accessline 112
    { url = "https://files.pythonhosted.org/packages/81/10/5dc0e7bdd18e22107054288283380fc97a06ae3f1656a106908d666a3c88/cffi-2.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5c58fe613dc5e5336357eff555824a314d8e43282600435c8d1cb6a7a2f
  • Network accessline 113
    { url = "https://files.pythonhosted.org/packages/0b/e9/d0061c364cde06ee43168a0d076ac1da512cbc380d44767b844ba34fe2b6/cffi-2.1.1-cp314-cp314-win32.whl", hash = "sha256:1a18a57b58cfb21fc28d72e876acf10eaed67a1ed96226f92af4df681d571c4c", size = 
  • Network accessline 114
    { url = "https://files.pythonhosted.org/packages/a7/06/1c3e01e3ba14c39f6d10bfbac52753b7e22259e38088e5cfe1d704918690/cffi-2.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:3222ba5d678f80a030e6afbcc33dc1ae5cb45facabb61cee2c7016b8432fde48", siz
  • Network accessline 115
    { url = "https://files.pythonhosted.org/packages/87/5b/da4e39efe18eeb89cf580ea9cfc66b6a7c3eadb808fc0cc1d3a295cb5a5d/cffi-2.1.1-cp314-cp314-win_arm64.whl", hash = "sha256:ab36d55f9ed2d067327667c2fea18dda018eb628dd6347aa01dda6cf1f5d3836", siz
  • Network accessline 116
    { url = "https://files.pythonhosted.org/packages/23/59/40338bf421c5accea1d45158170c87006ef1cd371b05c077e76476949728/cffi-2.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:7750c6449dff7864bb9bb27ddfb0267756189201a3afc911d82b3caacd7
  • Network accessline 117
    { url = "https://files.pythonhosted.org/packages/7d/47/5ecf1023850036e674c77ec4de86182d309ae344e39e7cba984b7df5d647/cffi-2.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0beceaabe56af686895136a2de78db54ecd8e4046b236b8fd6d6cb61389e9
  • Network accessline 118
    { url = "https://files.pythonhosted.org/packages/2a/9c/92934c3bea9f785b23eba304538c0b4d37a2a96d2431eb3a1bc87a11aa19/cffi-2.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:49cbc70e6542d4ccccb936558d1064a801
  • Network accessline 119
    { url = "https://files.pythonhosted.org/packages/4d/45/ba4c93527bc38616a8bd36488acb69a2212d60486794f0c1f318949bbb76/cffi-2.1.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e2d65b31f36619cda3999b78b2aa9632e7
  • Network accessline 120
    { url = "https://files.pythonhosted.org/packages/80/e9/b6ef565e452acb932fb0cb5443f44a78efbd1233e566f02b5a83855e9115/cffi-2.1.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:28907ab9bfb6aa13184cfc17c6b8e1023c5ab6
  • Network accessline 121
    { url = "https://files.pythonhosted.org/packages/9a/95/eff5f0cee78d2eabc7eebffec40d3fc1876b5f3c95582e018bb4b99601f2/cffi-2.1.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:51b31d1c98274844cfd7838ce00bfc27c742
  • Network accessline 122
    { url = "https://files.pythonhosted.org/packages/fa/01/579d39fb8bef00a335a23d83757b44feb24cd6345a2c451b64cb67b9c362/cffi-2.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e7cecbaadb83884793e05828cee59b210b24583b9c7425d0ba6a754f
  • Network accessline 123
    { url = "https://files.pythonhosted.org/packages/8d/b0/0b44f47c60b01b57b6e2bbd92343f13a85a1d93bc46ccf6e47e244acd99c/cffi-2.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:25792eac27877609e7bb06d42ff88278a6624fff2ba9bbb523c09616b1
  • Network accessline 124
    { url = "https://files.pythonhosted.org/packages/eb/d2/3b7176cb570a1d3e27faf67b72f591af508036e0d8b2be2ef9af9e8c84bb/cffi-2.1.1-cp314-cp314t-win32.whl", hash = "sha256:8ef53b2de9bcb9197d31854256575d59dbac0cba72ac627bb291ef5eceb74be4", size =
  • Network accessline 125
    { url = "https://files.pythonhosted.org/packages/56/78/31f00c1bcd97c9bbf55f1bfdf5bc809a5de8887473e90bb9960dca825e80/cffi-2.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:616f097f2fe415bc92a247f02e11f634e1f9e9a83d327e3c915c15089c87869e", si
  • Network accessline 126
    { url = "https://files.pythonhosted.org/packages/7b/1b/58496f2ed0a35de575250c02a43ab3cc2c04d494a88fed31c1cabc0fd176/cffi-2.1.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ad2c86c495b899d862ea0f4b42891b8713a3bd45dd4105c7fd51c2a72f39f3a5", si
  • Network accessline 127
    { url = "https://files.pythonhosted.org/packages/c1/8f/9ebe220eab48a093d1a5a5e339ab0dc7316eef3bb04d63c42f0251b61f50/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:dddad92b554513a31f272570678ba307fb9f618f05e3d4a5eacafff9
  • Network accessline 128
    { url = "https://files.pythonhosted.org/packages/ff/69/844bad3ece306c4782c2ecb93597035b6690d48704b803914c199da1e8b3/cffi-2.1.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:da0e573f9f97159390c89d9f1a9e41908b66d408cc5b58d08
  • Network accessline 129
    { url = "https://files.pythonhosted.org/packages/1b/8a/af668013284634733f02d683458a0728739c7d6ddb5e14cb0c20832266fe/cffi-2.1.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:fb92203a88b3d3053034db775110081c49d28be6551923805e0399240937
  • Network accessline 130
    { url = "https://files.pythonhosted.org/packages/0c/75/2f5207ff6d1a613133b23a5203cc0c2a628313b5eb3974d7956ae3c57950/cffi-2.1.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:2ae64be792b8966f2c69538199728b290e34726562896df1e5dc8ffd8d8188
  • Network accessline 131
    { url = "https://files.pythonhosted.org/packages/e2/31/9e1313b0a6e30e91b3b3d3fff51ae99c857c07738e3afcce1f7334e1b7ab/cffi-2.1.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:507a24c282e0f42f8ed737cf048572cbf58
  • Network accessline 132
    { url = "https://files.pythonhosted.org/packages/50/e3/f6234a833e6e08c7007003074723c406559eecf9b48dfc97471e5a8eb7a0/cffi-2.1.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:246fa40ce8645a614ff682e0b70f37134e4
  • Network accessline 133
    { url = "https://files.pythonhosted.org/packages/0d/fc/5f74e293fced6edb51af3a46c4ccf6c23c9943774ecb375ddbd522c76add/cffi-2.1.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:471cee653ae88de62096552e6d24ccb4a5adb8c
  • Network accessline 134
    { url = "https://files.pythonhosted.org/packages/44/16/29e6d01b388bef055ecd6ca8244b3f4d336bd09e92d5d892187b9601084e/cffi-2.1.1-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aeae0e330c9f6acd681f647d46cefd30c29f9
  • Network accessline 135
    { url = "https://files.pythonhosted.org/packages/a4/18/fa7f1f6857d5eb88a4ca99ffcbfb7c387a287ccc154c64a73e86314745d7/cffi-2.1.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:42a494cee34437f05546455144f2b5d9ac09b1face62bcfce597d2e521
  • Network accessline 136
    { url = "https://files.pythonhosted.org/packages/e0/9f/e8e3dfa04a1b4c241f8c91faacad872b4d4efd051d49764ad4e2fd4b9fea/cffi-2.1.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:cc572dace3f60ef98d7b12ff411d20f5362feb31a0439eab0085bbfd349
  • Network accessline 137
    { url = "https://files.pythonhosted.org/packages/f8/7e/8debeb04f1ab9fe2a6963964cd6f1aaf7192627b83926586a6a4e089c9fa/cffi-2.1.1-cp315-cp315-win32.whl", hash = "sha256:4f42141fc14250de6dde5ee7ea4432be017252d91f19c5ad043c084cea629cac", size = 
  • Network accessline 138
    { url = "https://files.pythonhosted.org/packages/e0/31/5158704cc474ab65c1647932e88be78dc0873f47130e253be38bcaf13d01/cffi-2.1.1-cp315-cp315-win_amd64.whl", hash = "sha256:e6e8cff14d6fb0be70a09c0bdc58096f501952d04624ebf867e0e56da2df8960", siz
  • Network accessline 139
    { url = "https://files.pythonhosted.org/packages/cc/4b/b3a2da8570c704ffc0f9762cdc3ec0f02c8573798e0b5cf7f11c82bbb70f/cffi-2.1.1-cp315-cp315-win_arm64.whl", hash = "sha256:27350daa11d4f10c540e6e89dada4c54feb7256ad03e9a4dc075ebad7ba360d1", siz
  • Network accessline 140
    { url = "https://files.pythonhosted.org/packages/d0/ef/5443574510a1207e6f6bc38ba6e1f1de36cb48fef07b2728bb896a21f430/cffi-2.1.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:c26608d2222fb1e94487e4a387d85f13eb55d5ed725cb25a0c589ac4ee6
  • Network accessline 141
    { url = "https://files.pythonhosted.org/packages/7e/ae/a56fa8c4686ad50e148fcbc8d3ae0d03915ff5c30d795058988c24118cef/cffi-2.1.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:4be96343e422f2dfcd12ab5c9f5aebe03f82f737c6bffeca6830b3875cb44
  • Network accessline 142
    { url = "https://files.pythonhosted.org/packages/53/b2/6187f46f2912276a3ae284076109cc5c8680482f11f766ccf26db4a86427/cffi-2.1.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:937c0052c05a31ca1daf18de3158eed4db
  • Network accessline 143
    { url = "https://files.pythonhosted.org/packages/8a/f6/c3ad28bd19f77047a03084424fbd4cbe997303267c14423737324be0385d/cffi-2.1.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:df423d40ee8654634421812bc3b196da3f
  • Network accessline 144
    { url = "https://files.pythonhosted.org/packages/a0/cd/ccac9013a5bd9fd764de118674ab9c805b5ca10c19270d90ee273f8b2240/cffi-2.1.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:a730a083190634c65cca36ba5f489531576ebd
  • Network accessline 145
    { url = "https://files.pythonhosted.org/packages/52/86/2976131c639aead931c5bee5aba67e4b09fbeb8018b6f282f70803f923a7/cffi-2.1.1-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:363e05fa78e15116c3c32c210ee36884fd6b
  • Network accessline 146
    { url = "https://files.pythonhosted.org/packages/ac/0c/33a7aeab2f9c76918c52e084beb39c570db3588133412929e8ec06fab90b/cffi-2.1.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:770de9db11e84213beec501cfcaa013b019820ca881e03344dea5844f
  • Network accessline 147
    { url = "https://files.pythonhosted.org/packages/e3/26/2cde30fdde421130bfc18f70395731a6e6b2053c6a1978a5258ff04e72fa/cffi-2.1.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:7da0c5eff80f0197f3b3d1232ec5a682a9325f4ae9016a78f5f5ca35f9
  • Network accessline 148
    { url = "https://files.pythonhosted.org/packages/6d/cd/a361394c94b2129d604bb846f624a8e88255a3ee33129c434a00d715e64f/cffi-2.1.1-cp315-cp315t-win32.whl", hash = "sha256:06c72bb76605a4b0cd0aad6930b69d4baf7dd5d806cfc409b824191099700e66", size =
  • Network accessline 149
    { url = "https://files.pythonhosted.org/packages/9b/b5/ba2b299993c26577d529b6ae29841f9e15b9fcf004d65f423f4fcf94ade9/cffi-2.1.1-cp315-cp315t-win_amd64.whl", hash = "sha256:d9c275eaacd24aa73f94ffd6de08fc3f932424d8b6c376f4bed7cde376fe7bc3", si
  • Network accessline 150
    { url = "https://files.pythonhosted.org/packages/aa/29/35e016098c814cd93de9cd320c66b5bfba14dc6ecedd3cb518fa7c408c69/cffi-2.1.1-cp315-cp315t-win_arm64.whl", hash = "sha256:d18e5ac0f2f03f4f518d3e23db0f0cad7faa1da8620e9c09461d443bbf6e6692", si
  • Network accessline 154
    name = "charset-normalizer" version = "3.5.2" source = { registry = "https://pypi.org/simple" }
  • Network accessline 155
    version = "3.5.2" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz", hash = "sha256
  • Network accessline 156
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 157
    sdist = { url = "https://files.pythonhosted.org/packages/33/1c/f41d4e74c28ab327ff3acd36053f7ea506c55872d7a90b0fa71aa3ab0c89/charset_normalizer-3.5.2.tar.gz", hash = "sha256:39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef", 
  • Network accessline 158
    wheels = [     { url = "https://files.pythonhosted.org/packages/98/77/46e87bcfc45d25ab4db7cfc9bb544bfa3ffd302289ed31ae93f5433eb899/charset_normalizer-3.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:195c26fb65950f8fce54e2634985
  • Network accessline 159
    { url = "https://files.pythonhosted.org/packages/98/77/46e87bcfc45d25ab4db7cfc9bb544bfa3ffd302289ed31ae93f5433eb899/charset_normalizer-3.5.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:195c26fb65950f8fce54e26349852b7bdd7c5f120ae
  • Network accessline 160
    { url = "https://files.pythonhosted.org/packages/52/fc/e518013affcc43c9f919c3ba41bffe9b4ee4aceb0a6462a6243efcca5f2d/charset_normalizer-3.5.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha25
  • Network accessline 161
    { url = "https://files.pythonhosted.org/packages/d5/ad/2a895c945ee61988dfd9ccee64f0b78dc09f29c9b34d1dd545246d78e0ad/charset_normalizer-3.5.2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d
  • Network accessline 162
    { url = "https://files.pythonhosted.org/packages/c9/05/5d958bc8ea503e26be25ada5430fd409cfb45dc22ff33f9f96e649613c99/charset_normalizer-3.5.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha25
  • Network accessline 163
    { url = "https://files.pythonhosted.org/packages/55/e2/06bad57dfdb49cad92c0ba85b6b4fa5827a67df37897287cfef0553843c2/charset_normalizer-3.5.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:28a1
  • Network accessline 164
    { url = "https://files.pythonhosted.org/packages/c4/9f/9f52d2886d52645987d603425482c63c5045a3005db1354a7097e5ed1ae9/charset_normalizer-3.5.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8
  • Network accessline 165
    { url = "https://files.pythonhosted.org/packages/4a/41/e05e19578b7b87e7db2c3ecb884bd09d065274ab41e1f535542e8bae9b06/charset_normalizer-3.5.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:619799369eeef6366ed3
  • Network accessline 166
    { url = "https://files.pythonhosted.org/packages/c2/cd/fc7152414561ff78f9c61a4a627025f65fd244abaefc99ac4e75c6169b33/charset_normalizer-3.5.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:447441e76ec720b15e64418d32e09229734038705304
  • Network accessline 167
    { url = "https://files.pythonhosted.org/packages/71/71/fb379e399b1013962716a059d551e03bd80b3e02f05d81246886af6c0958/charset_normalizer-3.5.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:62588a277bfb59def052abd940703fa35107152bf4797
  • Network accessline 168
    { url = "https://files.pythonhosted.org/packages/33/4f/aeadccd6d20882909eb2597ec40eccc05d505e2262f14dc76d7620700657/charset_normalizer-3.5.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:44bd4fbb29dfbeba60e7d2bd000c59e4b21ddb3cc539
  • Network accessline 169
    { url = "https://files.pythonhosted.org/packages/b9/7b/e8a92613236b257d3b75d532496eb21f68ad8231d7d56df94497e460112e/charset_normalizer-3.5.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:30fcd120b732aa79317f08dee04d7de0847822e4cf7e
  • Network accessline 170
    { url = "https://files.pythonhosted.org/packages/ff/ac/21d5c6b972285c5f095ff78afdc99f3539e3985dfcf7ff1cfbe9e772f529/charset_normalizer-3.5.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:50e3adfb96fc189eb27b1cf62d3b598b89b4bb0420d93a
  • Network accessline 171
    { url = "https://files.pythonhosted.org/packages/59/72/263491ec1494a194b16fcbff88a0220f2af633738c79e92b4d7189226322/charset_normalizer-3.5.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b736353c0a625bbd5fcec108576e2385db3496f4f771f
  • Network accessline 172
    { url = "https://files.pythonhosted.org/packages/38/7a/81f1186c57e406233969ae96b5fd0c907254ab8b6e47da8ae24cd20fb9d7/charset_normalizer-3.5.2-cp310-cp310-win32.whl", hash = "sha256:f5833ad231be5eb6553de524a70f48d71b2c8563101750531e0b80184e17
  • Network accessline 173
    { url = "https://files.pythonhosted.org/packages/ae/ab/fb8b5178fdf7bf68efa61cbe892286bc9f73846f26147d4725fb89388475/charset_normalizer-3.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:1461ac396c4fdb983a675f20aa555624f0ee18ac83d832b9244ffff3
  • Network accessline 174
    { url = "https://files.pythonhosted.org/packages/36/40/e270b74e0d3f583d78d902960845a149e80eb7c737ee5613ccc6efc7264b/charset_normalizer-3.5.2-cp310-cp310-win_arm64.whl", hash = "sha256:c6708715abcf3c73b99508253e961a9967f02fe536532834149574ed
  • Network accessline 175
    { url = "https://files.pythonhosted.org/packages/22/67/6a0b94a7960d5e1b5eacd2fb529f3fccc47db4644f7f0a7cfdcfc3be578a/charset_normalizer-3.5.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3d21b8b13c7592db2ac5e544a6d83187b995257472b
  • Network accessline 176
    { url = "https://files.pythonhosted.org/packages/fb/94/01009e13b94041599004edf32e56e382c24e570f60f79bab8efe45cfe1eb/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha25
  • Network accessline 177
    { url = "https://files.pythonhosted.org/packages/66/85/3b5358f60a13210f0b67d3755c168ef758701b021e655d88d4da28554467/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c
  • Network accessline 178
    { url = "https://files.pythonhosted.org/packages/74/75/77c1c479b09ecd751d1e767b251ea5c14d4d50ff757bf404afab2692f600/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha25
  • Network accessline 179
    { url = "https://files.pythonhosted.org/packages/0b/0d/363f78cacb70f58f15f4b083961bbd9d292f335d3f5c66fc4f1cfe69cb90/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4495
  • Network accessline 180
    { url = "https://files.pythonhosted.org/packages/e4/ed/cf505d3011ffceb12c2067a7a5d3cfe92b875d4d44bb0ff0d69375e2c184/charset_normalizer-3.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2
  • Network accessline 181
    { url = "https://files.pythonhosted.org/packages/15/d8/f0a93a431d170e7ca681d4f6650fee3de934d18560e474e7267eb4b0f987/charset_normalizer-3.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ef4fcbf3327382cd4c9f
  • Network accessline 182
    { url = "https://files.pythonhosted.org/packages/86/bd/9b2bd1c5b7af02462c9752d33994834ff972a96b4c483eefde9e594488e2/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd16aabe4a02a297c23417aa17ac6299dbd8c49f673b
  • Network accessline 183
    { url = "https://files.pythonhosted.org/packages/76/a5/cac540ab0fd61f3fec88ad3dbb64509e71424593d73cfdfff5ab3e4db279/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:fb9e68df06293761f9fe66ade60a9bc6d0f5e42b8acf2
  • Network accessline 184
    { url = "https://files.pythonhosted.org/packages/71/7a/ff467301deef2089fad87f72df9e000a26a78fec7acbb18e1999371b8369/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:59f63901b0031c3136cf64704dcb21de0bbae62ce2c9
  • Network accessline 185
    { url = "https://files.pythonhosted.org/packages/ad/77/22d7e785d1e210afc2e2f58600dd1799d17a35665faf84383f002826c5f8/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:304d5463e65a35d7bb0850550e0780395395f6fcf452
  • Network accessline 186
    { url = "https://files.pythonhosted.org/packages/ae/91/e8e946267f1c2d9e2bd651726e2fbd2addf02c4d36cea5069e32ca9d7bb5/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9cf9b1a857e25c4baceeb3624e92a56df3668f398c4acb
  • Network accessline 187
    { url = "https://files.pythonhosted.org/packages/4e/88/7561d8a88d555e7df6623abe7c0070b4baf47549b9408783a2ae0a1a6cf7/charset_normalizer-3.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:114e4d0c92d618409ed82a99e22b5c5e768fe995f2973
  • Network accessline 188
    { url = "https://files.pythonhosted.org/packages/35/7e/578c702301ec036f01455f30744a08d2b42f6ab35b9b2d4bf8cae0ef2a80/charset_normalizer-3.5.2-cp311-cp311-win32.whl", hash = "sha256:2625388c6c754520c37abaf3b41eb34d1cc4a373f457898f08606c8e362b
  • Network accessline 189
    { url = "https://files.pythonhosted.org/packages/e8/fc/fdf8cf52ff21cd5bf158f20978991cf985325842f74283eb6df26c8a39d8/charset_normalizer-3.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:87e50a3e7cb90af586b6c5faf23e302a970415ac73bd7bd90a515a04
  • Network accessline 190
    { url = "https://files.pythonhosted.org/packages/97/66/3e45a506d8110b632541faf9a9470185aa9878f1ed44020f31346c1c5e5b/charset_normalizer-3.5.2-cp311-cp311-win_arm64.whl", hash = "sha256:254eb48b9fa5ee9898a3c445825a1f340fe53712a098904b39b0bddb
  • Network accessline 191
    { url = "https://files.pythonhosted.org/packages/e7/c8/693809898870237d82785a03f3b2b58fe4c9f14669f84a7d4e623c92a59e/charset_normalizer-3.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ed2a239c0ea213acc1908150a3037257083c7c0831
  • Network accessline 192
    { url = "https://files.pythonhosted.org/packages/c9/87/2fea8c13dc24b3ca9c6f803a5b2dfdeae73eb4f9e12c7885ed908ff0433c/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha25
  • Network accessline 193
    { url = "https://files.pythonhosted.org/packages/a8/9e/09efac30b937722f46d3110ba30b875b24b2e3a266ed746cc4e376a94d80/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3
  • Network accessline 194
    { url = "https://files.pythonhosted.org/packages/9e/18/70d76670b13686237863a379928d60bd10e021f17d243ab3d7014c4a5f4e/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha25
  • Network accessline 195
    { url = "https://files.pythonhosted.org/packages/54/e2/77a8b09d5adc013ed07b95b01b8b8fa5441c4e810e83ee7e4aae2fa4d91a/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ee21
  • Network accessline 196
    { url = "https://files.pythonhosted.org/packages/7f/c5/38806a25ab5e65fc178f39affeda20858efafede2fce1ffc2556cfc9fe73/charset_normalizer-3.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3
  • Network accessline 197
    { url = "https://files.pythonhosted.org/packages/ae/8d/213565184708fdb263ae55e2c04ee1ff748129dd65d48ed0e3502da9c85a/charset_normalizer-3.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5cde776b7cc66e4f6c99
  • Network accessline 198
    { url = "https://files.pythonhosted.org/packages/7e/24/76d2cefc25472531e4c5c7dfff68865eb1c39b78482f0fdc15b46f047830/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae4f5fea5b8b8ccff88238cc8569303e5ee95efae67f
  • Network accessline 199
    { url = "https://files.pythonhosted.org/packages/7d/dc/65a801b66ab4c197e22c433ab25e7ac24324ac6f45a2269aca42cce309bf/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:f7d486c83842422badd511868fd8a9a20e9407ace7156
  • Network accessline 200
    { url = "https://files.pythonhosted.org/packages/a7/95/ca9b5eabde673002c6f1e7ada1b223916fe18f6d661da7aabd4d643718f1/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:11a4d68a6ecda3292cb1e50239e111543ba5d709bb62
  • Network accessline 201
    { url = "https://files.pythonhosted.org/packages/2d/8b/803b4d2a3f6e1740f63f1e87b04d14b42f3d4fdfe6ed7d4db2d34102b14f/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d6734d2ef8a50fbf8445c139477da401f50d62a0606b
  • Network accessline 202
    { url = "https://files.pythonhosted.org/packages/a9/55/93c0e5dbd085ae0471346026abbe7e0db9ea2d6fea74e51f0b5a46f233a7/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a815775b6c38d4e0ff7bcffbeba67feded90202bb6a226
  • Network accessline 203
    { url = "https://files.pythonhosted.org/packages/95/69/0dbd0e0b9b16cfa816cdfcb3e2e3854a1f680dc07fb1245ea125e7448060/charset_normalizer-3.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:23851fb4e1b85ed3f6c2a27b777cdfe2e19fb5b38429a
  • Network accessline 204
    { url = "https://files.pythonhosted.org/packages/58/9d/e7b88e7b1bf403590c3b573277b5e1e488c68c7a6fbacca310a2c324e90c/charset_normalizer-3.5.2-cp312-cp312-win32.whl", hash = "sha256:db19d07e2e0129e974a0e65d0064fc222a446cd5122c2fd4184d2af9fc73
  • Network accessline 205
    { url = "https://files.pythonhosted.org/packages/eb/e6/e6e083884cbcfd49c64865af05027fe7011be7b2d9179524f099a1b611f3/charset_normalizer-3.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:780fbe7cab297b81dad9fb8dc5eb003c0468ffb0d9e5f65068c53a34
  • Network accessline 206
    { url = "https://files.pythonhosted.org/packages/c4/e3/017aea0911ada7405a825c7d937eb3a13009664e2f5b38e8c4bbf2abf894/charset_normalizer-3.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:e2af3aad578aa6bd1384bcf4750fc285e5a9de53f40b7d41e5a0bf74
  • Network accessline 207
    { url = "https://files.pythonhosted.org/packages/c5/34/68292d68512768591aaff07c59bb53ee31341c87759433a859c4641a50c2/charset_normalizer-3.5.2-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:ed905975ab14056a2e5eb1c376cb2e1ebc5396baf8416
  • Network accessline 208
    { url = "https://files.pythonhosted.org/packages/e3/80/bee0b01b90ccd5322ae1d0abb33fab1bd95b7c2eadaf02aeccf22e04ee83/charset_normalizer-3.5.2-cp313-cp313-android_24_x86_64.whl", hash = "sha256:a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d245
  • Network accessline 209
    { url = "https://files.pythonhosted.org/packages/78/6e/60ce52a85a7fd631ae8482ae6d74521014ca2f255892679484dc04d7ef56/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d2374b62878abb00cd8309b32af6c0b715cd02dec0
  • Network accessline 210
    { url = "https://files.pythonhosted.org/packages/36/8c/71aafad23f971afc84c2b295bc0c560739ce1dac558aad9fec22e39f3639/charset_normalizer-3.5.2-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d376bbd28b3a8999db1a103b3b388aee6f1
  • Network accessline 211
    { url = "https://files.pythonhosted.org/packages/91/da/3c5a7798c046df7d2d68ad653cf5b6c5a8bfee225055a843c6f2f42aac1a/charset_normalizer-3.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6045373d5a89a5ec71afde535db987ca28e76dfa27
  • Network accessline 212
    { url = "https://files.pythonhosted.org/packages/e1/16/710ac3de2ee354e2bd1a9c94efe45a2d27b5c6ad39b2d6a905be2c094b6c/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha25
  • Network accessline 213
    { url = "https://files.pythonhosted.org/packages/d6/39/45c7439f5b63d24f7d5b2a1d760f34af7628782d7144b4cc8ded45c2d4bc/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1
  • Network accessline 214
    { url = "https://files.pythonhosted.org/packages/4d/34/38f3154785ce92e9f56eb226f4d35bdfae6b008480dd055f58837a89c810/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha25
  • Network accessline 215
    { url = "https://files.pythonhosted.org/packages/04/f3/859f74e7babc977705026b30593b3be04049632a522fb7000f83c033d747/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0c95
  • Network accessline 216
    { url = "https://files.pythonhosted.org/packages/4b/85/41d27f234b82e47c167a5f6c0f62501dc0c640585ff4aba79e08a390336a/charset_normalizer-3.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7
  • Network accessline 217
    { url = "https://files.pythonhosted.org/packages/58/ca/5d1a997587febe5b26d8daffe363b5c1a091cece19828eec6502fd09c5ef/charset_normalizer-3.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19a731138fc27d56822
  • Network accessline 218
    { url = "https://files.pythonhosted.org/packages/b3/1f/d1e78246f7ed60c8c8d606b4ac27f66ce49cc3e95f24893ccbeba9f77302/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62603db9a7caa0802eaa28c1c46fecd7b3a263a77406
  • Network accessline 219
    { url = "https://files.pythonhosted.org/packages/8e/37/eba316edd4f0c4d3a5d945924c4eeeae59abac4056aa815d8a4268f863a2/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b6856554c4f44d79fc2307d5768854310a8f0096e501c
  • Network accessline 220
    { url = "https://files.pythonhosted.org/packages/c8/8e/aaa037d40ca9ef045977f1a661048b1aa33f223adfce3452fe9be9f79d14/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbe
  • Network accessline 221
    { url = "https://files.pythonhosted.org/packages/26/19/1c1c9f75974adf523b87f34b8a2adc5a435cd65916812bcbd0dfa45f9a29/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:56bc200a365efb37383b7852e4cc5898d3b2da598728
  • Network accessline 222
    { url = "https://files.pythonhosted.org/packages/bc/90/0660ef18e18df0a4d2a1a0edff7dfbba42d4e50ef2425557a5bb7051f77b/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef27
  • Network accessline 223
    { url = "https://files.pythonhosted.org/packages/79/ba/57adc269824e8658f1a0f97a9e514c247445a9632b3419b97e0ba37f16dc/charset_normalizer-3.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e243bd13217235fc7290c621941c3f5cc8b66e4872495
  • Network accessline 224
    { url = "https://files.pythonhosted.org/packages/9a/85/33abd4315c052d3d4f54c92b1ee49bfbc0dc7115a981e462a793b6d2ab87/charset_normalizer-3.5.2-cp313-cp313-pyemscripten_2025_0_wasm32.whl", hash = "sha256:a090bb2c68df85450502e3e20d665e3a5af9c65
  • Network accessline 225
    { url = "https://files.pythonhosted.org/packages/4f/de/6435e18d1aaa5d910b896d551411c96af1f42a0c56c29afc2016c61ccc2e/charset_normalizer-3.5.2-cp313-cp313-win32.whl", hash = "sha256:2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e
  • Network accessline 226
    { url = "https://files.pythonhosted.org/packages/9c/76/b8ec57f4e9ee3253541abf95e4a462c0175fe8032dcd070f1f2421240942/charset_normalizer-3.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f1
  • Network accessline 227
    { url = "https://files.pythonhosted.org/packages/3e/60/c647c6ae47480221e875ea5d743ff94946f7416e3c69415ab772928e8d32/charset_normalizer-3.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270a
  • Network accessline 228
    { url = "https://files.pythonhosted.org/packages/58/ca/7aa91362a2f77ac8e9e28a9b902a74f7d0e11a851ef0d27a74308da8cd90/charset_normalizer-3.5.2-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:1afb975bd5d68d5ce9f6b6d44fdf2f7e34b895a35e957
  • Network accessline 229
    { url = "https://files.pythonhosted.org/packages/a8/cf/ac8878d0322cf88a1aad4c7b147db32ca0bd806eb0060957b2e31486dbe6/charset_normalizer-3.5.2-cp314-cp314-android_24_x86_64.whl", hash = "sha256:bbbfc8e28816f19d7c0f1816664980c0a9875d01b27cdf8e
  • Network accessline 230
    { url = "https://files.pythonhosted.org/packages/c9/6d/9a08d7e0b29b7208e2c6c01dc56c8e0520e7c7beadbbfb024b58fd69c8a5/charset_normalizer-3.5.2-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:7967d08cf06dee78443b874f98c98036f624f3a4e7
  • Network accessline 231
    { url = "https://files.pythonhosted.org/packages/82/44/b0aa350280e6ff5a5492d17cf10460dd39d5ee848f872f7ba2df10607f60/charset_normalizer-3.5.2-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:4c2b5031f63e331e3839b40aed2dd6f191e
  • Network accessline 232
    { url = "https://files.pythonhosted.org/packages/7c/8a/40db9aa9f5907bb0e6f8b6d64064bf8852fb33d4b813ff9414911df7647c/charset_normalizer-3.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fcff63213e8e6e47770541a4607175404f47cbb3eb
  • Network accessline 233
    { url = "https://files.pythonhosted.org/packages/7f/72/9c5e7707b57c8ddfa9ddf7b0b1d009d7fbab9e9e887d5b721060f37e307d/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha25
  • Network accessline 234
    { url = "https://files.pythonhosted.org/packages/83/09/71e453691e927de4ddf792770cfaab3f49d494e222f66ea5e404bbd5e39c/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7
  • Network accessline 235
    { url = "https://files.pythonhosted.org/packages/9f/86/85c84e4da8b27dd409577d9437926ff581c5f9d3c66038dc68c1a526de51/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha25
  • Network accessline 236
    { url = "https://files.pythonhosted.org/packages/92/08/564955a4b5f2ccb410ab480bbe8c6a18063ff27f2d35458731c4a5335df9/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4d48
  • Network accessline 237
    { url = "https://files.pythonhosted.org/packages/18/24/bad3ac4271589df29cf5ce2f5ae490518a5739358052bd0d61209e6fea54/charset_normalizer-3.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3
  • Network accessline 238
    { url = "https://files.pythonhosted.org/packages/d6/3e/350d89ad49916b86554d6f5f2d03ec1152148f87e5ff735106c6a03b1a36/charset_normalizer-3.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0521c5665880b33d6037
  • Network accessline 239
    { url = "https://files.pythonhosted.org/packages/56/5b/4970a2d154df502e133402906dd04e3ae7cada7b3011283c88d0479a2585/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:eff0ac9dbe711a4aee69bf04a83896aa9b85f1964126
  • Network accessline 240
    { url = "https://files.pythonhosted.org/packages/88/8c/f1a91bddc8fb47c2889e29ea7ea49a194eb0d9868675d786806519c00d76/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:1503bccbeb36d5527790c3930327704c39af22de3112f
  • Network accessline 241
    { url = "https://files.pythonhosted.org/packages/24/0e/bb5dace3cc7e79068425386a6589c19b5a2ab5fefc2a46abea6919683332/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:52aa6992700996af31f375de0c6bacd402b0097fe40b
  • Network accessline 242
    { url = "https://files.pythonhosted.org/packages/9d/79/b849ad523017ea9f5a45581bbebed91439e0cf42fd2860a6f64e358eb5a6/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e09a3942ecbdee5cce73ea9d42da82b81b72ac1bf031
  • Network accessline 243
    { url = "https://files.pythonhosted.org/packages/89/8c/75469d690cf47200bce8f6cad7655724fc23148e147abfc5ce78b5f65863/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:c7c9ab723cde841fefb34efbad91e87f00a674b1fe1cd0
  • Network accessline 244
    { url = "https://files.pythonhosted.org/packages/26/cd/6d52d3c7437cdcf2e310ce9f28f282e733d4ef60ed19105d1819c356255f/charset_normalizer-3.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ddc7dacc8ece3a182e7f15cb862d1fd616b46d076cb1a
  • Network accessline 245
    { url = "https://files.pythonhosted.org/packages/f7/4c/070b38bdb5f49a70199fce923ec0726a49536a63ab262abbfcaaf351110b/charset_normalizer-3.5.2-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:ee43c17b173d46a3212baa6ead3ae258eeabdae
  • Network accessline 246
    { url = "https://files.pythonhosted.org/packages/81/84/9ebfc8ed6c8c4fcd8e726ff6bf220cc8deb3966e31dce9be8dd8aa017e64/charset_normalizer-3.5.2-cp314-cp314-win32.whl", hash = "sha256:4f87960d57feabfb618e4e0af6e7371645fa26a277860739d6e5d6e0012c
  • Network accessline 247
    { url = "https://files.pythonhosted.org/packages/d1/78/5ed86f743d4bc350db307e7636419a0a5ee1d91806d30c7f667bd5c80dae/charset_normalizer-3.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:e4e81e09c1578b8df602e3db08b0b3ea0a6947ad612f52bf8dc5ea8d
  • Network accessline 248
    { url = "https://files.pythonhosted.org/packages/53/94/a3a7698e9b1a395e1eb99ccd9a324be9347973bff4e72db2a06496d7cd27/charset_normalizer-3.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:80d02b6f04e92601a081dd97b23d3128033098bff5d35d392ddcc047
  • Network accessline 249
    { url = "https://files.pythonhosted.org/packages/c1/48/c5dd00d5ef7791f02666de250a5bb6071e29b7e133cf4b835800b6d3bc27/charset_normalizer-3.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:dca9ab98072a5a54ebacebdc45f53e645336b320c
  • Network accessline 250
    { url = "https://files.pythonhosted.org/packages/12/c8/8379554b42e8368161d898476686947a0fdbd3e8865170d7909dcabfdee8/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha2
  • Network accessline 251
    { url = "https://files.pythonhosted.org/packages/4a/eb/2ddb1035d17320caa9f41682935123a9a250277b261c3efc86b2d2a21343/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:
  • Network accessline 252
    { url = "https://files.pythonhosted.org/packages/4a/24/2ecb4bde104322cd7859d6594fcfa74649f8d90b3221c9feecbef149875b/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha2
  • Network accessline 253
    { url = "https://files.pythonhosted.org/packages/3f/98/9d5f6ebc3aee9fef5d30b4aff11fb2ab7a1222b4064f8ef2c7c87cde217a/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2e0
  • Network accessline 254
    { url = "https://files.pythonhosted.org/packages/09/e1/a3b06a10461b1b7628853c934c644e03bc28e42767116afb52f19a56519b/charset_normalizer-3.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:
  • Network accessline 255
    { url = "https://files.pythonhosted.org/packages/fd/d3/6f561f74a296cf27d61775a1dc665ad13f3bff6a798810ca05907f37a7c4/charset_normalizer-3.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c8f3d67aeaf55f01798
  • Network accessline 256
    { url = "https://files.pythonhosted.org/packages/26/9f/69e13ca3b18f43e0eafcd34c04a45b732ae22a43b54a5fc9e119103356eb/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fe9753dfee015c570d73df76f899f18444d41388bff
  • Network accessline 257
    { url = "https://files.pythonhosted.org/packages/73/a9/ace29806a0dae18939919c76ba526472d83214afa101105fabff2cf30625/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:92888bb3187c5ba50500b00b3b310c9f2c651709d280
  • Network accessline 258
    { url = "https://files.pythonhosted.org/packages/f8/c1/6116d52a2e3311ec80f21f5fb5e17b27405f10b9608af8f6e69516841a1b/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:d008d90a7f2471519aef0c90dfbe73b3e6e4d5e66ac
  • Network accessline 259
    { url = "https://files.pythonhosted.org/packages/19/aa/9955c7e93bba10a9c7e8f7a5031b7ced66f3a1883a55c00712b8d5850ff3/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:31f3930700408d211f13378ccbe1c40845d8da54bd0
  • Network accessline 260
    { url = "https://files.pythonhosted.org/packages/bb/33/2a6ae7fdc1b10cb581cef91addd8cdfc5f40d50abb5702309369d5834579/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:2a925889534b3748302dae5dead07cc13480de1dac3ae
  • Network accessline 261
    { url = "https://files.pythonhosted.org/packages/a2/22/80992720a0282cd39bba1db35868e6b9c22f41281160143a836544bc1d8a/charset_normalizer-3.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f5ec61164adcec446f8969a3358ec3f9b26bbda3b921
  • Network accessline 262
    { url = "https://files.pythonhosted.org/packages/92/9f/181fd07e1bffea1d95cd80c84ac537354f50699c22cfc4d3c02b6fc16208/charset_normalizer-3.5.2-cp314-cp314t-win32.whl", hash = "sha256:598a11a2c7ebaa5334bf698bf29568c9c390abac6a154d8170fedecd1ce
  • Network accessline 263
    { url = "https://files.pythonhosted.org/packages/49/1c/25d8415ec1c4f2f41f1680435e4c87cfb378ff2f677d950946f2a45d0632/charset_normalizer-3.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:7fdde2c9fd9e3eca40631e024664cf2584272cc8f96308cbe5fdfc9
  • Network accessline 264
    { url = "https://files.pythonhosted.org/packages/3e/b4/46b48f013dadfc0d0d33b375438e31bdf5a989dc68389c6bf627054d4df9/charset_normalizer-3.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:d1befeed746d247c81127bb14de9dc3d30edb6e5976d34f83f86ed2
  • Network accessline 265
    { url = "https://files.pythonhosted.org/packages/ca/e9/34e597dee616d0b8ee4b34d29399e85c2204ade174157a48505d42baa4ff/charset_normalizer-3.5.2-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:87475fabc8d9996fd9c27debb395e642e8c838d78a
  • Network accessline 266
    { url = "https://files.pythonhosted.org/packages/60/9f/a5d1c91c0263745e2cd344c5a4415d787c575501ab1d449f1148ac6b495d/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha25
  • Network accessline 267
    { url = "https://files.pythonhosted.org/packages/26/79/e697f77464748a3ee3cf490c83d592459400d4898380d66c38366b03080c/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4
  • Network accessline 268
    { url = "https://files.pythonhosted.org/packages/ca/87/3d42a42e18ea066e2513936fd678a00696e77878b5ae04528976abdbcb83/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha25
  • Network accessline 269
    { url = "https://files.pythonhosted.org/packages/c3/76/8a28136f3938ba9836f84280ce0c4d61ed1cf15a036b2034900c62634162/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:def7
  • Network accessline 270
    { url = "https://files.pythonhosted.org/packages/a0/a1/4fbf5d0f0f1b2a080474c1cf9a2f12c4c6531bb0e8ba591055e846d2b4e9/charset_normalizer-3.5.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3
  • Network accessline 271
    { url = "https://files.pythonhosted.org/packages/ba/a2/8b50aa320adb880ad579518e6f718f24944804b42a88b83d267d5d444125/charset_normalizer-3.5.2-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:04851f73ae72b8413ddd
  • Network accessline 272
    { url = "https://files.pythonhosted.org/packages/a5/57/50e3fed84e175f40349bd0da7a4fce94c87f0378f52d74f511d89e0bdc20/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:183b88127acdb4fabe59d951ab424faf1af7b63cdbb5
  • Network accessline 273
    { url = "https://files.pythonhosted.org/packages/d6/54/f7fbb3493c9f49091213b9c2d6dd65800696f1ce1a3f196a4205f50417b1/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:16fa0eccf81304b79c5cd87f9271c3b85dd9dd99245e4
  • Network accessline 274
    { url = "https://files.pythonhosted.org/packages/d9/37/b3a6385acc5a1e45b39ae9c90bfb9cf838a09b9dd37ef2740ab4c6b4a2eb/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:7441d755b7ab94f8d4eb3e43ec05482d760842fd263d
  • Network accessline 275
    { url = "https://files.pythonhosted.org/packages/89/44/809913e2cfd279e635a9294fdbbfb1b1dc62a8189d473d561f649fce98d8/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:ca403d7e4798f525fdfc78e258820419cbbd0f0ecbab
  • Network accessline 276
    { url = "https://files.pythonhosted.org/packages/af/a2/f28400ab13359d91bd39179df8e149376b9bf36588e739a3a4f9de2b84b2/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:df29a0a7107f7011e77f4eebdddec4c7331e24d787a0b2
  • Network accessline 277
    { url = "https://files.pythonhosted.org/packages/e9/89/9bab37955edf0adb3b66f8a3a6617d9f2f487e0d56f295a6a286cb640aa6/charset_normalizer-3.5.2-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:f3c96f633825733f735c5a9cf21d21a257d8e1edf0b1c
  • Network accessline 278
    { url = "https://files.pythonhosted.org/packages/23/b5/4459e08d45a679f903d50fea08bc52cfa728cca4d7bd02c757b5e5abda2e/charset_normalizer-3.5.2-cp315-cp315-win32.whl", hash = "sha256:281cb91036248400f4cc957495cccd44c275c2e0c5854f7e45ac5cf7dc19
  • Network accessline 279
    { url = "https://files.pythonhosted.org/packages/98/e8/55d5fd3935b4bce6da4fe0df61898e8c82653e317e677bd58aceb9c60f13/charset_normalizer-3.5.2-cp315-cp315-win_amd64.whl", hash = "sha256:89b53f3cda69831909888e0494f4fa0bcd3537e3e138dabeb620bd6a
  • Network accessline 280
    { url = "https://files.pythonhosted.org/packages/a9/5b/974423c2fd8e524c7a7f64318c1e02240ef954912fa2b4d70344107b9c68/charset_normalizer-3.5.2-cp315-cp315-win_arm64.whl", hash = "sha256:6be488a102b8cf28d0391d8c4ba7748938ae28b78ad901f8585520fc
  • Network accessline 281
    { url = "https://files.pythonhosted.org/packages/ee/f9/00ee0195db1013d8f7c416fd770fbeb560bb46eb2e36b054d05cb56f6cfa/charset_normalizer-3.5.2-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:915563965d418f986e7e145accc592eae9e1a1be3
  • Network accessline 282
    { url = "https://files.pythonhosted.org/packages/04/3a/c00b50e94c964cf934c7899cd47c97952fc11dad71cc5884b3c61795b09b/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha2
  • Network accessline 283
    { url = "https://files.pythonhosted.org/packages/50/27/d102dc880bbcffd0479ab64dfc1fb96777a854355a55e2bda72a71efadcb/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:
  • Network accessline 284
    { url = "https://files.pythonhosted.org/packages/a5/4a/bf7ef45794dd293fab5f98a9309817977fbb845b9998f171b8cc5d8437a3/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha2
  • Network accessline 285
    { url = "https://files.pythonhosted.org/packages/e8/ee/008a2837737991474c5754bb3191010007663860979701990982a502cbaf/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:124
  • Network accessline 286
    { url = "https://files.pythonhosted.org/packages/93/ad/bd74a283940dc910c5b14f8e4f80a248082bc9c0fcbe1f54530cb6d9cc5e/charset_normalizer-3.5.2-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:
  • Network accessline 287
    { url = "https://files.pythonhosted.org/packages/8a/7b/ed341c66f69f688723501fac752be3d63c7159ca0d0d4174fc611e5710bb/charset_normalizer-3.5.2-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:58ca3755ee7ff7f59b5
  • Network accessline 288
    { url = "https://files.pythonhosted.org/packages/cc/9d/e41588b777965e5031a43128a1e96173ebb35ac75fc53ec3b517e7c21cd4/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:443eae2bf318abeaf6f15d785138f71fd6de770e99a
  • Network accessline 289
    { url = "https://files.pythonhosted.org/packages/81/35/b761eb6d8c1eb218b9b42b9b4d5ac902afdc399fb6dac6f9a9aac7bda589/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:58f361dcbab699cf8f42db3f47c8e7fd1036f138c23a
  • Network accessline 290
    { url = "https://files.pythonhosted.org/packages/4d/2c/147169a041b747759f37405c0a97157e8e92de967968373101ff14915cba/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:1b4cbc7c3491ccb4aa17fcd8165649d01cf39f76de1
  • Network accessline 291
    { url = "https://files.pythonhosted.org/packages/f0/2d/0ff8db0d373ba8538db686db11cd7e8912031490b9e4f383b41912e8d594/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:ba0b1d2620edf869789c3879223f52bf2afc5d31b3c
  • Network accessline 292
    { url = "https://files.pythonhosted.org/packages/8a/8e/b4a085fb47c9d3a7e43576a4784fdd8fe23f907514a972de8086edaf7a48/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:5e2b6b57e9733d39f0c9fd3185efa6b8e29652c4cd8fe
  • Network accessline 293
    { url = "https://files.pythonhosted.org/packages/83/1c/d8d8d7322a7c3eecdf3237a4a419cf41d2eaad8e006ce7dfdd9d4c8fa2eb/charset_normalizer-3.5.2-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:51cf45226a9b588d0d2b4880c62d686934b63ab0bd79
  • Network accessline 294
    { url = "https://files.pythonhosted.org/packages/a0/16/0e4c6ba9b44e97a2da150e52d331e8f9c968b21b358fbffa6c856cebcd89/charset_normalizer-3.5.2-cp315-cp315t-win32.whl", hash = "sha256:5fb29fb8cd1a46c27a1bf9613ad5ec2599310d46b4025d9556404a6b6a2
  • Network accessline 295
    { url = "https://files.pythonhosted.org/packages/be/33/e90bc2b1374f7f36ef106f56620de5a783907e19ca857efe2277e31cac3e/charset_normalizer-3.5.2-cp315-cp315t-win_amd64.whl", hash = "sha256:a192e2c40070d92c3ccf777e3a5c4ff515573cd2bb7ed0c537fdadb
  • Network accessline 296
    { url = "https://files.pythonhosted.org/packages/66/89/dfa6dcb08c200b7830ab56439e8c1890f2971d51aafbb3937894a2e7fcfc/charset_normalizer-3.5.2-cp315-cp315t-win_arm64.whl", hash = "sha256:749e97e1b32313717a565abbe321bc2190bc8b35f1a67e4cdbc7c56
  • Network accessline 297
    { url = "https://files.pythonhosted.org/packages/8c/ab/176fbfd5b64939c55d652366aa5b9ef1d767af207a3aa6ebeb0d226c484d/charset_normalizer-3.5.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:4275811936e2f06feff5e598fb42a1b7ae852da8e3960
  • Network accessline 298
    { url = "https://files.pythonhosted.org/packages/7e/84/371eac6b30bdbcbf2d632a1a01809103459216fcaae61b8b8d922c1bfb8a/charset_normalizer-3.5.2-cp37-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1c50fe2
  • Network accessline 299
    { url = "https://files.pythonhosted.org/packages/43/6f/c4fbae58febff71709c51bc7e18fdfa55341dc382704740f9f0cbf03817b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:
  • Network accessline 300
    { url = "https://files.pythonhosted.org/packages/61/71/458c3f42164a07d0c5210798e9e704b39e540a6793b05aba67f3a35243a9/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0fe
  • Network accessline 301
    { url = "https://files.pythonhosted.org/packages/09/54/ab9e89367076f6331bb6c65c4bf14a5361fa5191cb6561bf534f18504e1b/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:
  • Network accessline 302
    { url = "https://files.pythonhosted.org/packages/7c/c1/061431ecc688d9d76602502cb57cc01e691e682c18f1beb45f9673b5bbd2/charset_normalizer-3.5.2-cp37-abi3-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ce45c
  • Network accessline 303
    { url = "https://files.pythonhosted.org/packages/8d/1f/20c8949f0676f7ab811abdeb7f4d7f1cbc6e61ff20bef08b44edeb092bc8/charset_normalizer-3.5.2-cp37-abi3-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0774bf9bf620249fee3e0b
  • Network accessline 304
    { url = "https://files.pythonhosted.org/packages/2b/9e/46f2fa4c431fc98c4ae76a8cb5bdca54e0341e3cfc3fcfd8e82740250818/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1db38f4c5496827c1a501846d64d14c3b80c7e6714e406
  • Network accessline 305
    { url = "https://files.pythonhosted.org/packages/bd/39/559be29a0c0f086e0bba6922babd38916cc5e0b58ced4de13ee01ea05508/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:304d8e4d493af723536393eee0c689eb7813f4a474c8b47
  • Network accessline 306
    { url = "https://files.pythonhosted.org/packages/ff/6c/387b0e4f756a282831c1d9fc6aeb6c51ca4507ca202767c8de15ce9b12e2/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_ppc64le.whl", hash = "sha256:9b7f416ff0978e2f2249330527f0ad6fa02f4932e61996
  • Network accessline 307
    { url = "https://files.pythonhosted.org/packages/96/92/1fdf015f09ef449f50d3ac4b67c90887c9c318b727daa95cc4f866e6521d/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_riscv64.whl", hash = "sha256:01077390b03f7988f11d700a2194e69b119741a86b1a63
  • Network accessline 308
    { url = "https://files.pythonhosted.org/packages/dc/3c/8e7b8a5671ad5d433669fb2a76f1a0164df2d9b1718b0206bc2a16d840cc/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_s390x.whl", hash = "sha256:7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1cc
  • Network accessline 309
    { url = "https://files.pythonhosted.org/packages/b4/f0/45b579df5cabc1d5d53ea1cc35e8437d3ca768c0acccc7041517cb6fbb32/charset_normalizer-3.5.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9cae88599c7219005d879f98e5ed53341e9a122af585e10
  • Network accessline 310
    { url = "https://files.pythonhosted.org/packages/31/68/fdec18a343f5fb3f310588dd478b09ac4799e0b187dbade3a8cd776f03ef/charset_normalizer-3.5.2-cp37-abi3-win32.whl", hash = "sha256:01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208b
  • Network accessline 311
    { url = "https://files.pythonhosted.org/packages/9d/8a/b618149cc5207943a0242068d7a27897f56a62947b5a039085f2a22029f8/charset_normalizer-3.5.2-cp37-abi3-win_amd64.whl", hash = "sha256:9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece7
  • Network accessline 312
    { url = "https://files.pythonhosted.org/packages/03/cf/4c66866fa9e2b1c78e3c911516d1de497a677b7ac60f1eceda74ce777ca3/charset_normalizer-3.5.2-cp37-abi3-win_arm64.whl", hash = "sha256:40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df4
  • Network accessline 313
    { url = "https://files.pythonhosted.org/packages/fc/ad/d07d7862a62ffa6d79d68074d14823243dd235a77c45262acbf6adeb28bf/charset_normalizer-3.5.2-py3-none-any.whl", hash = "sha256:b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685"
  • Network accessline 317
    name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" }
  • Network accessline 318
    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 319
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 320
    sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 276
  • Network accessline 321
    wheels = [     { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57a
  • Network accessline 322
    { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size
  • Network accessline 326
    name = "cryptography" version = "50.0.2" source = { registry = "https://pypi.org/simple" }
  • Network accessline 327
    version = "50.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 328
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 331
    { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/9d/af/182eb91b0df3fe75c4d9f26fe70684569566745f6ba7e5c9c73a862c5252/cryptography-50.0.2.tar.gz", hash = "sha2
  • Network accessline 332
    ] sdist = { url = "https://files.pythonhosted.org/packages/9d/af/182eb91b0df3fe75c4d9f26fe70684569566745f6ba7e5c9c73a862c5252/cryptography-50.0.2.tar.gz", hash = "sha256:7b46165bb56eb4704e2eaaf86f3c940d19154535d9b0ca7d6d590b04060e00d5", siz
  • Network accessline 333
    sdist = { url = "https://files.pythonhosted.org/packages/9d/af/182eb91b0df3fe75c4d9f26fe70684569566745f6ba7e5c9c73a862c5252/cryptography-50.0.2.tar.gz", hash = "sha256:7b46165bb56eb4704e2eaaf86f3c940d19154535d9b0ca7d6d590b04060e00d5", size 
  • Network accessline 334
    wheels = [     { url = "https://files.pythonhosted.org/packages/e5/56/d194340cc4a57535e82e1bee9e89667ac4b7c13b5d3f59686deae3094dd5/cryptography-50.0.2-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:fa8f5efb344d6908a1ce62f4a24e2e5780f825d
  • Network accessline 335
    { url = "https://files.pythonhosted.org/packages/e5/56/d194340cc4a57535e82e1bee9e89667ac4b7c13b5d3f59686deae3094dd5/cryptography-50.0.2-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:fa8f5efb344d6908a1ce62f4a24e2e5780f825d6f53f5f50ec5ffa
  • Network accessline 336
    { url = "https://files.pythonhosted.org/packages/d9/69/c9bd862c3bf43d6399c433caf002df16e2dffd4be49bdf515cda38038711/cryptography-50.0.2-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:79def8d059362e7831389ed3be0
  • Network accessline 337
    { url = "https://files.pythonhosted.org/packages/21/69/64cef1f702bf6657e0cc186ed1a2891d50d29fb41586b254e1c07adea261/cryptography-50.0.2-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:630ebfea3bf689d075f82316324ff
  • Network accessline 338
    { url = "https://files.pythonhosted.org/packages/38/6b/61a3f8d8c5e1e49a6cddccafc4015cc1c0021360ab0acb4080e7a423644a/cryptography-50.0.2-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f9f6143a8c75945eb960d9eb98905a441394abfa24afaae23
  • Network accessline 339
    { url = "https://files.pythonhosted.org/packages/7b/2e/7212ca32fd43dc91f2f41db20160b268098874b4c9a0e7be94d6835f5b2e/cryptography-50.0.2-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:a582ab2ae1d34f67112cadc86702774c9ea4374df6bca6afe
  • Network accessline 340
    { url = "https://files.pythonhosted.org/packages/1a/f1/b474e930c4d910328780e3940da76f5aa5cbc48ce1fc14e44d239d9ea9db/cryptography-50.0.2-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4061c0079120205fb760c58acab6443e217307dcf05e3702cf
  • Network accessline 341
    { url = "https://files.pythonhosted.org/packages/7c/52/9af10e80ac16b0fcc2123f9cbd5e7afbd0fd5075bb7a607c592258a39cda/cryptography-50.0.2-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:ac9ed99d81760c62fe89d5f0815cdfa1ba9a35141cf30f1c2d
  • Network accessline 342
    { url = "https://files.pythonhosted.org/packages/71/37/6202e488cc1eb625ea110c292c6bda92823176e023f427d8d5660ce8d632/cryptography-50.0.2-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:87e9ce85beb6b328ba370cc6e6aea483c92617b4c95b1d33a
  • Network accessline 343
    { url = "https://files.pythonhosted.org/packages/8f/30/e86d7d518489b0ae2497091a35287abcb1a2ce4037837a34afbe9b1d6964/cryptography-50.0.2-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:f265528741e048bce55c3463ed721fb0aa45a5888d8add8cf
  • Network accessline 344
    { url = "https://files.pythonhosted.org/packages/d3/69/2c833a049475e0a3444e94c7d0aca0aa51d166374a449b09e92ac98138de/cryptography-50.0.2-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:9dab55f57c74c3cad24c323bacbbd04be4705ba6eb0d92e920
  • Network accessline 345
    { url = "https://files.pythonhosted.org/packages/6c/5d/906970b83bbfc1f5bbfb677a143c181f2801f23b6a7204a3b47c42c97e65/cryptography-50.0.2-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:25784ce8b9621c90c643efb9e1e2162ab3b0224cae446ad5e7
  • Network accessline 346
    { url = "https://files.pythonhosted.org/packages/68/e3/f2298d3bb55e0c4a91841ec4d01b3f020ba8c5fbf15ccdcc6dcf03f97025/cryptography-50.0.2-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:85d0d9a31b9098e98534226d5686b47264b95e62ce459dc2e62
  • Network accessline 347
    { url = "https://files.pythonhosted.org/packages/9a/4f/adfc442765721292fff86d314ce385d3249d22db42295c0dd057727b60f3/cryptography-50.0.2-cp311-abi3-win_amd64.whl", hash = "sha256:7afa5a6602a9f29af1f3a2965f831bae7c9d5d597b7cbb716d41ab3b7d8987
  • Network accessline 348
    { url = "https://files.pythonhosted.org/packages/ce/cb/52eb3770c0d0be2702a98c6e96065ddc0a2877cf0845aa9c23397c142cd4/cryptography-50.0.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f785f6161f202ab04d8ca194158968798e480ca058943907972d
  • Network accessline 349
    { url = "https://files.pythonhosted.org/packages/19/8e/aa1fc533d4546b127b45de8aa024eb5933d23eff9debfe25931e56861095/cryptography-50.0.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0ecbc5652bdb6fc9eaf89a7d1
  • Network accessline 350
    { url = "https://files.pythonhosted.org/packages/6a/64/72bc3f75176e7e406b748a3e3830432b8c51297b38368713df04dc04898a/cryptography-50.0.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ab50ee449bf968271e820086f10
  • Network accessline 351
    { url = "https://files.pythonhosted.org/packages/4e/c6/62c77550edfa5ca3f14bf44a1e6739b9fa09d6e998a11d97ed8213bccc98/cryptography-50.0.2-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:a9f7355e6fab51f6c369b86fb7571cffa05edee2c2121e0
  • Network accessline 352
    { url = "https://files.pythonhosted.org/packages/f4/37/cce70f150c432914460157a6ecc161752e053aa5ec0ef3b3f7dc6e31039a/cryptography-50.0.2-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:94e5e9f108ee10471288214d3d233fbfbb492840a8457eb
  • Network accessline 353
    { url = "https://files.pythonhosted.org/packages/aa/9a/6f2f0304d634ceafdeaf23e84537336664ac419b5d07611675c2ad3f6b7a/cryptography-50.0.2-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:241449bf940a5d27309bd317e6f9a2af6932113818bb2b8f
  • Network accessline 354
    { url = "https://files.pythonhosted.org/packages/1d/de/66bcf9244d118663b2e1aaded8990f4640e3d7b7411870a5765f252074d2/cryptography-50.0.2-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:d8947001be83df1394050758ce0e745dd74fb134eef0a4b5
  • Network accessline 355
    { url = "https://files.pythonhosted.org/packages/bd/e6/db28a28c7b6c676addce89136de3d8db49ea825a8c863472e36e42ead4ad/cryptography-50.0.2-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:4a20ce1e5cb4284a86692fdcba7cb8754185c6b2e5c56fc
  • Network accessline 356
    { url = "https://files.pythonhosted.org/packages/30/96/01546c7f69ea0e2ab790a2e4f0934a4052fb9b388147fbf83c2fd72f1e57/cryptography-50.0.2-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:84f964e537f916e2cc85199e5a88742e964939b575ac859
  • Network accessline 357
    { url = "https://files.pythonhosted.org/packages/6c/01/03263395f74d50b071e9e66daace3f8bef80493e5d410726f2ba8554736b/cryptography-50.0.2-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:828d49b0ff5a0e3975865571c5d91dbbdd0d38d8289b249a
  • Network accessline 358
    { url = "https://files.pythonhosted.org/packages/eb/94/2bfe8f29ec0cc9c0d99359c4161adf32858e4934b72c6d100d2ac0bbe962/cryptography-50.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:deb9fde5c60e437ee4821bc9bc39ff31b42135c27e1dc61e
  • Network accessline 359
    { url = "https://files.pythonhosted.org/packages/54/44/e80651ecbf0e42b62e2bb5f5768916e07eea72e1297338956a61df361f88/cryptography-50.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8c71ba2cd31fc93748c38e1b613200ff1c2665cbfd5341fe3
  • Network accessline 360
    { url = "https://files.pythonhosted.org/packages/f8/cc/1d33befb3cd7ea7e77d2d73f43f2066471da1b21f24a6156efcaabf6d2e8/cryptography-50.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:78198641e5be9521beea5aa782bb551a58068d10e6eb04c9c680c1b69f2e
  • Network accessline 361
    { url = "https://files.pythonhosted.org/packages/2d/49/93f6a6e7a87c9aa68d44d3e1cdb5fe8f60c90d5d2f46acae9a56892816b8/cryptography-50.0.2-cp315-abi3.abi3t-macosx_11_0_arm64.whl", hash = "sha256:edc3342adf8f697fc5f59c887a304356f147b397809440ed
  • Network accessline 362
    { url = "https://files.pythonhosted.org/packages/8c/75/32ac2a56243d778805c16ca6a32b8f74fb757df7e28d7ecb560afafb59cf/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d370b8d1dfcdf71301781
  • Network accessline 363
    { url = "https://files.pythonhosted.org/packages/aa/a4/2c8d734e43d97f0842ee9f1b7b4bfb3d0cf5e19edebf43c2afe6675c2320/cryptography-50.0.2-cp315-abi3.abi3t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f2f9bd7f90c64fe89253f0a
  • Network accessline 364
    { url = "https://files.pythonhosted.org/packages/c2/58/ee288c829a6f41f6235ae9dd33d82fd19b45442b65b4c8a3da36963d9f7a/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_aarch64.whl", hash = "sha256:e275096ea1e60cc595cda2836fd4a6c725d1125108b
  • Network accessline 365
    { url = "https://files.pythonhosted.org/packages/92/20/9ded6d51ddd9897f6b6e81fb9ebea7951d7cc5d6c890b0ed8abf77a51a80/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_ppc64le.whl", hash = "sha256:b13478603dcd0a2479ff8e87e2c19a7d525734686fe
  • Network accessline 366
    { url = "https://files.pythonhosted.org/packages/02/a8/8df951850d6b31d2a00218f19e2b3f999523437ed7a819df7fa427942fca/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_28_x86_64.whl", hash = "sha256:58a0c478eeca76fe5e07993c5a0703def34a6dc6a0cd
  • Network accessline 367
    { url = "https://files.pythonhosted.org/packages/8b/f9/36b3022218ce75b7cdf068fb95f809f9bd0d820e4955ef43b90c255cc7ac/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_31_armv7l.whl", hash = "sha256:d38cdff612d06fa6a32840d5e1b1f7a27cee4a349aa9
  • Network accessline 368
    { url = "https://files.pythonhosted.org/packages/8c/72/20f99a219f6af47cdd1cbd978c243b92d71496e168a746138af44ded4f29/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_aarch64.whl", hash = "sha256:fdd28f912fccfec1846a94e2e1e8f9b0012f557f0c4
  • Network accessline 369
    { url = "https://files.pythonhosted.org/packages/f2/20/196f112617fb08eb4d608a2a6c422373d46f9cc2857f38fc0667033c0899/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_ppc64le.whl", hash = "sha256:cbc8738fd8526d80f35cb3a40d41f41a2e7030bb3b1
  • Network accessline 370
    { url = "https://files.pythonhosted.org/packages/24/95/83378121ef3eaaaf71d4b781577ff794acb39b9e1b87a3f156898c8497ed/cryptography-50.0.2-cp315-abi3.abi3t-manylinux_2_34_x86_64.whl", hash = "sha256:e105ab60406787da31fccc883fc0f733af1efd78f013
  • Network accessline 371
    { url = "https://files.pythonhosted.org/packages/22/f7/70fd7ae4d1dbfa7ba29b02e1b9068771519a86027756510b700ce81086a8/cryptography-50.0.2-cp315-abi3.abi3t-musllinux_1_2_aarch64.whl", hash = "sha256:6f8700550aa1474a91e5dc07049c46f98b423b5b1ddd
  • Network accessline 372
    { url = "https://files.pythonhosted.org/packages/d4/be/688367b74de86984bd58d8efacfc7c9e68b89a6a22ced0fb4f38db50254a/cryptography-50.0.2-cp315-abi3.abi3t-musllinux_1_2_x86_64.whl", hash = "sha256:c71be1cbfa5cd9a41ee452acf1eccd82b2c05950358b1
  • Network accessline 373
    { url = "https://files.pythonhosted.org/packages/39/d1/55f8a3f2ef5d1529e16835ef10cf0fe3d559ce237b46dddc440c0bba3649/cryptography-50.0.2-cp315-abi3.abi3t-win_amd64.whl", hash = "sha256:c423ab384a46c4dff7217b2ea5ba2e11cffdeab6441acd04cf65a369
  • Network accessline 374
    { url = "https://files.pythonhosted.org/packages/23/ad/ac987755d00e1e64273760228d2635ae38dae2be83e3c6e0d3289d91dec3/cryptography-50.0.2-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:0ec5f09541743261e66e291b4a0cbf0fb2997aeaab6d9e9c740b9db
  • Network accessline 375
    { url = "https://files.pythonhosted.org/packages/d5/8d/6d585339bedf85d45044c85d8412dac53f2bb6f918e8b7777efba1787844/cryptography-50.0.2-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c5e67125c7dca78d199ec4e116aa
  • Network accessline 376
    { url = "https://files.pythonhosted.org/packages/bf/f1/1c1f6874e8550cfddd4b688ceb38cefb6ed15ceed224d56f133f3d88c214/cryptography-50.0.2-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ee247f5c245c9a2fe7c8e2214e2959
  • Network accessline 377
    { url = "https://files.pythonhosted.org/packages/c1/63/61b15dc1a8de03fe0adbe3fd7608b3ad5c73bf50993bbcb1faaa930afe33/cryptography-50.0.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:dfe9763530994147d9af1def057a5b9658b00e8f8fe8743d14
  • Network accessline 378
    { url = "https://files.pythonhosted.org/packages/fc/35/b345bdfa40c9126df1a9d33236aa98418367931b8725f84fc3ae2b98dc59/cryptography-50.0.2-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:58ddb5a8e3179d12f19e4ea34d2d32e9d63a4baa142c875c1e
  • Network accessline 379
    { url = "https://files.pythonhosted.org/packages/4f/87/ef344a9e616871f2519c22d6afcda79ddd5d35e9592d95eb6e677608d055/cryptography-50.0.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f21e8a22c8605750c7af886bab299a363721264061b4ac0a30e
  • Network accessline 380
    { url = "https://files.pythonhosted.org/packages/90/5b/f2fdb13cd0b96f6f932c8627bb292a45f11c64d21620a8e120aee9a3b848/cryptography-50.0.2-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:9c8402a82ea0dc4ceeab793db05f0fafa8ca139ca34fcde5df0
  • Network accessline 381
    { url = "https://files.pythonhosted.org/packages/bc/ce/7e4f662b1e3c393513569e402cfc85ac7da0bd3d5435e122a3140219eb2d/cryptography-50.0.2-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:0ddc924c04591c2811ca024d62ecad4f7f6f08af8939c21143
  • Network accessline 382
    { url = "https://files.pythonhosted.org/packages/3c/3f/86ff33ce34cc0de6847fb96e035a1a760d81652e38643f617c02ad32ef7a/cryptography-50.0.2-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:a6557e5f38e065ca9fbdaf7cfc7435ecb1d113aa81a022d1b5
  • Network accessline 383
    { url = "https://files.pythonhosted.org/packages/40/cf/6b5c8e2fd9202d98988ab7cb5cc5c991704c4ad55f492ff408e4969f83f1/cryptography-50.0.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:1981f1db4630889b9ef7803fadef12b056f428cb6b85c27ba57
  • Network accessline 384
    { url = "https://files.pythonhosted.org/packages/10/bf/8d6ebc7dded797bd0f0160d52188021211f011a2b164ef0ae1dac4587465/cryptography-50.0.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:7a8701d6b584d76e909e3d305b7d126b41439876a5aaf76cddc
  • Network accessline 385
    { url = "https://files.pythonhosted.org/packages/d4/aa/f3f6e0de7e6253b8baa8b2d8fb9d50924fa75cee3d4624bd4bc1208ee923/cryptography-50.0.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:ce47f66801c20ec6c6632453bb5960fe38939e9306970b48b3a5
  • Network accessline 386
    { url = "https://files.pythonhosted.org/packages/f6/b6/a1faf3a27ae9405fb34b1713cc73b2d8a26b04d5c561578fa2e6ef3e5bb9/cryptography-50.0.2-cp39-abi3-win_amd64.whl", hash = "sha256:4e81d95e5bafc2d6e34e4bed780e53e4d5b9a2f928573428aa4d35fbec1eb0d
  • Network accessline 387
    { url = "https://files.pythonhosted.org/packages/1d/7a/f08d34ce09d60f89ebd391e2ebc6ba2b995e6dd7552f41820f8085f94e53/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:92e665960f25fcdc73725b9cec7a3824f279ba97a
  • Network accessline 388
    { url = "https://files.pythonhosted.org/packages/45/67/e18fb65592451a2acb76e9f2fbe14e0f47a8318b4c5430f1633851d03daa/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:eef4c2f3423810b3070ab391f85436d2f8bbfcb286
  • Network accessline 389
    { url = "https://files.pythonhosted.org/packages/83/28/38fdce17e60f6b825e69fc3b7f75e70a6612759980704697e1de4cbfaf6e/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:7c6d0330c472d96f6a6afe24d80dfdf15176c3309
  • Network accessline 390
    { url = "https://files.pythonhosted.org/packages/b6/b1/d9121a717e0f893c64bd6ca7702614778d7df2a5c309128a002421788516/cryptography-50.0.2-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:1ba34f04897fcdaa73f74145c25f3ec146fbd56593
  • Network accessline 391
    { url = "https://files.pythonhosted.org/packages/36/8b/e6d153808bf353e152abd2fd4d8f09670d956ac78379ac46e60d7efbf04c/cryptography-50.0.2-pp311-pypy311_pp80-macosx_11_0_arm64.whl", hash = "sha256:3dc4fd8058cea1644971207d530e1a03a184a805ffc8eb
  • Network accessline 392
    { url = "https://files.pythonhosted.org/packages/ca/1d/1271f287ff7170ddafc2aad36260c4eec20ccd2fea70f38455e9d56d427b/cryptography-50.0.2-pp311-pypy311_pp80-win_amd64.whl", hash = "sha256:7b75de3c8b3be1cdb1052747c929440c3eea46c1bc2cb8a6e3a483
  • Network accessline 396
    name = "defusedxml" version = "0.7.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 397
    version = "0.7.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032
  • Network accessline 398
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 399
    sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 7
  • Network accessline 400
    wheels = [     { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec
  • Network accessline 401
    { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", si
  • Network accessline 405
    name = "distro" version = "1.9.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 406
    version = "1.9.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd89
  • Network accessline 407
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 408
    sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722
  • Network accessline 409
    wheels = [     { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02
  • Network accessline 410
    { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 202
  • Network accessline 414
    name = "exceptiongroup" version = "1.3.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 415
    version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 416
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 418
    { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6
  • Network accessline 419
    ] sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", si
  • Network accessline 420
    sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size
  • Network accessline 421
    wheels = [     { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577
  • Network accessline 422
    { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", si
  • Network accessline 426
    name = "feedparser" version = "6.0.14" source = { registry = "https://pypi.org/simple" }
  • Network accessline 427
    version = "6.0.14" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 428
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 430
    { name = "feedparser-sgmllib" }, ] sdist = { url = "https://files.pythonhosted.org/packages/37/8a/a53da4a77352045d277978a2df322d5379369f9deb1707178899ff7e1121/feedparser-6.0.14.tar.gz", hash = "sha256:088679b0c4b543ee211a820dd544698c76a4021
  • Network accessline 431
    ] sdist = { url = "https://files.pythonhosted.org/packages/37/8a/a53da4a77352045d277978a2df322d5379369f9deb1707178899ff7e1121/feedparser-6.0.14.tar.gz", hash = "sha256:088679b0c4b543ee211a820dd544698c76a402122eae7473c04a43425f283d06", size 
  • Network accessline 432
    sdist = { url = "https://files.pythonhosted.org/packages/37/8a/a53da4a77352045d277978a2df322d5379369f9deb1707178899ff7e1121/feedparser-6.0.14.tar.gz", hash = "sha256:088679b0c4b543ee211a820dd544698c76a402122eae7473c04a43425f283d06", size = 
  • Network accessline 433
    wheels = [     { url = "https://files.pythonhosted.org/packages/7f/61/f04912e63702e73fb2a378f9c0a1ad9eb17a334a11a6b3fe1daa593903c2/feedparser-6.0.14-py3-none-any.whl", hash = "sha256:e35e3f760151b0c3b22cac9684155cae186a233e16c49bcbc6c49e91e
  • Network accessline 434
    { url = "https://files.pythonhosted.org/packages/7f/61/f04912e63702e73fb2a378f9c0a1ad9eb17a334a11a6b3fe1daa593903c2/feedparser-6.0.14-py3-none-any.whl", hash = "sha256:e35e3f760151b0c3b22cac9684155cae186a233e16c49bcbc6c49e91e3131137", size 
  • Network accessline 438
    name = "feedparser-sgmllib" version = "2.1.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 439
    version = "2.1.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/da/df/38596299216e5c22d60ed7f97902bb2bc72cfb95f732400f4fa976fd2e62/feedparser_sgmllib-2.1.0.tar.gz", hash = "sha256
  • Network accessline 440
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 441
    sdist = { url = "https://files.pythonhosted.org/packages/da/df/38596299216e5c22d60ed7f97902bb2bc72cfb95f732400f4fa976fd2e62/feedparser_sgmllib-2.1.0.tar.gz", hash = "sha256:61facf2918c4389b5b00714f76c5e03431ffcd94cd1f51d657edd6cd7c396579", 
  • Network accessline 442
    wheels = [     { url = "https://files.pythonhosted.org/packages/85/a0/79a31f898092e145bd66e2b338fb0656979acb2bbbcae8220940fbfcd820/feedparser_sgmllib-2.1.0-py3-none-any.whl", hash = "sha256:2cab2d43b95a954f920f18aebce7a4dbbb3f539780b127e2aa
  • Network accessline 443
    { url = "https://files.pythonhosted.org/packages/85/a0/79a31f898092e145bd66e2b338fb0656979acb2bbbcae8220940fbfcd820/feedparser_sgmllib-2.1.0-py3-none-any.whl", hash = "sha256:2cab2d43b95a954f920f18aebce7a4dbbb3f539780b127e2aa114f579821e01d"
  • Network accessline 447
    name = "google-api-core" version = "2.43.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 448
    version = "2.43.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 449
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 456
    { name = "requests" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bf/1c/83011225511b8a0aeee9633d58d8e6b5d858ea5502e76117bcefb620245d/google_api_core-2.43.0.tar.gz", hash = "sha256:d67355a22d995a009b6c5ca98744ea35fbf4f9c2c006
  • Network accessline 457
    ] sdist = { url = "https://files.pythonhosted.org/packages/bf/1c/83011225511b8a0aeee9633d58d8e6b5d858ea5502e76117bcefb620245d/google_api_core-2.43.0.tar.gz", hash = "sha256:d67355a22d995a009b6c5ca98744ea35fbf4f9c2c006aa0588c0941d1ceb5216", 
  • Network accessline 458
    sdist = { url = "https://files.pythonhosted.org/packages/bf/1c/83011225511b8a0aeee9633d58d8e6b5d858ea5502e76117bcefb620245d/google_api_core-2.43.0.tar.gz", hash = "sha256:d67355a22d995a009b6c5ca98744ea35fbf4f9c2c006aa0588c0941d1ceb5216", si
  • Network accessline 459
    wheels = [     { url = "https://files.pythonhosted.org/packages/63/5e/ea85dbdb29e05a1dab94be7e4c07e5099b7048074f9ededf7d39636a878a/google_api_core-2.43.0-py3-none-any.whl", hash = "sha256:dd588ae9de5e372be89b87c68b1e1555fe89add1809d623182b7
  • Network accessline 460
    { url = "https://files.pythonhosted.org/packages/63/5e/ea85dbdb29e05a1dab94be7e4c07e5099b7048074f9ededf7d39636a878a/google_api_core-2.43.0-py3-none-any.whl", hash = "sha256:dd588ae9de5e372be89b87c68b1e1555fe89add1809d623182b773d14f96859a", 
  • Network accessline 464
    name = "google-api-python-client" version = "2.201.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 465
    version = "2.201.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 466
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 472
    { name = "uritemplate" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b6/47/077e889d3c618d971d3bce4ab198c645a607276b8d4bb151cfe78d2c92bb/google_api_python_client-2.201.0.tar.gz", hash = "sha256:d5691982abd7287f53cb0b0e0c6a998
  • Network accessline 473
    ] sdist = { url = "https://files.pythonhosted.org/packages/b6/47/077e889d3c618d971d3bce4ab198c645a607276b8d4bb151cfe78d2c92bb/google_api_python_client-2.201.0.tar.gz", hash = "sha256:d5691982abd7287f53cb0b0e0c6a9984d4103cf864ea0a88cb6e4347b
  • Network accessline 474
    sdist = { url = "https://files.pythonhosted.org/packages/b6/47/077e889d3c618d971d3bce4ab198c645a607276b8d4bb151cfe78d2c92bb/google_api_python_client-2.201.0.tar.gz", hash = "sha256:d5691982abd7287f53cb0b0e0c6a9984d4103cf864ea0a88cb6e4347bba
  • Network accessline 475
    wheels = [     { url = "https://files.pythonhosted.org/packages/8b/c0/221313acdee33b8e5d3fe8a06ba398fc18cfd14627816764bb00318a6065/google_api_python_client-2.201.0-py3-none-any.whl", hash = "sha256:2d9bf1ba3f12eee8ed3d0f1791ce0605d163432f49
  • Network accessline 476
    { url = "https://files.pythonhosted.org/packages/8b/c0/221313acdee33b8e5d3fe8a06ba398fc18cfd14627816764bb00318a6065/google_api_python_client-2.201.0-py3-none-any.whl", hash = "sha256:2d9bf1ba3f12eee8ed3d0f1791ce0605d163432f496baa72d3677faa2
  • Network accessline 480
    name = "google-auth" version = "2.62.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 481
    version = "2.62.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 482
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 485
    { name = "pyasn1-modules" }, ] sdist = { url = "https://files.pythonhosted.org/packages/f5/b9/4b2528f30114b106e3c3a7298ba38d85e682fd1f83fe7c4a5b77c7677082/google_auth-2.62.0.tar.gz", hash = "sha256:0bef0ce54bdf9ce226c5d66e4264413bd918141c31
  • Network accessline 486
    ] sdist = { url = "https://files.pythonhosted.org/packages/f5/b9/4b2528f30114b106e3c3a7298ba38d85e682fd1f83fe7c4a5b77c7677082/google_auth-2.62.0.tar.gz", hash = "sha256:0bef0ce54bdf9ce226c5d66e4264413bd918141c31bbe49fb52eac882f513d69", size
  • Network accessline 487
    sdist = { url = "https://files.pythonhosted.org/packages/f5/b9/4b2528f30114b106e3c3a7298ba38d85e682fd1f83fe7c4a5b77c7677082/google_auth-2.62.0.tar.gz", hash = "sha256:0bef0ce54bdf9ce226c5d66e4264413bd918141c31bbe49fb52eac882f513d69", size =
  • Network accessline 488
    wheels = [     { url = "https://files.pythonhosted.org/packages/eb/a3/87fe9b7203ec2e56ea6a57c75e6d632eaf9487c7f7978cdad1d801bee0af/google_auth-2.62.0-py3-none-any.whl", hash = "sha256:4ff4319aeb4ad128409759d397a9fcafad126d0031d241cc0dd6b9a0
  • Network accessline 489
    { url = "https://files.pythonhosted.org/packages/eb/a3/87fe9b7203ec2e56ea6a57c75e6d632eaf9487c7f7978cdad1d801bee0af/google_auth-2.62.0-py3-none-any.whl", hash = "sha256:4ff4319aeb4ad128409759d397a9fcafad126d0031d241cc0dd6b9a00b43e3f3", size
  • Network accessline 498
    name = "google-auth-httplib2" version = "0.4.4" source = { registry = "https://pypi.org/simple" }
  • Network accessline 499
    version = "0.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 500
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 503
    { name = "httplib2" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bb/6d/a511ca64d5412850e351bdec6bb224e5090749bd85c186135e8fdb4fd85a/google_auth_httplib2-0.4.4.tar.gz", hash = "sha256:b931de392c20cfaa351cd789274922bd8cdc001e
  • Network accessline 504
    ] sdist = { url = "https://files.pythonhosted.org/packages/bb/6d/a511ca64d5412850e351bdec6bb224e5090749bd85c186135e8fdb4fd85a/google_auth_httplib2-0.4.4.tar.gz", hash = "sha256:b931de392c20cfaa351cd789274922bd8cdc001e0e9e96de31b39d71347f8e1
  • Network accessline 505
    sdist = { url = "https://files.pythonhosted.org/packages/bb/6d/a511ca64d5412850e351bdec6bb224e5090749bd85c186135e8fdb4fd85a/google_auth_httplib2-0.4.4.tar.gz", hash = "sha256:b931de392c20cfaa351cd789274922bd8cdc001e0e9e96de31b39d71347f8e16"
  • Network accessline 506
    wheels = [     { url = "https://files.pythonhosted.org/packages/de/ea/27cf5d623efdc1cdb2632b4c872ac5092cd3895671ba1d5004e73c3f1a7c/google_auth_httplib2-0.4.4-py3-none-any.whl", hash = "sha256:bbe5d7b2401bb3a4017f4720e1e91bd273ab9a2bb60b84e6
  • Network accessline 507
    { url = "https://files.pythonhosted.org/packages/de/ea/27cf5d623efdc1cdb2632b4c872ac5092cd3895671ba1d5004e73c3f1a7c/google_auth_httplib2-0.4.4-py3-none-any.whl", hash = "sha256:bbe5d7b2401bb3a4017f4720e1e91bd273ab9a2bb60b84e65edbc0de127852d
  • Network accessline 511
    name = "google-genai" version = "2.33.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 512
    version = "2.33.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 513
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 522
    { name = "tenacity" },     { name = "typing-extensions" },     { name = "websockets", version = "16.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
  • Network accessline 523
    { name = "typing-extensions" },     { name = "websockets", version = "16.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },     { name = "websockets", version = "17.3", source = { registry = 
  • Network accessline 524
    { name = "websockets", version = "16.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
  • Network accessline 525
    { name = "websockets", version = "17.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
  • Network accessline 526
    ] sdist = { url = "https://files.pythonhosted.org/packages/83/a4/b83b378b4a2fbbfb300c3fde0ff9f443f049c33e2accedf06bc0ad9bf393/google_genai-2.33.0.tar.gz", hash = "sha256:fced7f746da45264b34bcf6044a6fcdb91ebad1825e95c324ee48addb6e557ae", siz
  • Network accessline 527
    sdist = { url = "https://files.pythonhosted.org/packages/83/a4/b83b378b4a2fbbfb300c3fde0ff9f443f049c33e2accedf06bc0ad9bf393/google_genai-2.33.0.tar.gz", hash = "sha256:fced7f746da45264b34bcf6044a6fcdb91ebad1825e95c324ee48addb6e557ae", size 
  • Network accessline 528
    wheels = [     { url = "https://files.pythonhosted.org/packages/ba/3b/9ae8e16c5b2177bfdec1c64769a93eea9093de684e0bbb95c10c77645fef/google_genai-2.33.0-py3-none-any.whl", hash = "sha256:f3f8ab696b35caf95c222e05268740c1ccd6934257890506be73b12
  • Network accessline 529
    { url = "https://files.pythonhosted.org/packages/ba/3b/9ae8e16c5b2177bfdec1c64769a93eea9093de684e0bbb95c10c77645fef/google_genai-2.33.0-py3-none-any.whl", hash = "sha256:f3f8ab696b35caf95c222e05268740c1ccd6934257890506be73b126150d3b14", siz
  • Network accessline 533
    name = "googleapis-common-protos" version = "1.76.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 534
    version = "1.76.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 535
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 537
    { name = "protobuf" }, ] sdist = { url = "https://files.pythonhosted.org/packages/62/b6/bc095b23a3e0d978e75c8c18cabe4c11f791837410670e4486f0d539bfba/googleapis_common_protos-1.76.0.tar.gz", hash = "sha256:71db0e44a1d4c2dd024ebad44ca67129cc1
  • Network accessline 538
    ] sdist = { url = "https://files.pythonhosted.org/packages/62/b6/bc095b23a3e0d978e75c8c18cabe4c11f791837410670e4486f0d539bfba/googleapis_common_protos-1.76.0.tar.gz", hash = "sha256:71db0e44a1d4c2dd024ebad44ca67129cc1e2892e4861df466764749d5
  • Network accessline 539
    sdist = { url = "https://files.pythonhosted.org/packages/62/b6/bc095b23a3e0d978e75c8c18cabe4c11f791837410670e4486f0d539bfba/googleapis_common_protos-1.76.0.tar.gz", hash = "sha256:71db0e44a1d4c2dd024ebad44ca67129cc1e2892e4861df466764749d5ef
  • Network accessline 540
    wheels = [     { url = "https://files.pythonhosted.org/packages/05/6d/78dc67a9e779e594b49bf62604034d3a6aa428a55afc729cafda4b7333e1/googleapis_common_protos-1.76.0-py3-none-any.whl", hash = "sha256:59e13344a9f3651aa201a03e2bee815a3bf43a4baf1
  • Network accessline 541
    { url = "https://files.pythonhosted.org/packages/05/6d/78dc67a9e779e594b49bf62604034d3a6aa428a55afc729cafda4b7333e1/googleapis_common_protos-1.76.0-py3-none-any.whl", hash = "sha256:59e13344a9f3651aa201a03e2bee815a3bf43a4baf1f9ff8a9b62a840c
  • Network accessline 545
    name = "h11" version = "0.16.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 546
    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 547
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 548
    sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250,
  • Network accessline 549
    wheels = [     { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86
  • Network accessline 550
    { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515
  • Network accessline 554
    name = "httpcore" version = "1.0.9" source = { registry = "https://pypi.org/simple" }
  • Network accessline 555
    version = "1.0.9" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 556
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 559
    { name = "h11" }, ] sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff
  • Network accessline 560
    ] sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 8
  • Network accessline 561
    sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 854
  • Network accessline 562
    wheels = [     { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1
  • Network accessline 563
    { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 7
  • Network accessline 567
    name = "httplib2" version = "0.32.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 568
    version = "0.32.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 569
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 571
    { name = "pyparsing" }, ] sdist = { url = "https://files.pythonhosted.org/packages/84/f5/ccf58de92d61e3ad921119668f54ed36ca1d0cf5dcc5c1657dfb164fd78b/httplib2-0.32.0.tar.gz", hash = "sha256:48a0ef30a42db65d8f3399045e1d09ab0ba66e3b9efc360d07
  • Network accessline 572
    ] sdist = { url = "https://files.pythonhosted.org/packages/84/f5/ccf58de92d61e3ad921119668f54ed36ca1d0cf5dcc5c1657dfb164fd78b/httplib2-0.32.0.tar.gz", hash = "sha256:48a0ef30a42db65d8f3399045e1d09ab0ba66e3b9efc360d07f80ea55d286025", size = 
  • Network accessline 573
    sdist = { url = "https://files.pythonhosted.org/packages/84/f5/ccf58de92d61e3ad921119668f54ed36ca1d0cf5dcc5c1657dfb164fd78b/httplib2-0.32.0.tar.gz", hash = "sha256:48a0ef30a42db65d8f3399045e1d09ab0ba66e3b9efc360d07f80ea55d286025", size = 25
  • Network accessline 574
    wheels = [     { url = "https://files.pythonhosted.org/packages/33/a0/550eec327e5f5c7b732531c489f5307efec41f047b0d703bd4ca1e5ad2db/httplib2-0.32.0-py3-none-any.whl", hash = "sha256:dc6705cacdf3fb0a2aba7629fa33c90fd93e30035db0c157325826be177
  • Network accessline 575
    { url = "https://files.pythonhosted.org/packages/33/a0/550eec327e5f5c7b732531c489f5307efec41f047b0d703bd4ca1e5ad2db/httplib2-0.32.0-py3-none-any.whl", hash = "sha256:dc6705cacdf3fb0a2aba7629fa33c90fd93e30035db0c157325826be177e4816", size = 
  • Network accessline 579
    name = "httpx" version = "0.28.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 580
    version = "0.28.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 581
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 586
    { name = "idna" }, ] sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e
  • Network accessline 587
    ] sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141
  • Network accessline 588
    sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 14140
  • Network accessline 589
    wheels = [     { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59
  • Network accessline 590
    { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 735
  • Network accessline 594
    name = "idna" version = "3.20" source = { registry = "https://pypi.org/simple" }
  • Network accessline 595
    version = "3.20" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz", hash = "sha256:a7db850025b95de
  • Network accessline 596
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 597
    sdist = { url = "https://files.pythonhosted.org/packages/f5/08/8eea9d4b8302028f3abb2c0813953f7aec26d33b7a8960ed760e65ff29fa/idna-3.20.tar.gz", hash = "sha256:a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44", size = 216463, 
  • Network accessline 598
    wheels = [     { url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl", hash = "sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c"
  • Network accessline 599
    { url = "https://files.pythonhosted.org/packages/58/a2/bb081bab032533a855d44de1d56f8e8426114ff1ba5d1f07a438a0a654f8/idna-3.20-py3-none-any.whl", hash = "sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c", size = 69583,
  • Network accessline 603
    name = "iniconfig" version = "2.3.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 604
    version = "2.3.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/01/e1/2069291243c926a2ff1cd706c7f3eeb9b62144bf60f77c9fb9ff2fb26bd3/iniconfig-2.3.1.tar.gz", hash = "sha256:67f4b9c5
  • Network accessline 605
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 606
    sdist = { url = "https://files.pythonhosted.org/packages/01/e1/2069291243c926a2ff1cd706c7f3eeb9b62144bf60f77c9fb9ff2fb26bd3/iniconfig-2.3.1.tar.gz", hash = "sha256:67f4b9c50da0dedf52af349e7749a80a9057a5031199791b906c3bb3ae878960", size = 21
  • Network accessline 607
    wheels = [     { url = "https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl", hash = "sha256:9121e2c1fdb355232495be3194c8dfe87ccc2d5dee45947b78e68f49979
  • Network accessline 608
    { url = "https://files.pythonhosted.org/packages/56/43/4ca9e49d27a1fcf6bece6f6aec0ea46bb9112489b93d4b688fb415457bdb/iniconfig-2.3.1-py3-none-any.whl", hash = "sha256:9121e2c1fdb355232495be3194c8dfe87ccc2d5dee45947b78e68f499790d7a7", size = 
  • Network accessline 612
    name = "jiter" version = "0.18.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 613
    version = "0.18.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/63/5b/f68319f4fe624311a744a33d10fdbcac4c971991e348223cba60d31780b2/jiter-0.18.0.tar.gz", hash = "sha256:a0ca63fd94
  • Network accessline 614
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 615
    sdist = { url = "https://files.pythonhosted.org/packages/63/5b/f68319f4fe624311a744a33d10fdbcac4c971991e348223cba60d31780b2/jiter-0.18.0.tar.gz", hash = "sha256:a0ca63fd9450a212e4e658d4cfe0ab4977c4f9b0003c68828b843c65e27662ff", size = 23447
  • Network accessline 616
    wheels = [     { url = "https://files.pythonhosted.org/packages/75/cd/659a700d5a8524960711a8b4fa5143b32c1deeb76b4503e648f48c9d8a99/jiter-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:74b8d31a39b9d22293c75bfdf0e6ab54d9dc16d32b5
  • Network accessline 617
    { url = "https://files.pythonhosted.org/packages/75/cd/659a700d5a8524960711a8b4fa5143b32c1deeb76b4503e648f48c9d8a99/jiter-0.18.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:74b8d31a39b9d22293c75bfdf0e6ab54d9dc16d32b540b2cb8f7c16296
  • Network accessline 618
    { url = "https://files.pythonhosted.org/packages/03/1a/1a0c57e6eacb7497abe18d83434360373793c824a97973212c7a99390b19/jiter-0.18.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:77d61c53ab1732e84ad20f77c44bfc761183ef323eef84a59ffdd9201bd5
  • Network accessline 619
    { url = "https://files.pythonhosted.org/packages/7a/72/b965c0df9bf6f9cb834ebd181f1f7ec7f376cb3e589c6169c596b6e5d6e6/jiter-0.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ea6d553fe513447a7a8ef6175aeacecd
  • Network accessline 620
    { url = "https://files.pythonhosted.org/packages/88/33/bfdf32c15b55fba17d6af25f8878c9a23b15e000877af802808a0fb2b00c/jiter-0.18.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7779088592f8994e021cd79b9b334f41363
  • Network accessline 621
    { url = "https://files.pythonhosted.org/packages/b7/72/882cba4fd704137f71fa99686e9492eda6a462523b417ce05c601c3378cd/jiter-0.18.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:879cf95bb0266643c1e8214be0862f2dd
  • Network accessline 622
    { url = "https://files.pythonhosted.org/packages/85/f8/119ed3573d65d8a84b38864a2dcb10b9c5ce05316e06576e66fa55ec9e75/jiter-0.18.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1b291352b1f7dcf095b2a9d540777d59588c8
  • Network accessline 623
    { url = "https://files.pythonhosted.org/packages/21/d4/88f08cf7189c3070a029a7ab3f22334f138c8664d731f574f6034928bed6/jiter-0.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a4ff2d7905b0f3f5c54b29626c7747cd4af
  • Network accessline 624
    { url = "https://files.pythonhosted.org/packages/2a/f3/22782c5d97bb8947e3a27957e53d90bf4c031c4f9274dc85099c8beba6ef/jiter-0.18.0-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:4d5ce30facd564d97aceb49013a02661daef1cf9c34ce322c1afbb8
  • Network accessline 625
    { url = "https://files.pythonhosted.org/packages/7e/a2/cf0e87e7fe7345aa78e6a85b94f0e4d91e57d2ae233f11b6a15931ca1edb/jiter-0.18.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:131446a60b54ff9d4db62633a74189056387f6b2ad4
  • Network accessline 626
    { url = "https://files.pythonhosted.org/packages/76/64/461748f1d0e7554f814f1467b57ce45bd92ef1922f1457fd6aa19413d717/jiter-0.18.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:389f5379f7cc5b09f6586db99bf91c5d828fac88f1a52fdeb4fc3b04
  • Network accessline 627
    { url = "https://files.pythonhosted.org/packages/0f/b1/65940d140ff84426c0bd495e2b07c81ec61873264fcf302af7d12d6ec1de/jiter-0.18.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:db7804a8d3a433a3c5e08cd658ea69a6ee9a2ee43b756dd20048dae5a
  • Network accessline 628
    { url = "https://files.pythonhosted.org/packages/fc/3e/1e4a62c1f8261f074069323f957b2a8b7fb62cd1c2962164bcf6f3de0b47/jiter-0.18.0-cp310-cp310-win32.whl", hash = "sha256:5c2a5dac57aec416140812f6d3824cdaf1da8a4f8f009ece64e50f507b6a709a", size 
  • Network accessline 629
    { url = "https://files.pythonhosted.org/packages/08/bb/ba0f2ff7a98030228eebc897928c6a5cb63be2f46bb64df805c8371fc408/jiter-0.18.0-cp310-cp310-win_amd64.whl", hash = "sha256:a447ed784b8013b518e0b1effe05424d5dfaa6974fed69aebdd4c1349d82fc54", s
  • Network accessline 630
    { url = "https://files.pythonhosted.org/packages/5d/d1/014e38e099c9600dfd026962b454833538b82d9364ff9ed7414b5e5aa6e5/jiter-0.18.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:97cdff6fffc79d915e3d2691110e014f3f43c7529a73c0bfe8de63530b
  • Network accessline 631
    { url = "https://files.pythonhosted.org/packages/ca/3f/f5b9d63db432b4938c972f04a6e541232af85169140c061b227f6690f9fd/jiter-0.18.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c938de3832ca88ca879bbf0c24673cbe0176b502eec8d2364f35c9edb9bd
  • Network accessline 632
    { url = "https://files.pythonhosted.org/packages/d0/e1/ebf515f2cbbdabc8393783b7048c1aac9d9d171bf7d9dab26ca10a9fe9f8/jiter-0.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a41d8ef9f757fd5c11ce2fa56c9c4d00
  • Network accessline 633
    { url = "https://files.pythonhosted.org/packages/18/c6/c55d469b5a346070dbfb842316cea8e73a8ba1a96dd65c60b16ec36cda38/jiter-0.18.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b2cad787346aa8f458ed6d5ecbbe3b6dd13
  • Network accessline 634
    { url = "https://files.pythonhosted.org/packages/9a/80/5f31105f07b9de70dade7aa074cccdf18f3e5df3632377ad05ecfd58cfa6/jiter-0.18.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3027e8ec2c86106bfd4b125af27aa6dd5
  • Network accessline 635
    { url = "https://files.pythonhosted.org/packages/39/99/ef5380973360aa6d7e4a33e60b1ab5e9c88fd7fc25671c683383522532be/jiter-0.18.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2485807c282b6df64d9135551c2d8e9ac2b09
  • Network accessline 636
    { url = "https://files.pythonhosted.org/packages/85/93/f133c7b38cc1bc7516929e9d82a28caa6a4403b4d4c5c9c1d39170128dee/jiter-0.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55f808bce951fae459fc916359cc54097d3
  • Network accessline 637
    { url = "https://files.pythonhosted.org/packages/a0/1c/19a54abb30b83bccef20b24be95c637d634033208ba7252e2989f38e8657/jiter-0.18.0-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:4656c4b24fd711d6caa61cb2fe895dcc55d0d6944828df23f2fb055
  • Network accessline 638
    { url = "https://files.pythonhosted.org/packages/76/b4/011a8a05b5548a02166621183fdd64473d6f6d0cd394758e26eba4831327/jiter-0.18.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5893dc87a2a5297e271dfc5f8f710c3e61ebeb64c13
  • Network accessline 639
    { url = "https://files.pythonhosted.org/packages/30/6b/9fedf0a78535bca9d8136756dae50e58229c16b4d9cf8c78e101b5b606fe/jiter-0.18.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:867a217d4a1857fba97c4cc5dc82a38ea257beee8c2a753b3d9b9310
  • Network accessline 640
    { url = "https://files.pythonhosted.org/packages/91/64/e096051c182695ebb55011977016ec9c6af0e4135468653b1193a2d3f4eb/jiter-0.18.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1df7b0ce46d869c49c77670ba31db737d96fd1bd4ae44d790d33bb731
  • Network accessline 641
    { url = "https://files.pythonhosted.org/packages/f7/9b/c36f7de00722441c7de54760200209e65445e7ea659d68c8f1c8be40df6a/jiter-0.18.0-cp311-cp311-win32.whl", hash = "sha256:b8b97658b0914e90a352a9a1d515e597bcc89c88514fe4bcb4e37fa2a2fbaa29", size 
  • Network accessline 642
    { url = "https://files.pythonhosted.org/packages/4d/3e/f17099d841ccb1603d1223941b845bf38503f540aa6be8e9d50c8488f98f/jiter-0.18.0-cp311-cp311-win_amd64.whl", hash = "sha256:8ad1a36e3d5ebbff515b85468d8e279b336eaa326953b1b36fa21d5e2b8e8f9d", s
  • Network accessline 643
    { url = "https://files.pythonhosted.org/packages/58/35/c807b0274be3179bf971d56152a9fc9ac216b3afd169b6100a7fb9351892/jiter-0.18.0-cp311-cp311-win_arm64.whl", hash = "sha256:908f310576554379becf2e8c7730a8962693ebfba9395a54ef3c05c57b1cd9d8", s
  • Network accessline 644
    { url = "https://files.pythonhosted.org/packages/45/0e/075bfa4fa46820da9ac8cf8a67c435b0586012279fba15deccde0e73b9ce/jiter-0.18.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:77a01cdf4381a1becbe5b827f682006f47b712581667451c5b1eb259b9
  • Network accessline 645
    { url = "https://files.pythonhosted.org/packages/2e/e2/f4000a4d9c519ca019bf0e2922cc0c6b6db347be6303161382eda7635be7/jiter-0.18.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7b41cd64ee6b54db94bea6274e6e37002ed526aa06c114a8be6f36ffe21c
  • Network accessline 646
    { url = "https://files.pythonhosted.org/packages/51/93/9aaef4d18d19446fd044b9cff0323b1b45b5526f077f1a80418567a6eef8/jiter-0.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7424194e68ef44e94290961f59319850
  • Network accessline 647
    { url = "https://files.pythonhosted.org/packages/fd/9e/d2dc5e8179e248df7ef1c7c8822554f4c7f694a33be30790bb523f1e657a/jiter-0.18.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:04a484fce032a8b2c21dec0410a805d7b16
  • Network accessline 648
    { url = "https://files.pythonhosted.org/packages/22/ca/28bfd20743be0b2b37c1ddfe069a637d5180e535f1c8faad555cf7ac0b98/jiter-0.18.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:860ac97858116bda0ac02ef5f50c541fc
  • Network accessline 649
    { url = "https://files.pythonhosted.org/packages/69/89/e42f7dba54dcf7787aa4be3e22cdcb1f14d9635b6527949652ab490d6f8e/jiter-0.18.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39ef656cf371971486ec545ca0ae2da8d037d
  • Network accessline 650
    { url = "https://files.pythonhosted.org/packages/74/6a/b13407f609ddaf9a1f0cdf1336326dc5c8c7fc56943e8450a04a542f5edf/jiter-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3c741e6b778c951a6861964ee475118812
  • Network accessline 651
    { url = "https://files.pythonhosted.org/packages/b2/7e/b560f97495a485a569e7fa338a13587328854f6a40cd2e93602c327ca4a6/jiter-0.18.0-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:1277ac083a58d2f49a24ff9a28fd9876a6443a1992d4467a1db80fb
  • Network accessline 652
    { url = "https://files.pythonhosted.org/packages/8b/97/457b6ec16f1f3f25ec760f23728f43a2b20ddf934fcd8f02c81a2183597e/jiter-0.18.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ccf224d2e706be81d464b59c2bc3f98ba65d12c092c
  • Network accessline 653
    { url = "https://files.pythonhosted.org/packages/0e/d9/6f616071650f7bb8fcbce674d4dde7e59cfbd8a4d30f5c71c03630425d6e/jiter-0.18.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5c7fc8e5357d1ad082bb177be71e398fcd3d458726439255ca5cb0d7
  • Network accessline 654
    { url = "https://files.pythonhosted.org/packages/42/72/52a3630c8213cdc8093cc86dc6ad50f2bc89ccfa97ef272205d38a24e16d/jiter-0.18.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a6bba0404b46157a651d1fe512cf2c59c8e42836a9284c35cdff35310
  • Network accessline 655
    { url = "https://files.pythonhosted.org/packages/31/54/987cfee52bdf8a286e9c1c58192a9bb64f8773a6be36e4ec46959f67fb7e/jiter-0.18.0-cp312-cp312-win32.whl", hash = "sha256:07ae058bc052ead609b49bbae78c01bf4dee8f5f9d21705cbae9bfe59b33efc9", size 
  • Network accessline 656
    { url = "https://files.pythonhosted.org/packages/c5/c9/b1279eecf68e5f62c918af3f7f856a071ae7db0c90b8fd2235b1b6020c8c/jiter-0.18.0-cp312-cp312-win_amd64.whl", hash = "sha256:79d1fe529bd7065c6f3f50279a08c2ab82eaa0631a6f5dfafa9c65105eeaaafa", s
  • Network accessline 657
    { url = "https://files.pythonhosted.org/packages/e0/14/715f84be58a7fc97779aa40c37164acfa25ccb2cee89bfb69358e7071ff3/jiter-0.18.0-cp312-cp312-win_arm64.whl", hash = "sha256:1f8b3b3d8761dee3cddcb5d3e99eaccc0155bbefc345affcdedcc758a4933a1f", s
  • Network accessline 658
    { url = "https://files.pythonhosted.org/packages/50/94/aa275cdb099fd84e402977f8fc8628e2cee2f7c8eafe1d1d5c5e722f5ee5/jiter-0.18.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1517648b5f6268513dea206241a99d9991d6ffcbdbc406848e77a7f02e
  • Network accessline 659
    { url = "https://files.pythonhosted.org/packages/8d/30/3eaf67279c6183393d3608b6713c93668ae82ea59f0589ea59d8176d8741/jiter-0.18.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7161217e2190b9b2c8c79b81699be29d67010f6f77e09a53a3b62261792d
  • Network accessline 660
    { url = "https://files.pythonhosted.org/packages/f8/2b/d18adcfec3516b97b24c0d5cd1b0ced22cada8ea9806f21bece75af49ffe/jiter-0.18.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9623fc90f1a4754452a525383ce704764
  • Network accessline 661
    { url = "https://files.pythonhosted.org/packages/41/e8/42cff1077883ea5311621dc9384a1ede4799bc3c01411798ac75f7a71f15/jiter-0.18.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f9083a7c2a4ee6358bc0401c46b4d5090f2
  • Network accessline 662
    { url = "https://files.pythonhosted.org/packages/1d/4d/2fbedfce563223d4783a872cead5f5bb74d2d1e418f963410ca28e4b7394/jiter-0.18.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4632f5172800da4cd42fd53f4553c772a
  • Network accessline 663
    { url = "https://files.pythonhosted.org/packages/04/a0/b082b2d8bd3bef9a888cc0a0f060a24644f24b5195f2e8227a40507e6b71/jiter-0.18.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c00b1f8fc1dd06c610305be36778b38148ed1
  • Network accessline 664
    { url = "https://files.pythonhosted.org/packages/64/11/babc8d3c004bb2f11b7e3adfe27a5bc7c1e13cdfc6360d424c57355c55ff/jiter-0.18.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e3350b7431f7b8315b925d9ca0f29a44e8
  • Network accessline 665
    { url = "https://files.pythonhosted.org/packages/3b/21/c50bf83c39d60f0df896ebcb025b316b670a703397d08bea2c69b9615101/jiter-0.18.0-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:3b49071fb7917cdbc6d80c81a491c6ad146c1a8fd6cb3076cd3c1bf
  • Network accessline 666
    { url = "https://files.pythonhosted.org/packages/af/19/3f66480d5bfd3f49571a073eefac4d890dd590a8eb3c78b15e0293909cc6/jiter-0.18.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04e210f5ddcccdbde484821040216a112381e6484ab
  • Network accessline 667
    { url = "https://files.pythonhosted.org/packages/5a/3d/b5662c84b14475c8b018ed1ca2ea44069194b7d97a03bac81ae6b46f6b9f/jiter-0.18.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:5b339f6ae14fe7be92f391cc65cc5c80ff76e8da76d63b18fc14664f
  • Network accessline 668
    { url = "https://files.pythonhosted.org/packages/80/b8/081c0414379ee2564aa7808f78e963538a2c4aed2f8d31775e2423e1cdbf/jiter-0.18.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:5cb43336244e063f9cc11e44730e4b92dea70c6eb9b649d268c5ebebc
  • Network accessline 669
    { url = "https://files.pythonhosted.org/packages/0f/1c/6f7bf98786851ae424a1d88562586302536cc137848fd12d2add3960fab3/jiter-0.18.0-cp313-cp313-win32.whl", hash = "sha256:9656d0e9001f69c4af6523874ff445ab4e5db7b835f59733cc5ff51e73a9aa57", size 
  • Network accessline 670
    { url = "https://files.pythonhosted.org/packages/38/53/5803216c024a241a0bf41ed2668713d7228f92c5593e40d5e873e3b20e0b/jiter-0.18.0-cp313-cp313-win_amd64.whl", hash = "sha256:8f26198220165eb9627847401fff4d0ca8bebf3ef840a88c6312918d2291c33a", s
  • Network accessline 671
    { url = "https://files.pythonhosted.org/packages/fe/8e/484919ccb041c9a1e84059be02bd37ff086b8b084e21630e0958d3ae41a3/jiter-0.18.0-cp313-cp313-win_arm64.whl", hash = "sha256:bef1fe687dc6af17bef9f644a95d465f15f0efa20b743c858e0b6a14e2c0c73e", s
  • Network accessline 672
    { url = "https://files.pythonhosted.org/packages/74/0e/45a502771d73d4a939132d8bf85d7b049c7ca06a07f84b414b525c3dc084/jiter-0.18.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:248e939f67a9f8030e2624260a9f417decfe275af37aa96728d256468a
  • Network accessline 673
    { url = "https://files.pythonhosted.org/packages/21/f6/d9cfa2bf2a969fb8e002fb8d8a6cd98d49a6248cb7e4ffe2247766af13fb/jiter-0.18.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0390fa550fcafbf69fb97ccb287bd71192f90410a1c7dd600ca4000aa9aa
  • Network accessline 674
    { url = "https://files.pythonhosted.org/packages/46/38/ea1dae56f123e3a864188cbbc577314293c0dcc019a880fa9c0a8097934a/jiter-0.18.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8013186f2b9a8c27ededa60105039252
  • Network accessline 675
    { url = "https://files.pythonhosted.org/packages/1f/d9/fcc5c53a32f98d52f4fd46fda62b69f5c7c2c975a582c0e18501250a4f78/jiter-0.18.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd4316df8e2074fcf5173f6001f1fc9596e
  • Network accessline 676
    { url = "https://files.pythonhosted.org/packages/d4/63/c24cd08907f08e6a3ba3173616ad268a3d32dd81c63ba34b991d08577d28/jiter-0.18.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a9e474da7a9f65d3b460cca93cc8a0f4e
  • Network accessline 677
    { url = "https://files.pythonhosted.org/packages/0b/78/19ca1c8fe87bd3c8540b91504ff2dd52c9c538233044c4cf787fc1fab39b/jiter-0.18.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d55acd326db8ecfc94f21951abd20902c7939
  • Network accessline 678
    { url = "https://files.pythonhosted.org/packages/c3/27/84be9cc1c2b781d2da7c694fd7608311af3aaab91f20eb00d4999285b351/jiter-0.18.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a01642d403b8925f2b1e1bb51b4ba49ece8
  • Network accessline 679
    { url = "https://files.pythonhosted.org/packages/9a/ac/7b3bfb49b19e42ebc2ae56ec307c372602dd1e17892f7e051c9bf97cd7e6/jiter-0.18.0-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:89ba6b674d4bd7290f9943bbeba0e1bf35955bbb1e07e41ba946916
  • Network accessline 680
    { url = "https://files.pythonhosted.org/packages/f9/6a/e37f50885aa4daa1dfe413784692ead6b48a1d9e857cd394a61bf345189c/jiter-0.18.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:feadebdfee32c61e91066433f4aa74c891752e26e43
  • Network accessline 681
    { url = "https://files.pythonhosted.org/packages/8b/f8/1026bc92f0fd443a1137993d1448a7d7c4b7a34bec2722a1533302ebc4b4/jiter-0.18.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:dd7e57efd54a3580620f635c48a3226f910e23649b7eb83ffbc6f0f3
  • Network accessline 682
    { url = "https://files.pythonhosted.org/packages/1b/2d/61f3c35736873c34eeee3d0008067febd88ded8e8cf6f9a0ab090348a787/jiter-0.18.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:ea69e23481497c2143775a98d273ccc43de5c92a6387df18c903d2d37
  • Network accessline 683
    { url = "https://files.pythonhosted.org/packages/6b/bf/9d14be58e76324f4927c7f8e5dbe2f9fd04faaec884a6465173f8142eac1/jiter-0.18.0-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:d9b61af76a3cd90ad9656a331737d97dab8c05facb2d04cb41f
  • Network accessline 684
    { url = "https://files.pythonhosted.org/packages/c6/7d/cff751c560d514da283bae595fe154714f285ec5ac15e2b16e9e0c0c8948/jiter-0.18.0-cp314-cp314-win32.whl", hash = "sha256:fe42726d7fe171cd8fc1966d4457a6aae03bd408d519d2cc5e7726805460b51e", size 
  • Network accessline 685
    { url = "https://files.pythonhosted.org/packages/04/70/4e7f51e517be4146400fd1ce642d535380a38c7db5ab475d38bbcd16a82d/jiter-0.18.0-cp314-cp314-win_amd64.whl", hash = "sha256:f1e738b851019d6bb6ff4a42c6319bdede967dec958ef3ec6feb7ab9d12408f7", s
  • Network accessline 686
    { url = "https://files.pythonhosted.org/packages/78/43/02bfb85f63e04c87c406731197e41f2e6b415035e41497428e0422fb326e/jiter-0.18.0-cp314-cp314-win_arm64.whl", hash = "sha256:80a961b1c5c7786bc03b332deb7f7ebe818b7baa6e26685e2bf480548ca128b4", s
  • Network accessline 687
    { url = "https://files.pythonhosted.org/packages/9c/66/5cbde35cbb14c8339af39c9bc61cbda08b212116f96603d23b7c9cc84a4d/jiter-0.18.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b066f37dd9ec19fc7931d79dee38f56b6f849217bbe824a7dad4518ef96
  • Network accessline 688
    { url = "https://files.pythonhosted.org/packages/eb/d1/dccc47ed6070d3b25622823048a80a49fe87ccd737e5d66b802ca20e4fde/jiter-0.18.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ccdc09887b04f50f1761eedcfd19da88
  • Network accessline 689
    { url = "https://files.pythonhosted.org/packages/de/a5/8d4ec06d7a0f2bccbde8508ed847ccd323a9dd1fbab5900cda3fc5bd71f8/jiter-0.18.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6133abcd0f332964fbb8145adb1ce775cd
  • Network accessline 690
    { url = "https://files.pythonhosted.org/packages/7f/50/49d06214b30c685d64ffdd40fdb50a98b6ccff4b012fc9ed491d44de9ef1/jiter-0.18.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ca381b4a466023d1fdd04c889c759b46
  • Network accessline 691
    { url = "https://files.pythonhosted.org/packages/f4/9a/4ecb866a7a01a4e76d9ffbde3fac2cd66ad978c8c797953d44f91fbf2040/jiter-0.18.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b961fedf589ffa182fe302fc4371acf4606
  • Network accessline 692
    { url = "https://files.pythonhosted.org/packages/16/7e/c8b5ecb6af4c9454376263f167f3f8bb5dec41b10fac4f48ea4557b9f115/jiter-0.18.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b77eabfbae1ac47872be0076899e66340
  • Network accessline 693
    { url = "https://files.pythonhosted.org/packages/8a/04/45ba31ce79022706323fd2291f87d956fd51fdfcba2ba8924b3de62f0ce2/jiter-0.18.0-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:92a16933d0fa852133500837d33cd6a4f75e4414d77389c58269e1
  • Network accessline 694
    { url = "https://files.pythonhosted.org/packages/62/c1/fd36126144f4c32d1b76939278e9d3b7b798075c0478b641d6066621bafd/jiter-0.18.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2f7ba518893a4ccef5afb38e41bc3e126bf6523544
  • Network accessline 695
    { url = "https://files.pythonhosted.org/packages/cc/e2/30a5ac1a3ee9e01bda75a4fcb55bbeddcf8875f8ce7e680b787c177f14b5/jiter-0.18.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:04d67a44b040a6662a35edc9869030f7aa566bf5baaf3549c99d847
  • Network accessline 696
    { url = "https://files.pythonhosted.org/packages/33/de/5e736a36eff6933da012dc440540f79e3ccfc06e27f557638280657df023/jiter-0.18.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:e4d4819398d5330636bc0b91ccc0048dba782076fb99257038257ba6
  • Network accessline 697
    { url = "https://files.pythonhosted.org/packages/0a/ea/1e8bc5b0c920a13e5b698106dbb2d2da5c5e3474668746246f649abb6d5f/jiter-0.18.0-cp314-cp314t-win32.whl", hash = "sha256:c435e795a7ea4b372166a058a5b49a25caeb9c94e469a1414868b14c83ee5c41", size
  • Network accessline 698
    { url = "https://files.pythonhosted.org/packages/1e/0f/a742b397699c3af52dd95443332164884fe6204e5faa5321b7c073beab0f/jiter-0.18.0-cp314-cp314t-win_amd64.whl", hash = "sha256:5a3d5397da7ae46c7a9601ef02d2c9ec47a6c3abe15e1ea940eaf93e675ee20e", 
  • Network accessline 699
    { url = "https://files.pythonhosted.org/packages/b3/b7/08ae26347dca48d5cadca33be2f2f5b6b1ae790b322109083d6f95959feb/jiter-0.18.0-cp314-cp314t-win_arm64.whl", hash = "sha256:4b81b474e4a8ec745ab20a6762275a360e1147cb70cf08872ec14e1aa5debc37", 
  • Network accessline 700
    { url = "https://files.pythonhosted.org/packages/c2/d6/0d2a8a9747ad918141827fabdc05abc3bf73986f7f36647fb8c19708e21e/jiter-0.18.0-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:30f8ae18425e0247ffff4e4a5753ec1952e1b81ed4e7949b84e5ecfaf8
  • Network accessline 701
    { url = "https://files.pythonhosted.org/packages/54/b4/19c582727e22681c6069db037c3b3e354c6fbdce7fbc5290a7bc7bc5884f/jiter-0.18.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:93150a3bb0317d8f5a94d4c3ea68db1cb434b94ac819e08c443cea97b764
  • Network accessline 702
    { url = "https://files.pythonhosted.org/packages/c3/62/5d34e93dc5d1e707788a378335efc876cdc731ceb2111b0a9d7c6f9fdada/jiter-0.18.0-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c8a61d6227cdcb0a67c678f30a02083
  • Network accessline 703
    { url = "https://files.pythonhosted.org/packages/75/e2/0b16a6ca5479cd9efa3c59497cd42f1979a539b6c664a5b9c87e3632f176/jiter-0.18.0-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:285cc15ff9ffcd4ce7f0b9ce02fcbc65e22
  • Network accessline 704
    { url = "https://files.pythonhosted.org/packages/85/9d/620a97457a0210092bf9faa1eb30f5da094fab2de07a9478af7c254e22fd/jiter-0.18.0-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8f69ef2e28f8c1759bc1522385ab3e4a
  • Network accessline 705
    { url = "https://files.pythonhosted.org/packages/76/08/a3514df093824f10a61dc1d0bbc22285ed779ba42f15d727499a8c877e16/jiter-0.18.0-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eec2da60423287bd60377b0fad1723560dcc5
  • Network accessline 706
    { url = "https://files.pythonhosted.org/packages/cd/60/8f8b51bae62259b429e83d0adff69d93e39e4fadbc4bd1856dc2a0950639/jiter-0.18.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5db2cdae6a2f01e8f52ab2154886dcf5bb1
  • Network accessline 707
    { url = "https://files.pythonhosted.org/packages/2e/ed/5307f0eb051d987510fdd1020c904927c0b364a4937d372817bdefaced31/jiter-0.18.0-cp315-cp315-manylinux_2_31_riscv64.whl", hash = "sha256:029da1f29852beac2f9001f20209b73b29b4d7bdc748c7f80288957
  • Network accessline 708
    { url = "https://files.pythonhosted.org/packages/f9/0e/4bdc945ffbf77c60f07c726fbeb45508018322df9d9942d262256397062e/jiter-0.18.0-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:67c6662b1b7e5728a507db06ad1b8a7ff8ade04c2a7
  • Network accessline 709
    { url = "https://files.pythonhosted.org/packages/4b/33/fb3e8f9354e7edab05f3752383eac58ce6e785f2f1626b697dd5dd0a86e4/jiter-0.18.0-cp315-cp315-musllinux_1_1_aarch64.whl", hash = "sha256:4db12daef4a231df528a16f70d5ff7f5e3be21f70e8ad904e4c61442
  • Network accessline 710
    { url = "https://files.pythonhosted.org/packages/2e/3d/3aef2be95155bbacadd8691208b6f0f7371cc0cefe80241a1245e38e308d/jiter-0.18.0-cp315-cp315-musllinux_1_1_x86_64.whl", hash = "sha256:4654ea93f525ea96adf289afcf1ead32d773b8325ec326862b4f81f5f
  • Network accessline 711
    { url = "https://files.pythonhosted.org/packages/3c/f6/2aa54fd5da3d0a93de2655e2525426263168454259ba3f2fb70d1b36fbc9/jiter-0.18.0-cp315-cp315-win32.whl", hash = "sha256:f035d01b450ac4e141502f1ce142462cee638198ff5a0237c80e6683798b3b87", size 
  • Network accessline 712
    { url = "https://files.pythonhosted.org/packages/b5/77/5b54ca8c292b83991cafbac6b022f515e46f1ae77dd5f4a97cc33644b235/jiter-0.18.0-cp315-cp315-win_amd64.whl", hash = "sha256:4a18ef4fe95685b000d95eca797cc683e0c178a4b364f2e39f6c79ab107a26e6", s
  • Network accessline 713
    { url = "https://files.pythonhosted.org/packages/9f/f3/53b7f39b83c757380ab57d9bc3f934431d6b6751f007e8122f7f63c10c2c/jiter-0.18.0-cp315-cp315-win_arm64.whl", hash = "sha256:c73922e4ff4b1ad2929cd795c98223c6688a43c5fd42e9deb8955e4d43b00abb", s
  • Network accessline 714
    { url = "https://files.pythonhosted.org/packages/77/f8/3a3ef55c528722f3b4be0e7b9686a37ddbe86ed96510bc1c2a63dab7f14b/jiter-0.18.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:0ccf55f6fcdcee82fe40ae617e9d64b8e5f433fa6cb5bf7d2969e584e6d
  • Network accessline 715
    { url = "https://files.pythonhosted.org/packages/e1/15/b06c1c17bed30b5c5dabb40f80a56a3b71b89c16ae86552307f7ccedc93a/jiter-0.18.0-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:163a55e77f8e92d739b1f4ef212f1d44
  • Network accessline 716
    { url = "https://files.pythonhosted.org/packages/87/79/b7bcd3e8c850326a323d18a5607334ea40659e22a4fc321e315d1d230007/jiter-0.18.0-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9de6c9133be12a51ea2d8c270f39a04ed4
  • Network accessline 717
    { url = "https://files.pythonhosted.org/packages/5e/99/4c53c9d46462cd0691c3c188f89612e63a424d19f5befd1b0631f8f90638/jiter-0.18.0-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ea4f2ed18eba7454182d4ff72744478
  • Network accessline 718
    { url = "https://files.pythonhosted.org/packages/6f/ab/ef873065a3a1c442a4e62558b77bfa338066317dbafdfdc991121201f5ad/jiter-0.18.0-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:626d5c9fb8b57babc6ce9d03224846ecb094
  • Network accessline 719
    { url = "https://files.pythonhosted.org/packages/19/7e/48e78558d7cb3d289211da0397b7ed31cfe3efc98dd85f2324abd574c07c/jiter-0.18.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3c3318cc6ef857b6554b43479c30e8249
  • Network accessline 720
    { url = "https://files.pythonhosted.org/packages/2c/35/b0a093e72def7caec970dd8536c3d42af3add3aedfb3c06ac0588effde26/jiter-0.18.0-cp315-cp315t-manylinux_2_31_riscv64.whl", hash = "sha256:9a70f25f6de76a01e309e109c9bcf2143c5c126b3488dd17a25c7a
  • Network accessline 721
    { url = "https://files.pythonhosted.org/packages/48/a4/fd7ca4d1ce8b876be7a260f5e31615854aed5b041553a63e85c4a265cb63/jiter-0.18.0-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:22d8dd757e603224e46786d63cb7d7bfbddc8f579a
  • Network accessline 722
    { url = "https://files.pythonhosted.org/packages/f5/71/ccd7154afecd4687b22a8195d5dc6460f89f6e17537ec78edb58a2faac34/jiter-0.18.0-cp315-cp315t-musllinux_1_1_aarch64.whl", hash = "sha256:552a8714f26ddcb43115c82da6d045b3b9f2fa5997d8b21b2f8ec37
  • Network accessline 723
    { url = "https://files.pythonhosted.org/packages/c8/b9/bad5391d7fb734cd6ebc383c8603bc324518bf4ce865f5d813908ae42596/jiter-0.18.0-cp315-cp315t-musllinux_1_1_x86_64.whl", hash = "sha256:8060a206e290410d3bfc3bd91715f3ec90a499246f8335d48927e0b3
  • Network accessline 724
    { url = "https://files.pythonhosted.org/packages/c8/5c/9596452ad56340e6ed395c5fe27ab102bb2aa0c4b59de2e6a8b3dc3b03a7/jiter-0.18.0-cp315-cp315t-win32.whl", hash = "sha256:91d463858f11ee76ce8e39f391bbcbf1d4c3cc4703a1496fed3a5666dcd5e01d", size
  • Network accessline 725
    { url = "https://files.pythonhosted.org/packages/08/c8/62c798e2a1a6f827eac1d45232c93b1b0e387a22d559c8483dc7302d5fd5/jiter-0.18.0-cp315-cp315t-win_amd64.whl", hash = "sha256:6ee49daab0b826279c152ad8d61171ea17f4197f91a5e14251d0d5d4adf51059", 
  • Network accessline 726
    { url = "https://files.pythonhosted.org/packages/64/42/cdfa494914b6d512431e795d8d6226b84b77b733bb8b5eccafd5a1a86dad/jiter-0.18.0-cp315-cp315t-win_arm64.whl", hash = "sha256:bec676a0dc24d4dabd4bdfb3d1f1bf80d4d3dd892fc5c5b3f8f953e2459dbfce", 
  • Network accessline 727
    { url = "https://files.pythonhosted.org/packages/a9/3d/00a3ba5345740032df65ef415e5c367a89b0e40e9f6e509e5ade36e2f569/jiter-0.18.0-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:04aa358fd3217dedd673e9331febe8cccfa4a
  • Network accessline 728
    { url = "https://files.pythonhosted.org/packages/b4/f5/7337804b47b10e74a1edce33d54437a44adaddb98a4f12a9a87482c28748/jiter-0.18.0-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:f5e5d58f589412c7774b3a2c4878b8ee54f9804
  • Network accessline 729
    { url = "https://files.pythonhosted.org/packages/1f/b1/1edcf5c674ddc61c0838315d6b7cf279d06c32550ecc40fc2d2f85a8a02d/jiter-0.18.0-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df6d792b41ad
  • Network accessline 730
    { url = "https://files.pythonhosted.org/packages/e5/a7/949b75f8716f27d69a13eebf2ef5cdf5563ea401648cb330a086f232100b/jiter-0.18.0-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f39e7316ee0f1
  • Network accessline 731
    { url = "https://files.pythonhosted.org/packages/a0/c2/49ee8f4743c27e61c52b4746ba636b43bedda97131a14043dc6f5ce5bb9d/jiter-0.18.0-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:118c1fd995f349f1cad0557f31d6860f336b4
  • Network accessline 732
    { url = "https://files.pythonhosted.org/packages/60/72/394036294ac3226216f73bfa4b14df920eb5baf7fb80fa7e0a0d7ef442a6/jiter-0.18.0-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:44d0d719cd7845e66b01a0cf346ec9882073e71
  • Network accessline 733
    { url = "https://files.pythonhosted.org/packages/ce/80/f0dadedaa9a109f31e8978c7db355593916968d5956f382188a3f8c0888c/jiter-0.18.0-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d1d2dc4d930
  • Network accessline 734
    { url = "https://files.pythonhosted.org/packages/93/51/e57dbc6c264ec6557a677189755fe4525d83439237418e3ae59771ac1cde/jiter-0.18.0-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ebb0c346b6c5d9
  • Network accessline 773
    name = "openai" version = "2.54.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 774
    version = "2.54.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 775
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 784
    { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/50/9a/8c75e8c8a5b407a0586faeb2afac91674ff955c191ecc1d6d3b6669f6788/openai-2.54.0.tar.gz", hash = "sha256:e3e6f8bc1ba30ddf381ace1a14340eed381cb984a1a5
  • Network accessline 785
    ] sdist = { url = "https://files.pythonhosted.org/packages/50/9a/8c75e8c8a5b407a0586faeb2afac91674ff955c191ecc1d6d3b6669f6788/openai-2.54.0.tar.gz", hash = "sha256:e3e6f8bc1ba30ddf381ace1a14340eed381cb984a1a59bd0f34b5be3b5d49cfa", size = 11
  • Network accessline 786
    sdist = { url = "https://files.pythonhosted.org/packages/50/9a/8c75e8c8a5b407a0586faeb2afac91674ff955c191ecc1d6d3b6669f6788/openai-2.54.0.tar.gz", hash = "sha256:e3e6f8bc1ba30ddf381ace1a14340eed381cb984a1a59bd0f34b5be3b5d49cfa", size = 1100
  • Network accessline 787
    wheels = [     { url = "https://files.pythonhosted.org/packages/64/a8/bb76c7356de8ad57f59d5ff993d434df0607f07f08bcc9c9a5c275e399c0/openai-2.54.0-py3-none-any.whl", hash = "sha256:89089789197ccdb87f173a03145ed1598d00795220c93e96cf712b1cbf5e5
  • Network accessline 788
    { url = "https://files.pythonhosted.org/packages/64/a8/bb76c7356de8ad57f59d5ff993d434df0607f07f08bcc9c9a5c275e399c0/openai-2.54.0-py3-none-any.whl", hash = "sha256:89089789197ccdb87f173a03145ed1598d00795220c93e96cf712b1cbf5e5f2b", size = 16
  • Network accessline 792
    name = "opentelemetry-api" version = "1.45.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 793
    version = "1.45.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 794
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 796
    { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/2e/02/6e0ae9cc61bd3169d401077b507b3ebc344745171e1051ab430be012dcd9/opentelemetry_api-1.45.1.tar.gz", hash = "sha256:aa38ed19bcc084ba42782a73255b35822
  • Network accessline 797
    ] sdist = { url = "https://files.pythonhosted.org/packages/2e/02/6e0ae9cc61bd3169d401077b507b3ebc344745171e1051ab430be012dcd9/opentelemetry_api-1.45.1.tar.gz", hash = "sha256:aa38ed19bcc084ba42782a73255b3582283eced7ad6dddbd6695189e69adfb75"
  • Network accessline 798
    sdist = { url = "https://files.pythonhosted.org/packages/2e/02/6e0ae9cc61bd3169d401077b507b3ebc344745171e1051ab430be012dcd9/opentelemetry_api-1.45.1.tar.gz", hash = "sha256:aa38ed19bcc084ba42782a73255b3582283eced7ad6dddbd6695189e69adfb75", 
  • Network accessline 799
    wheels = [     { url = "https://files.pythonhosted.org/packages/1e/41/f7dcf80b81ee8e71c1a2b59f14208bc723edbd89ed027a73b175abf6348e/opentelemetry_api-1.45.1-py3-none-any.whl", hash = "sha256:b31553efa588ae44bc306f863c785c5333a9ecc091248c6ee6
  • Network accessline 800
    { url = "https://files.pythonhosted.org/packages/1e/41/f7dcf80b81ee8e71c1a2b59f14208bc723edbd89ed027a73b175abf6348e/opentelemetry_api-1.45.1-py3-none-any.whl", hash = "sha256:b31553efa588ae44bc306f863c785c5333a9ecc091248c6ee68b4b6c87fdedfb"
  • Network accessline 804
    name = "packaging" version = "26.3" source = { registry = "https://pypi.org/simple" }
  • Network accessline 805
    version = "26.3" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc25642
  • Network accessline 806
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 807
    sdist = { url = "https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz", hash = "sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79", size = 313
  • Network accessline 808
    wheels = [     { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23
  • Network accessline 809
    { url = "https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl", hash = "sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c", size = 1
  • Network accessline 813
    name = "pluggy" version = "1.7.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 814
    version = "1.7.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/bf/db/7fc19e6f2dc92a966727031389fc2e08b558f0f25eb7403c1119ad4713cd/pluggy-1.7.0.tar.gz", hash = "sha256:d1eaa46ebb5
  • Network accessline 815
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 816
    sdist = { url = "https://files.pythonhosted.org/packages/bf/db/7fc19e6f2dc92a966727031389fc2e08b558f0f25eb7403c1119ad4713cd/pluggy-1.7.0.tar.gz", hash = "sha256:d1eaa46ebb595891b860ab086b4d09c8588af65ebd4361b8e8f4bb8920b90ba8", size = 12330
  • Network accessline 817
    wheels = [     { url = "https://files.pythonhosted.org/packages/40/9e/2b38731e0fc536806f16490e1a12d7f0dc2a1235aa8cc07bcc75416a7daa/pluggy-1.7.0-py3-none-any.whl", hash = "sha256:7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9b
  • Network accessline 818
    { url = "https://files.pythonhosted.org/packages/40/9e/2b38731e0fc536806f16490e1a12d7f0dc2a1235aa8cc07bcc75416a7daa/pluggy-1.7.0-py3-none-any.whl", hash = "sha256:7dd7b0d8832ba3cb632c306926ded123429211b83641b35dc5c41ad2d34f9bec", size = 270
  • Network accessline 822
    name = "proto-plus" version = "1.29.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 823
    version = "1.29.0" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 824
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 826
    { name = "protobuf" }, ] sdist = { url = "https://files.pythonhosted.org/packages/46/70/783e33ffbb4466cc154a94f79b869b92a451e2bd45605054e68ff68b7af6/proto_plus-1.29.0.tar.gz", hash = "sha256:cfb4e62ad7e13dd18f346cabbda00cab39930d36a05791fd8
  • Network accessline 827
    ] sdist = { url = "https://files.pythonhosted.org/packages/46/70/783e33ffbb4466cc154a94f79b869b92a451e2bd45605054e68ff68b7af6/proto_plus-1.29.0.tar.gz", hash = "sha256:cfb4e62ad7e13dd18f346cabbda00cab39930d36a05791fd81ddb074d6ee884f", size 
  • Network accessline 828
    sdist = { url = "https://files.pythonhosted.org/packages/46/70/783e33ffbb4466cc154a94f79b869b92a451e2bd45605054e68ff68b7af6/proto_plus-1.29.0.tar.gz", hash = "sha256:cfb4e62ad7e13dd18f346cabbda00cab39930d36a05791fd81ddb074d6ee884f", size = 
  • Network accessline 829
    wheels = [     { url = "https://files.pythonhosted.org/packages/b1/05/a3ef5b1161498e7b5a2a60288a9cf41b9149e94555423a43ec536737ac1a/proto_plus-1.29.0-py3-none-any.whl", hash = "sha256:8acd070469a7aaf43f440b022ef9757c8cac1a9f866e933f59ae98669
  • Network accessline 830
    { url = "https://files.pythonhosted.org/packages/b1/05/a3ef5b1161498e7b5a2a60288a9cf41b9149e94555423a43ec536737ac1a/proto_plus-1.29.0-py3-none-any.whl", hash = "sha256:8acd070469a7aaf43f440b022ef9757c8cac1a9f866e933f59ae98669ddc6c8b", size 
  • Network accessline 834
    name = "protobuf" version = "7.36.2" source = { registry = "https://pypi.org/simple" }
  • Network accessline 835
    version = "7.36.2" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/d9/89/5b8517baa72f84a67b8a307ba953c91057af618bf40bf676f3c03551f8f0/protobuf-7.36.2.tar.gz", hash = "sha256:497d046
  • Network accessline 836
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 837
    sdist = { url = "https://files.pythonhosted.org/packages/d9/89/5b8517baa72f84a67b8a307ba953c91057af618bf40bf676f3c03551f8f0/protobuf-7.36.2.tar.gz", hash = "sha256:497d0463ff3316681da6c0b9e8d06cb465d61abce00b613ab42226175644d1bb", size = 51
  • Network accessline 838
    wheels = [     { url = "https://files.pythonhosted.org/packages/32/72/98342feb672507c8f3a69e34b4fa8961f608edba5c1a48a6f47156d92cb5/protobuf-7.36.2-cp310-abi3-macosx_10_9_universal2.whl", hash = "sha256:cbc70b17ee27e28894c7fee8bb04be1abead49
  • Network accessline 839
    { url = "https://files.pythonhosted.org/packages/32/72/98342feb672507c8f3a69e34b4fa8961f608edba5c1a48a6f47156d92cb5/protobuf-7.36.2-cp310-abi3-macosx_10_9_universal2.whl", hash = "sha256:cbc70b17ee27e28894c7fee8bb04be1abead49e936bc70eb60052
  • Network accessline 840
    { url = "https://files.pythonhosted.org/packages/b6/ea/91fdf7c2b8bbd49cde056f00a9df6773532987e1c00fe2830b895af95c7e/protobuf-7.36.2-cp310-abi3-manylinux2014_aarch64.whl", hash = "sha256:e11e1f0180583a2af89db6a2ecd9e8dc40aa6d2988ca175bfd0e6d
  • Network accessline 841
    { url = "https://files.pythonhosted.org/packages/17/ab/5fd5f8ece73fad885c5a09aa849b32d70472f954ba3a92d3bb5974ea953b/protobuf-7.36.2-cp310-abi3-manylinux2014_s390x.whl", hash = "sha256:f4fee11ec330d238b34a05c9b675f693c20415d1c5bd7d5320cc2f8a
  • Network accessline 842
    { url = "https://files.pythonhosted.org/packages/db/f3/3996583dd2906297a637af12114deddf7658af6e683fedb83be061983fb5/protobuf-7.36.2-cp310-abi3-manylinux2014_x86_64.whl", hash = "sha256:89f23aa53c24553a2416fd4fd1ec06f74fa42b14b546d8883128813
  • Network accessline 843
    { url = "https://files.pythonhosted.org/packages/fc/1b/dcc64f358fcb51811b58ae40b3d28f820725f116d86487cc20bd4b130701/protobuf-7.36.2-cp310-abi3-win32.whl", hash = "sha256:912c1221170e16c08d1f086762f563dd61ff83c18b5fa6652952dfaded66f728", siz
  • Network accessline 844
    { url = "https://files.pythonhosted.org/packages/8a/55/b77bda4e5e5f5971fb51b07663694690e9afdb9402136c16a522bd621cad/protobuf-7.36.2-cp310-abi3-win_amd64.whl", hash = "sha256:a300819d441e078a5608c0d3c709796bb548136058fda017ae51d425b44fd353",
  • Network accessline 845
    { url = "https://files.pythonhosted.org/packages/e4/04/d52c7016b04b6c5108f26691f9d33ec82a9b65d041f1a9c771137693d618/protobuf-7.36.2-py3-none-any.whl", hash = "sha256:bdb3a345d48db958e6ce1f18e508beb0cc981d64f24088427549c866cd039f1e", size = 
  • Network accessline 849
    name = "pyasn1" version = "0.6.5" source = { registry = "https://pypi.org/simple" }
  • Network accessline 850
    version = "0.6.5" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/88/7e/3c0da41061a2021cac7cd524fd57092adbe5b515e8bf9005702e366802e2/pyasn1-0.6.5.tar.gz", hash = "sha256:6b11616a6bc
  • Network accessline 851
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 852
    sdist = { url = "https://files.pythonhosted.org/packages/88/7e/3c0da41061a2021cac7cd524fd57092adbe5b515e8bf9005702e366802e2/pyasn1-0.6.5.tar.gz", hash = "sha256:6b11616a6bcf3a40e635f082bb232fa57b5e0dd7f517bd7ddd69ec3794508a47", size = 15515
  • Network accessline 853
    wheels = [     { url = "https://files.pythonhosted.org/packages/19/1f/3eefd5c84c35cae44549ce1c7f7e58f7945b34f5a6bce07a135438522073/pyasn1-0.6.5-py3-none-any.whl", hash = "sha256:4017b0fce125096b8573b39c989fdb1a4b19cf761e683398184550fea0e665
  • Network accessline 854
    { url = "https://files.pythonhosted.org/packages/19/1f/3eefd5c84c35cae44549ce1c7f7e58f7945b34f5a6bce07a135438522073/pyasn1-0.6.5-py3-none-any.whl", hash = "sha256:4017b0fce125096b8573b39c989fdb1a4b19cf761e683398184550fea0e66587", size = 848
  • Network accessline 858
    name = "pyasn1-modules" version = "0.4.2" source = { registry = "https://pypi.org/simple" }
  • Network accessline 859
    version = "0.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 860
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 862
    { name = "pyasn1" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa39
  • Network accessline 863
    ] sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", si
  • Network accessline 864
    sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size
  • Network accessline 865
    wheels = [     { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b
  • Network accessline 866
    { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", si
  • Network accessline 870
    name = "pycparser" version = "3.11" source = { registry = "https://pypi.org/simple" }
  • Network accessline 871
    version = "3.11" source = { registry = "https://pypi.org/simple" } resolution-markers = [
  • Network accessline 872
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 874
    "python_full_version < '3.11'", ] sdist = { url = "https://files.pythonhosted.org/packages/da/a8/c5fdbeee588bb8ada9458774f43adf1bdd30bd59157055142183e769a024/pycparser-3.11.tar.gz", hash = "sha256:d875f09c3507d00e1aba0eecc6dcadc1352f30fff09
  • Network accessline 875
    ] sdist = { url = "https://files.pythonhosted.org/packages/da/a8/c5fdbeee588bb8ada9458774f43adf1bdd30bd59157055142183e769a024/pycparser-3.11.tar.gz", hash = "sha256:d875f09c3507d00e1aba0eecc6dcadc1352f30fff09dc6bff2f1c2935e97c2bc", size = 1
  • Network accessline 876
    sdist = { url = "https://files.pythonhosted.org/packages/da/a8/c5fdbeee588bb8ada9458774f43adf1bdd30bd59157055142183e769a024/pycparser-3.11.tar.gz", hash = "sha256:d875f09c3507d00e1aba0eecc6dcadc1352f30fff09dc6bff2f1c2935e97c2bc", size = 113
  • Network accessline 877
    wheels = [     { url = "https://files.pythonhosted.org/packages/90/11/0e6f11117525ff0eec40ebac3d313376f102df93ca44ad9e893ee85e4f89/pycparser-3.11-py3-none-any.whl", hash = "sha256:51d5a8ba2be0bbe440b99d2112604c95bbbc3c2748a64260186c541e1729
  • Network accessline 878
    { url = "https://files.pythonhosted.org/packages/90/11/0e6f11117525ff0eec40ebac3d313376f102df93ca44ad9e893ee85e4f89/pycparser-3.11-py3-none-any.whl", hash = "sha256:51d5a8ba2be0bbe440b99d2112604c95bbbc3c2748a64260186c541e1729cd80", size = 5
  • Network accessline 882
    name = "pycparser" version = "3.12" source = { registry = "https://pypi.org/simple" }
  • Network accessline 883
    version = "3.12" source = { registry = "https://pypi.org/simple" } resolution-markers = [
  • Network accessline 884
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 887
    "python_full_version >= '3.11' and python_full_version < '3.14'", ] sdist = { url = "https://files.pythonhosted.org/packages/cb/27/eeb9f307bf07060f3d9f9aa0fb8c15b01bdfded0a941e4b2719c7f94cacd/pycparser-3.12.tar.gz", hash = "sha256:f03387877
  • Network accessline 888
    ] sdist = { url = "https://files.pythonhosted.org/packages/cb/27/eeb9f307bf07060f3d9f9aa0fb8c15b01bdfded0a941e4b2719c7f94cacd/pycparser-3.12.tar.gz", hash = "sha256:f03387877eab82ce01bbdfd0ba7252ee55a90b1c708d5129e2ce915475cf1db6", size = 1
  • Network accessline 889
    sdist = { url = "https://files.pythonhosted.org/packages/cb/27/eeb9f307bf07060f3d9f9aa0fb8c15b01bdfded0a941e4b2719c7f94cacd/pycparser-3.12.tar.gz", hash = "sha256:f03387877eab82ce01bbdfd0ba7252ee55a90b1c708d5129e2ce915475cf1db6", size = 158
  • Network accessline 890
    wheels = [     { url = "https://files.pythonhosted.org/packages/b6/ae/315bbeee126a769cbde43cf4908acb4b40408d8bf8bbf334dd7368d8dadf/pycparser-3.12-py3-none-any.whl", hash = "sha256:a076f3f489b39b43ed13563a1dafe42447445bec2e294154ec5c57fcdda4
  • Network accessline 891
    { url = "https://files.pythonhosted.org/packages/b6/ae/315bbeee126a769cbde43cf4908acb4b40408d8bf8bbf334dd7368d8dadf/pycparser-3.12-py3-none-any.whl", hash = "sha256:a076f3f489b39b43ed13563a1dafe42447445bec2e294154ec5c57fcdda4c85e", size = 6
  • Network accessline 895
    name = "pydantic" version = "2.14.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 896
    version = "2.14.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 897
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 902
    { name = "typing-inspection" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7c/0b/8e10b2e693af8ec54346a14caf36221334775975a747c9ceaa3f8371d96d/pydantic-2.14.1.tar.gz", hash = "sha256:94f478203dd03404682a1ada216965651dd74b1d2d
  • Network accessline 903
    ] sdist = { url = "https://files.pythonhosted.org/packages/7c/0b/8e10b2e693af8ec54346a14caf36221334775975a747c9ceaa3f8371d96d/pydantic-2.14.1.tar.gz", hash = "sha256:94f478203dd03404682a1ada216965651dd74b1d2d5ffd62e00e0837caab5c26", size = 
  • Network accessline 904
    sdist = { url = "https://files.pythonhosted.org/packages/7c/0b/8e10b2e693af8ec54346a14caf36221334775975a747c9ceaa3f8371d96d/pydantic-2.14.1.tar.gz", hash = "sha256:94f478203dd03404682a1ada216965651dd74b1d2d5ffd62e00e0837caab5c26", size = 90
  • Network accessline 905
    wheels = [     { url = "https://files.pythonhosted.org/packages/35/ea/a56b9fe5066f3537b7882f77e9c5dfb26d8c2eefdaed9b5fc73d57b4dc22/pydantic-2.14.1-py3-none-any.whl", hash = "sha256:9195d967ec791692a04438115466764fb8b9a27b31f14a760437694f40d
  • Network accessline 906
    { url = "https://files.pythonhosted.org/packages/35/ea/a56b9fe5066f3537b7882f77e9c5dfb26d8c2eefdaed9b5fc73d57b4dc22/pydantic-2.14.1-py3-none-any.whl", hash = "sha256:9195d967ec791692a04438115466764fb8b9a27b31f14a760437694f40d6b454", size = 
  • Network accessline 910
    name = "pydantic-core" version = "2.50.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 911
    version = "2.50.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 912
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 914
    { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a6/24/af4ec4be49fbc810f35b0bdcacc3d433b56bbfa469fd3bfd4ae116cd9bf1/pydantic_core-2.50.1.tar.gz", hash = "sha256:e50d7b94baac6c7d09927fa5ca5800a0c7ee5
  • Network accessline 915
    ] sdist = { url = "https://files.pythonhosted.org/packages/a6/24/af4ec4be49fbc810f35b0bdcacc3d433b56bbfa469fd3bfd4ae116cd9bf1/pydantic_core-2.50.1.tar.gz", hash = "sha256:e50d7b94baac6c7d09927fa5ca5800a0c7ee5015c7fcff65beb3a1931b5a6e09", si
  • Network accessline 916
    sdist = { url = "https://files.pythonhosted.org/packages/a6/24/af4ec4be49fbc810f35b0bdcacc3d433b56bbfa469fd3bfd4ae116cd9bf1/pydantic_core-2.50.1.tar.gz", hash = "sha256:e50d7b94baac6c7d09927fa5ca5800a0c7ee5015c7fcff65beb3a1931b5a6e09", size
  • Network accessline 917
    wheels = [     { url = "https://files.pythonhosted.org/packages/09/db/c9cc34707ba2c23ce90d54e8a4ee9307583ad054b9df2ce570ba550cb576/pydantic_core-2.50.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b281a3b0f0822618fe5e3e0d8a2048b6356
  • Network accessline 918
    { url = "https://files.pythonhosted.org/packages/09/db/c9cc34707ba2c23ce90d54e8a4ee9307583ad054b9df2ce570ba550cb576/pydantic_core-2.50.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b281a3b0f0822618fe5e3e0d8a2048b6356b14388505dc9374
  • Network accessline 919
    { url = "https://files.pythonhosted.org/packages/c1/17/6963f4ee55b7df7658f5c036c0f90baf8cd3d413f5d8b551f227e8467afc/pydantic_core-2.50.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fa4c8bc12c1354c5550c0c35c1852c8c1901e89e06561724e03
  • Network accessline 920
    { url = "https://files.pythonhosted.org/packages/bf/be/f75637e222085d29a3076edbc5cfd0dd9b77d145e310ff7dc1150f07558a/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3aa9de446b793de2beb6fa2d9
  • Network accessline 921
    { url = "https://files.pythonhosted.org/packages/7a/1e/3d192ffa39ce3bd0e98e988fb5c055cfbf4af6e6e155a4ca5baa86d1f2cc/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de531ce1e2a3364e8767878b58f
  • Network accessline 922
    { url = "https://files.pythonhosted.org/packages/b2/7e/12ea94df5220ab316ee5bb498ebcf710cff2db352653039fb6033f6997d1/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7c58106de36ac6a563141829
  • Network accessline 923
    { url = "https://files.pythonhosted.org/packages/f6/bc/4fbb6dc90af038628ec824434a9841be9d46854f9267bb658f09e315024d/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b4c3df25bd323bf1d36a648d563c
  • Network accessline 924
    { url = "https://files.pythonhosted.org/packages/1b/1a/21a58791021397d9ca35295e3f4291c16e319155c5904334b89eb07e97e1/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f77ac30b19221cd9bd3fcfa3d46
  • Network accessline 925
    { url = "https://files.pythonhosted.org/packages/73/6a/d5b2c5876162fd2c444eaed0064b5d9d9d0ef0d31530fc6a7997e8685ad8/pydantic_core-2.50.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:d939de9c82e2126f7f48a7e658f8a85ed46d57662d53f44
  • Network accessline 926
    { url = "https://files.pythonhosted.org/packages/af/e8/1a6625d6e99250388dd0ae817c5d75839cd6103e7b790f59e0ffff74955d/pydantic_core-2.50.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:30ddf019d082c117b5d309e5b86710c2a78
  • Network accessline 927
    { url = "https://files.pythonhosted.org/packages/19/9f/bbdd137d7ec41284701dab4d1489ea597d401dff2f5f3e6b41ea872e0b12/pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2ab756b72bd5054e4c7ef3ded331b35786cbd3cf931531a5
  • Network accessline 928
    { url = "https://files.pythonhosted.org/packages/49/5d/7bd322e649b41b45130bc00bfa34dc57498c853aa8e6fc9604e33bc7087c/pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:b087b1c5be7ac687cf22eabfe4b6b608d40df23610651e936
  • Network accessline 929
    { url = "https://files.pythonhosted.org/packages/53/48/41a91111590eb7ba68a7c64c03139235a4b8349930abcb87931aa80da796/pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a44101320cfe99432db74237545a63057dc7a88dfe792cbca
  • Network accessline 930
    { url = "https://files.pythonhosted.org/packages/2a/02/4ac93a3d3f0ff412df1a36a9619743336fe6eec68c0df8a914163a3d22b4/pydantic_core-2.50.1-cp310-cp310-win32.whl", hash = "sha256:a4aaaa791bdae1c972a7e81765f4f3571c926b8e0b9b6e47346499fb80079665
  • Network accessline 931
    { url = "https://files.pythonhosted.org/packages/6d/ba/3a7af3dcd480c4739aa82cd9fedee79a5531a7c553346abcf095bd05f0de/pydantic_core-2.50.1-cp310-cp310-win_amd64.whl", hash = "sha256:2eedf82ee4753cdab8e50044c6bd569577eebc3859b11fecf4eb9223761f
  • Network accessline 932
    { url = "https://files.pythonhosted.org/packages/45/1b/ca81811da3d2aea724fb3c4ba6b83f50ab8f210576306ccd601973142d35/pydantic_core-2.50.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c531166c42ea7bdfecc8c50049581f05dd1993b09cc7c52bb3
  • Network accessline 933
    { url = "https://files.pythonhosted.org/packages/59/20/938ef7e0541af0a314e2f9d63848dbd1656ba2ebfe5ca0469f7ebee00d5e/pydantic_core-2.50.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b6d0c2183008c188e19f4906d426b293bdc4f67ab17df8e180fe
  • Network accessline 934
    { url = "https://files.pythonhosted.org/packages/2f/4b/456497fe2affa18f49b226e89bde31e8a204751ee343dd9beaac5438123e/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94be440c03fede26969a5ce75
  • Network accessline 935
    { url = "https://files.pythonhosted.org/packages/a5/9d/cd5dfe13928f55e236dff3a1bee06721d318ca6c955d9ca993b0a5d09f39/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:36c426eac0af8d1529ff8467e61
  • Network accessline 936
    { url = "https://files.pythonhosted.org/packages/fb/8d/d0b25bc484f8d9136ea76ece69e0b2d24ab370cc2e7bbd1b79e61723b763/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:028e2f212273d4a39b1ec1e0d
  • Network accessline 937
    { url = "https://files.pythonhosted.org/packages/c5/64/6513cac7c9f78492abafa01d57a69de1d246bf3085fd7b0330bf14b025b3/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e6f0cc1bb9900dc558960894adeb3
  • Network accessline 938
    { url = "https://files.pythonhosted.org/packages/ed/60/7f2ae89c37e69a3dc0da9ff57b0388c285542c688d05f36767770429de85/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8812592c85d0edf423f10eadcef
  • Network accessline 939
    { url = "https://files.pythonhosted.org/packages/87/02/e3a71373b85a7973099b9a229a4302c7792262717e0b4997e41c01f7dd16/pydantic_core-2.50.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:bbce99252ba3167b2b6277f1829d5bf4b43b754524bddf7
  • Network accessline 940
    { url = "https://files.pythonhosted.org/packages/3f/d5/5b620aaf40dc631d911565b64d49d3fa8422027c046a7a96dc4e4921ae98/pydantic_core-2.50.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:476f6ed8e43cd1e0b460920e23571700872
  • Network accessline 941
    { url = "https://files.pythonhosted.org/packages/e0/48/f46baf4580d8a56ca4782aa65842e16d3cf39736b29fcce8e9c0521b3422/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:2cbd1b75b09e976ed0d6b6ca297675632ca35df861300884
  • Network accessline 942
    { url = "https://files.pythonhosted.org/packages/2b/9d/e7d28505e6092c1fe075838a4f793ccbe6dd676e44ab16175815ee06cfe0/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:5958c72adb417c39b12ac87525ac60b0d73315fcdc59e21f4
  • Network accessline 943
    { url = "https://files.pythonhosted.org/packages/22/b1/3bf63b82efd93ebc9968f9c12fc46037a28bcb452c88e4688f33e5ff7dca/pydantic_core-2.50.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d8f9e8a6c4ab04b78d61f78627370d834eb004b2869dcb28c
  • Network accessline 944
    { url = "https://files.pythonhosted.org/packages/28/17/26d1e4b9c2ba6a92b7dc75bbcb99ef44456b7e3af1bced868403667ea7d3/pydantic_core-2.50.1-cp311-cp311-win32.whl", hash = "sha256:4be846f55c9477f5f3ddde8f2ce941137e16862a56d018ed885d422bb6ae02f2
  • Network accessline 945
    { url = "https://files.pythonhosted.org/packages/24/65/3e875e7991eaecd4d70686293ff0d8a99aa8f93dc295e6a21c3d702912fb/pydantic_core-2.50.1-cp311-cp311-win_amd64.whl", hash = "sha256:0048b6dddc8ef4b64fccaad878bd143b0c3882ea9936279dc11d613f6b7d
  • Network accessline 946
    { url = "https://files.pythonhosted.org/packages/ab/5c/58dbd17c61f209d91c70f549eb7a3bbec7023e89ea12dead091462d6d658/pydantic_core-2.50.1-cp311-cp311-win_arm64.whl", hash = "sha256:6a733778df2f7087ec1100ed0b41533e4f3001976e99570fa34f57c66e7f
  • Network accessline 947
    { url = "https://files.pythonhosted.org/packages/ee/94/101b49a6c63f99586755690696eae14532772587d9e39e93f7b8d28a49da/pydantic_core-2.50.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:704075d10b74f2f3c6e15407c696d88701df35fc8953f434a4
  • Network accessline 948
    { url = "https://files.pythonhosted.org/packages/db/a3/f8b1b39349c33037c73d7a1b794c9c29d8f07d5bd2b74399c1375a529cc6/pydantic_core-2.50.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e8e1d6ce820aa23317e8209a86bd65a540973c12dc7552b48a4f
  • Network accessline 949
    { url = "https://files.pythonhosted.org/packages/d2/2d/862a7d115305cc621358e51ba13f296e0ffdf4fbd984be9f63bc7862730b/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c18db21573bd2c6489f9a544b
  • Network accessline 950
    { url = "https://files.pythonhosted.org/packages/c0/7d/fed95d18bf2b5abe2d5ab2bbec4184bfc22b6805994a33ccdae8edffd25a/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cb57f304525a5e3c13333b772bf
  • Network accessline 951
    { url = "https://files.pythonhosted.org/packages/93/1e/c6f22ceac65dc3d291ff79bea0eb74cbd1de8b128f01fee48af03bcea1e1/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a27c09d86600f1bf2fe3f37e1
  • Network accessline 952
    { url = "https://files.pythonhosted.org/packages/2c/97/190b5b6bfe4c72f265feb657913eb30749193927a5ad7b83cfa7866a25a2/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46b3301d3b5c886f77de7546e4727
  • Network accessline 953
    { url = "https://files.pythonhosted.org/packages/90/24/48cd98388e4ac2c08d0800af36d15413db15e20387f1038123a2c86cb2f6/pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93ba4e9d8210d941c200431a56b
  • Network accessline 954
    { url = "https://files.pythonhosted.org/packages/00/86/d909133d0b9979ed14c20f110f21124a0e346caf071bd66ac5af3009062b/pydantic_core-2.50.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:e5faeaee74a57d32b3ab3aebad2e348f06d3ba946fc5d28
  • Network accessline 955
    { url = "https://files.pythonhosted.org/packages/90/31/4b43f08131b2098e73a852fd932063385f3103b33839fd9d1abdb89e673d/pydantic_core-2.50.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a3cda0e538208e5d722bbf3698b24f19c0a
  • Network accessline 956
    { url = "https://files.pythonhosted.org/packages/88/77/de39658569dc7a4c293d110a89629f61145e7538f00d1e4280c28debefd3/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:57f51b31ff826e2859120cf4737c5a758a48d96f3e97da40
  • Network accessline 957
    { url = "https://files.pythonhosted.org/packages/46/bd/1eeb9e4e791e81210ef9096f58080b32ba15b5b13c108d50aaa3f8ce9f73/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:8daa7ee75245d43ad7d747e5c9ecc1b1d06552f72b14887e9
  • Network accessline 958
    { url = "https://files.pythonhosted.org/packages/1c/e6/b2accfdff17e5a88d6358536702146de00f9339adaa4d5bbe1ee93cb4832/pydantic_core-2.50.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:acbf31f37c53a5ac0c34706c80b4f5107ba20b05fdd381612
  • Network accessline 959
    { url = "https://files.pythonhosted.org/packages/3b/7e/c8a83eb5d2cd42c2e13507150fb777b1edea5a018adc9cbf2858a1d08285/pydantic_core-2.50.1-cp312-cp312-win32.whl", hash = "sha256:45b11cac094aa25725581d9304eee93c9028516b9ea80dd9e175e13a5a2c840e
  • Network accessline 960
    { url = "https://files.pythonhosted.org/packages/c5/17/8bbd530b8659e9d963f5b16f6cb8e159f4cd174b4d6304e48969ab12dba8/pydantic_core-2.50.1-cp312-cp312-win_amd64.whl", hash = "sha256:132529c83901437ff642f585216831bf5fd7a91df66829907e155192ead6
  • Network accessline 961
    { url = "https://files.pythonhosted.org/packages/af/9f/a79d690b127e4e3cff143d031538ab9aa715f6b2fbeecbd07cd6f2bf9fb7/pydantic_core-2.50.1-cp312-cp312-win_arm64.whl", hash = "sha256:4e834f6a8e4ff772dcc34f58ef5504147a3ea5b0f4eeb13b0f8eb2ca75ac
  • Network accessline 962
    { url = "https://files.pythonhosted.org/packages/ae/57/0e237d7091d2cd44a35d243b7344227f90440166860469cd036afc23a04d/pydantic_core-2.50.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:d5e062c01286d861fd6a1c4ff6e063547b3e713067f2df033c
  • Network accessline 963
    { url = "https://files.pythonhosted.org/packages/f7/b9/c720e56858d4e1539503297ed37063e0c08e0f3541c41b777f6a800f75fa/pydantic_core-2.50.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c003c3b7f49debb893d2d85ae099ac5959c9839e2f330fadb1f
  • Network accessline 964
    { url = "https://files.pythonhosted.org/packages/4d/b8/fbfc25875219cc060e613170ff10e850c6d8924beb4910da57c2ee3ba1d2/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:409e0ea40ec30d9158f33574f
  • Network accessline 965
    { url = "https://files.pythonhosted.org/packages/d7/43/34210124d504c553688f2f04b48500b131237528ac545b445e0d6d30e0d5/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:131059670f1d2444269b8585cb8
  • Network accessline 966
    { url = "https://files.pythonhosted.org/packages/65/cf/6e178e8fdc11da5965bef980983bf46326a42f436871dd51ba0a57f39df1/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6dbcbee53bf17196a7f745aa9
  • Network accessline 967
    { url = "https://files.pythonhosted.org/packages/11/14/bd5169d356aa91bf777e28ba0b281c192d286d03c2812c9c9db023a2f00e/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:325c23f3e35cfbf0fe3486fa5f726
  • Network accessline 968
    { url = "https://files.pythonhosted.org/packages/1c/bc/d79d000e5203ebef39af839f2ce77a777fcad6e08ad26af9a2fcd114ffc8/pydantic_core-2.50.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17e722e156d0444ecaefbe640bd
  • Network accessline 969
    { url = "https://files.pythonhosted.org/packages/1b/a5/4902cb5fd599422c130bd3124ab31ee8b771199bd56662702eed07d3fec7/pydantic_core-2.50.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:aa8224f10880d9bf1b5993988ba153d42a8b4f3f4f511f9
  • Network accessline 970
    { url = "https://files.pythonhosted.org/packages/1a/f5/c1481f8669f6060d89110c9b1374173fc8767ca276b84f4870bd8acd5e3f/pydantic_core-2.50.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:41bc8237121bd8dc8d888dfd6279fc166ff
  • Network accessline 971
    { url = "https://files.pythonhosted.org/packages/04/f9/77fc3c7653ba9b6e42049e17e96b25388187d4a7c274ab1cb07f58ac8419/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:45c6266d071c241f2a168d45bf8c54344f0effce35e7e6b7
  • Network accessline 972
    { url = "https://files.pythonhosted.org/packages/95/9b/0579c5d12e7f2b16b27e6782427987341fcce07b0725e02ddb0b74add0c4/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:1deeacb112d14d3f4fcb16b165f7dbaf76c70ba6e82f37ba0
  • Network accessline 973
    { url = "https://files.pythonhosted.org/packages/a8/ac/1b677db91eba54cc5922f4de6edc46ba45c2bd712dfdc0130382d158e214/pydantic_core-2.50.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:1c96fd793b73d1b92e65570132505498fe7b21eaef73cdf74
  • Network accessline 974
    { url = "https://files.pythonhosted.org/packages/4d/2a/3a9f6624ee3ea9ccba5249dde11418bb4c35780a7a92608f8768bd3fea39/pydantic_core-2.50.1-cp313-cp313-win32.whl", hash = "sha256:06ead20d39ffd6f2f6f2a8f8a6de67ff8bb1b4f14a8a30e058502514ee2ac685
  • Network accessline 975
    { url = "https://files.pythonhosted.org/packages/2d/1f/323f78ddd9d9938aac420c1abb4e8ba799fc8bdab0acc67c0593b837c979/pydantic_core-2.50.1-cp313-cp313-win_amd64.whl", hash = "sha256:7816e98acc08119dc0f340ab167048ecc54126316330c1f0caf7c6756c88
  • Network accessline 976
    { url = "https://files.pythonhosted.org/packages/cb/09/8497c52a739ae425c3ac2f7f56414cbc711c67d374346174f40fe2062644/pydantic_core-2.50.1-cp313-cp313-win_arm64.whl", hash = "sha256:c17799a62c142d61b8a3c51752a7cbc87fe2ad4ccfab10e628a77b405075
  • Network accessline 977
    { url = "https://files.pythonhosted.org/packages/49/33/28b96e81677153715e3eafb9f26663a80841e859fde282a380359b0d3fa1/pydantic_core-2.50.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:1cf41f1ae3fa155cf167a72689ad044bcc1e3c97e064123677
  • Network accessline 978
    { url = "https://files.pythonhosted.org/packages/94/40/15c06410c9b7b8da5805d27b64e09bd3f900e986728106db2689dbc51513/pydantic_core-2.50.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4df197990c15b5a37c5a277d131d9f2c67de6133f2e5dafd80d9
  • Network accessline 979
    { url = "https://files.pythonhosted.org/packages/a1/4e/5eb629f6efc2a27e421d789dd4bfacbb5f6d09c80c28b13d1e87d73163d5/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0036473f5583e6a60e50b8b21
  • Network accessline 980
    { url = "https://files.pythonhosted.org/packages/ba/8e/f195aebec49ad12318876ac2368c197a7939f5d52f8e156d2238ef8a4588/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:992c3514ec891fa7858099183e4
  • Network accessline 981
    { url = "https://files.pythonhosted.org/packages/e0/f5/7ad9fb83010cd5ea0948409db105676ed779c4e709e2d3d89b9fe2558794/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:739dc730e6be3bd5ec2f4ab5c
  • Network accessline 982
    { url = "https://files.pythonhosted.org/packages/ca/fb/bf0aab3e78301d202b82a0322ec968cd703b11fc0623fde9a28708936f62/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:32fad3a91e51b6d2039c572db04a5
  • Network accessline 983
    { url = "https://files.pythonhosted.org/packages/45/35/38f6d6564fae57d9b12e5676dfa947e0e7d5c46dbeaa7eb3352261d6d299/pydantic_core-2.50.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42b54c2c90ad348b5e3a85e03e7
  • Network accessline 984
    { url = "https://files.pythonhosted.org/packages/65/a0/fb0a3ca10f139dcf765b2d312d10cf0f65c57c59993229d00ad12b14ceff/pydantic_core-2.50.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:2df1ff41884de2bc4b307bafd7c40a691094fad2ff8e767
  • Network accessline 985
    { url = "https://files.pythonhosted.org/packages/8c/6a/e63842252702aa4ec6e6b7178ca85e541a77459076592c23ebe2d9840b33/pydantic_core-2.50.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fe90228920fd8ff2be62622b6bb8a2b11ac
  • Network accessline 986
    { url = "https://files.pythonhosted.org/packages/39/25/5991cf8318b37e0dfab47b87541619a1df8501a793cba0d978846cba37a7/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:844b869f118e22a41a091bdcedda8a71bc1b0f62c38d1a0c
  • Network accessline 987
    { url = "https://files.pythonhosted.org/packages/a7/3e/3ee8baaa6cc25a6961c69168cf9ff0f002d56f4e0d541ad6724c18fb61f3/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:2eb75304506894a281d346220a4f7481a1b8729577c5ed2a0
  • Network accessline 988
    { url = "https://files.pythonhosted.org/packages/c0/c7/acbec6deac13fe697a80c275a9b6661db62c4d323bac8a47347b1f39c7cd/pydantic_core-2.50.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:6b20a4bffabdad0db2927ac034ae3b8a681b1f7a0182f3e60
  • Network accessline 989
    { url = "https://files.pythonhosted.org/packages/10/08/21a3f237b264389f6219d053ee78fc1b5c2fd402c1b1cb2b6cb8b85f9834/pydantic_core-2.50.1-cp314-cp314-pyemscripten_2026_0_wasm32.whl", hash = "sha256:99ba9bc2b8062ea0c326a990f7f00e6530c23579de6
  • Network accessline 990
    { url = "https://files.pythonhosted.org/packages/09/ce/077a6d262d12ef09108377ac0717f029f420d773ace63cafd6143af75568/pydantic_core-2.50.1-cp314-cp314-win32.whl", hash = "sha256:cf356f70551d40374eaffb1aa63f1eb6d2006681cbd7a9faea173ce0f4dd7cd2
  • Network accessline 991
    { url = "https://files.pythonhosted.org/packages/14/4c/350a2415209c43d670eb71d3c040f332c04a30583d39e311b05c7ac15762/pydantic_core-2.50.1-cp314-cp314-win_amd64.whl", hash = "sha256:d32f3acc081cc3923386d88f422cde8892335e95f034e0104bb4cf9310d9
  • Network accessline 992
    { url = "https://files.pythonhosted.org/packages/bf/92/9bea6ca96580a0902fed366f064f0829e404f41889b34543279a1162b888/pydantic_core-2.50.1-cp314-cp314-win_arm64.whl", hash = "sha256:bed5163e03b98bc1fa2eb05d74c63d9c5c95d8ed6254985481640fbf5e23
  • Network accessline 993
    { url = "https://files.pythonhosted.org/packages/86/8c/f121f073cf32bdd5cba7e6230b1ce0ac845b0cf43e44dd597d95af272db2/pydantic_core-2.50.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:9572c1369e9c9da2d64a7b7992c786d90ff295abc93964cfe
  • Network accessline 994
    { url = "https://files.pythonhosted.org/packages/a4/69/2bb2bcd6146cffe98d760a46c42ae71efd5151d9b2f9c9bf6619a3b32083/pydantic_core-2.50.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2005207aafe1231315718bf6ed5d064a7300fb4772754af35ee
  • Network accessline 995
    { url = "https://files.pythonhosted.org/packages/20/b3/fbf854c7d07ec114260c26e9e2071a4381740f9ae09641dbfcbdf2a18c45/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64f6047f62a6c5ae08d0a6af
  • Network accessline 996
    { url = "https://files.pythonhosted.org/packages/65/20/6de55b2f92cdb614b745c6e9ced639fc4fd7e1e77604825a88bdece6fcbd/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1ef800dd7d85bcdadf4c3076e4
  • Network accessline 997
    { url = "https://files.pythonhosted.org/packages/0c/d9/19e91c94bd5c405945ce2f15526808aea37e162c253160de8ed7bf70b406/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b0135bcdcaa0f23573f286e4
  • Network accessline 998
    { url = "https://files.pythonhosted.org/packages/b6/bc/2e24c8415eae1a25ee5a5484946a917123bad2e9d01689a759236928175a/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0b3a6f334c6a2345ca15318ff894
  • Network accessline 999
    { url = "https://files.pythonhosted.org/packages/bd/1f/945b8053cb061c64e102bcaf7bfb9ed740c0bd4349f9bb978a7d4ddff4ab/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06e01fbbfdb9be777b316a71b6
  • Network accessline 1000
    { url = "https://files.pythonhosted.org/packages/2b/78/96a3e50bf0d64aaae781107eb9335b7529d05a85793ed6e7241c4cd1d931/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:a29a061fec0b4e2d714f277e70a3a18125ecff803f2fea
  • Network accessline 1001
    { url = "https://files.pythonhosted.org/packages/7a/5d/a6038a0322232758a6ebfa709f4ca14a60bf5b93940cd0b345056a557da4/pydantic_core-2.50.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f5187624823423e1d1b82b1072ac41dc83
  • Network accessline 1002
    { url = "https://files.pythonhosted.org/packages/0d/4b/76ded3333a457a9344c4f2d63f2d82d0101654b05178fa4ddfe7d3627674/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:3e46a9eb0a0901dd6275e6b06ac3a464885ef350ec4121f
  • Network accessline 1003
    { url = "https://files.pythonhosted.org/packages/a9/00/9eca378335c9c1b72bc779bf6e4c2a82ce784f14ec48a0e87102c9870e05/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:756d669f04e62ec4148ecfe22be6a4484d9b1181a6ef32e2
  • Network accessline 1004
    { url = "https://files.pythonhosted.org/packages/35/ca/e3832e9cf93651251de43c8c5c029ed680a3c1a0a1b17ee26c81bed08cbd/pydantic_core-2.50.1-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:c516cc5367ca3448995d42cb994bf3f4c9002d2a7c22eac9
  • Network accessline 1005
    { url = "https://files.pythonhosted.org/packages/4b/f2/773469b5a10a39116a2cb17edaf6d722f017dd8da07161b371465311c542/pydantic_core-2.50.1-cp314-cp314t-win32.whl", hash = "sha256:9d1bed94af6a63835461f3cf7502058eb166c58c4778e11d0f433cfb1bd69e1
  • Network accessline 1006
    { url = "https://files.pythonhosted.org/packages/ee/42/0bb74f8f25204b259b11ab7c12dc7f180893b6bd706118b385147fb6efd5/pydantic_core-2.50.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c8dce1f1e0e5358b682a6ad3fa5e31b31d4560997b8e61417e9217c8d60
  • Network accessline 1007
    { url = "https://files.pythonhosted.org/packages/47/0d/d801646c9679a4e630e15cf521d4108b93854b42a6e6e02391bd4c6b1095/pydantic_core-2.50.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ceff0acc940be2715bd6ad17b24c0e5304abf44f6efd0f81ee8499e640f
  • Network accessline 1008
    { url = "https://files.pythonhosted.org/packages/b2/84/23984b763d8862a02a13d27a44b6e8169428fd85ecfed88f54c29108604d/pydantic_core-2.50.1-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:8a6791afa2245e6c6b180122d105941644f5bd410bb18623b4
  • Network accessline 1009
    { url = "https://files.pythonhosted.org/packages/4d/90/a63cf8586abc1d1a3f6d9b18f0224789ebf003851f092ebda3c7c863fd32/pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:84f34323a61a365b4e9295de6028474754829aaddd59c7bf1a04
  • Network accessline 1010
    { url = "https://files.pythonhosted.org/packages/a6/6a/f34bff9808ffb4907fbf5f5040457d253cacf2da7fce9efbc99ca1b1a44d/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23edad659e8dbd8ca7e4e877f
  • Network accessline 1011
    { url = "https://files.pythonhosted.org/packages/b2/54/13f419bf1eb59852003818e25935aaf175687d978f4c4bca70e08fe40a3b/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a5fce22f1e87d181e924e12da7
  • Network accessline 1012
    { url = "https://files.pythonhosted.org/packages/6d/6c/b5a34d24cd0c81669d8f8339d74e6815abcf2f8fb48ab4b49b84c09be1d5/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c73622ef819328873b53109ee
  • Network accessline 1013
    { url = "https://files.pythonhosted.org/packages/eb/8d/d64d6216a8df365082665927ff923f183056f9049fee08e9777c9ac05296/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce8c25ca38cc0e3d7753ba180808d
  • Network accessline 1014
    { url = "https://files.pythonhosted.org/packages/b8/0d/1b1149f60a00ea21ba5f70e28acbd40feb4598af414f80f53c921fac07c9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7689580e72a642ab5ec64d5f55b
  • Network accessline 1015
    { url = "https://files.pythonhosted.org/packages/1e/35/f236549299dcc78e71e945495d7ec67e78d20844d0999c60601685003031/pydantic_core-2.50.1-cp315-cp315-manylinux_2_31_riscv64.whl", hash = "sha256:d5c0e32fdbce7f1e8ef4d11f655694bf5f4175c757a9f1d
  • Network accessline 1016
    { url = "https://files.pythonhosted.org/packages/6a/85/26901a490522b7f75ef9bb9a7afb73e5bb550f0e1cb5b99a0069183e2eb9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40f523349960fa30f3ea51404308ff50f99
  • Network accessline 1017
    { url = "https://files.pythonhosted.org/packages/ca/2c/481bcfc70ceeb77a778ca6e5b705fe592cb64735c108157f81b7dd9c280e/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_aarch64.whl", hash = "sha256:d4193206b6587047437f6f11d7e776df23e1c1e23af2a54d
  • Network accessline 1018
    { url = "https://files.pythonhosted.org/packages/24/eb/f1e09333faa7ba447cde967310f758430cc7c5e987bdab5228816c70030d/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_armv7l.whl", hash = "sha256:84bc765b282a9d5b7fe0348b8648904f25a6a04b2139da52b
  • Network accessline 1019
    { url = "https://files.pythonhosted.org/packages/d1/b3/036bde636db8f76d92996e81aefc75678ab5cec4a07eea1ad0c72a893fc3/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_x86_64.whl", hash = "sha256:ed1e728b39a383c81035b2459cfcb35d99dfb01f7d6ebe3a9
  • Network accessline 1020
    { url = "https://files.pythonhosted.org/packages/d0/a3/07f018294ee18d144afeb6df1a47d9e92960f014be45c5ed13519fa5af95/pydantic_core-2.50.1-cp315-cp315-win32.whl", hash = "sha256:bc94f474417604bd383d2cd445d071b07dd55fedceed3ce33407bf1fcc107290
  • Network accessline 1021
    { url = "https://files.pythonhosted.org/packages/5f/98/f9bd7e1f9b6709f155acb9ef826d9c3884fe925f811fd8e55b9b52280bad/pydantic_core-2.50.1-cp315-cp315-win_amd64.whl", hash = "sha256:983a662de2571cb2502fc8ff47b6770b03d025d2eb314c92f77b3f07c747
  • Network accessline 1022
    { url = "https://files.pythonhosted.org/packages/10/87/4bb3e1e7f385c076ab5af4d6dd0571b22042cd8207eb810d5b9fef15ae31/pydantic_core-2.50.1-cp315-cp315-win_arm64.whl", hash = "sha256:94845ff54dc5193f228cab81b2662a04bfbb892e95bdc15edf7399000ce5
  • Network accessline 1023
    { url = "https://files.pythonhosted.org/packages/47/47/83643225b08f2aef6c8cc4bbe6e3f79c5e139c4364a6e450d0f399d87774/pydantic_core-2.50.1-cp315-cp315t-macosx_10_12_x86_64.whl", hash = "sha256:4a53d13cdfbedbfa87f08b83c1a0a5efcc767d785a4b41934
  • Network accessline 1024
    { url = "https://files.pythonhosted.org/packages/5e/66/127ca649ba2f2462039dc1e694c6c01e00a3689f023a617364d3507e6d97/pydantic_core-2.50.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:efbecf43d321f7b9281441f1f213f7c21c66988b0e06c2730ba
  • Network accessline 1025
    { url = "https://files.pythonhosted.org/packages/5e/4f/e421e0a5d653b1203b090b2e48745976988d7338a647940704b5b9c2b399/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1f08f68dac9f9e83845a80
  • Network accessline 1026
    { url = "https://files.pythonhosted.org/packages/d5/4e/ea5568e2491e1a71100f15ae8c2d01ef52db42a184a2d4e716bc79e5eb8f/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5dfe41f232befddb9c4377f6cf
  • Network accessline 1027
    { url = "https://files.pythonhosted.org/packages/ae/5e/3b8c3a35acbe219909ada5defad5d7d9fed845fb2b37bd5ec518f453c119/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adc06d218a1cadfd2ec46284
  • Network accessline 1028
    { url = "https://files.pythonhosted.org/packages/b6/aa/7889b4e515f91a2e8c0ae6b5081fec0feb30c4398d1434e14793c60f173a/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2cf91809d0721ab81592ba67bea7
  • Network accessline 1029
    { url = "https://files.pythonhosted.org/packages/08/78/93449e628eb8a6fdcce3eff9043081179d1bc7ce6f1bff32dc5006f41e00/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23923ab9292c40da026330b1ec
  • Network accessline 1030
    { url = "https://files.pythonhosted.org/packages/f4/f1/72c5bc129fceb0d00f05dc1e67f518c1728de1928c55f81fc13d7690de39/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_31_riscv64.whl", hash = "sha256:f3377c8c2b3ce898423c5e5dd94c7982e30aa7717a7e6a
  • Network accessline 1031
    { url = "https://files.pythonhosted.org/packages/28/2a/922a0e78f3aa6ab837b59f88190233fb8dad546c17995fde9bb3ed3b9b49/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:455a773617b5913bf5c20d0692e5787b11
  • Network accessline 1032
    { url = "https://files.pythonhosted.org/packages/52/a8/0f1449e3e1b20941c9372faa18e7b6a092e30cdfa841902473f7989532ac/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_aarch64.whl", hash = "sha256:1a9006395dece0e32e704c315eff8a00bede494f6108546
  • Network accessline 1033
    { url = "https://files.pythonhosted.org/packages/d1/d0/1031f492857de70355fb16524bbb03efce5fd34c93ed4a1ec60be07e0d4b/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_armv7l.whl", hash = "sha256:d2d82aa62521c55ddfb000ae70f88cdd8de974078f6024e8
  • Network accessline 1034
    { url = "https://files.pythonhosted.org/packages/46/52/269ffffa645b8e47906395a39cf9db1151ae9fa4bcd7f47b960bc31baf37/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_x86_64.whl", hash = "sha256:009634b83993777ddcd69cad0ffcace43dabde692109528e
  • Network accessline 1035
    { url = "https://files.pythonhosted.org/packages/31/5c/e47e28281f20326ff6f3c31d626f0a83e615d2d94ba41bb0ad6ec237184a/pydantic_core-2.50.1-cp315-cp315t-win32.whl", hash = "sha256:3fde4fdc6487a58d944ca87cf5adc95d5f266e872c19599f5f4c0a8a1b1f9f9
  • Network accessline 1036
    { url = "https://files.pythonhosted.org/packages/03/ad/759e181e69c1b472c60b2049e5f61d5da1deefdd5ce1df4bb2ebcf771f25/pydantic_core-2.50.1-cp315-cp315t-win_amd64.whl", hash = "sha256:1c8632d4ac04e6f91128fca584b3a8a507d81604c24eeaaad00d4be4276
  • Network accessline 1037
    { url = "https://files.pythonhosted.org/packages/6d/56/8a702c27e5be9f47e5f19d8669227424290e4c024e7c370279cbaf244b4e/pydantic_core-2.50.1-cp315-cp315t-win_arm64.whl", hash = "sha256:c3ede305158e75510be50869b319550ab072008c13d64d4ab1e094fb286
  • Network accessline 1038
    { url = "https://files.pythonhosted.org/packages/e7/73/a23a327237d9bb985298ce47702e196f995ce850224c12c70886bd66bb5c/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:062e891facce5ca296a1c37098e5e
  • Network accessline 1039
    { url = "https://files.pythonhosted.org/packages/df/b2/33b37b5e82408f402a5e82649a43e7c95cd5dab7beaeef2c35cedbfd18f2/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:49c2cbb2397fe4d0987e84606e691af
  • Network accessline 1040
    { url = "https://files.pythonhosted.org/packages/04/62/c7d5b9249466ccab90f3ce4790c2399dbfb8172ae9e74a7753dd295fe65a/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e44
  • Network accessline 1041
    { url = "https://files.pythonhosted.org/packages/d4/7e/28d29bc1657195933147f772dee0558d9e0f045bbc11db7f992f40c37bb5/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ed4f3
  • Network accessline 1042
    { url = "https://files.pythonhosted.org/packages/a5/09/1bcf160f3cd6333e2a76982fae5963e5032de0bcaaba38464223dc266bfe/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:76e2e83fa6ec8cdc972d438dafc25
  • Network accessline 1043
    { url = "https://files.pythonhosted.org/packages/3d/81/f02de95eec7794dfc7a5bc69a834f0e834b31b3009014ce6de903855f775/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:a51eee75939cf811ac09b278745a6ce
  • Network accessline 1044
    { url = "https://files.pythonhosted.org/packages/4d/16/227746ed3771d9bf2304568b55134849ece34e13b38b1d76de763015c77f/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ae28
  • Network accessline 1045
    { url = "https://files.pythonhosted.org/packages/e5/b9/7664d1592a0e5a74903f357cd5b28ceb7336f3473256c5a4e8c8432f1881/pydantic_core-2.50.1-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88e492
  • Network accessline 1046
    { url = "https://files.pythonhosted.org/packages/bd/35/002a378302ff91d2a7f149bc8d22363faf581ba40ac39d0123444315a32d/pydantic_core-2.50.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7456d699b13954e9c0164dcb267250a10ae0dfb03e6
  • Network accessline 1047
    { url = "https://files.pythonhosted.org/packages/4b/5c/7a034330082c00f3c9795052bd9b161aaaf6e1951e897ac00a094823ef7e/pydantic_core-2.50.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0d955195bbbe489ad343fcc956eacea9357b79cb2219
  • Network accessline 1048
    { url = "https://files.pythonhosted.org/packages/57/fa/d5b44a7d3d4eceed6ef8713a0003af56fefde6ec75915513bcdd5d730cd9/pydantic_core-2.50.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2c634642694e6a0dad2
  • Network accessline 1049
    { url = "https://files.pythonhosted.org/packages/b6/88/e01dd37301710bd8b3b2daf34ec9e2a6e83a333130831c0d468b0292a48c/pydantic_core-2.50.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ee6db2fbed51a7991302e8fac498
  • Network accessline 1050
    { url = "https://files.pythonhosted.org/packages/3e/43/5bb80d4a4d2b2d84612a30205662cc521a20d209c94abc079ea48b4e0df2/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:79490e33c4c0fcb933bbbcfc3a62184d8803b99f5
  • Network accessline 1051
    { url = "https://files.pythonhosted.org/packages/e8/7b/e3ef76b269cfe4a5bd3bdcf5d7124cf05e5a8909d443b91639307116bdae/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:48569b0ade9edfbe065cad1d700175546592aebbb4
  • Network accessline 1052
    { url = "https://files.pythonhosted.org/packages/8f/7a/ea0947aadc1d9f72d4be00d2e19939611ec17363bcb5e6eb9ec7d8221c34/pydantic_core-2.50.1-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:5f3cae32fc46121f787cb2486de9cf95a8bf72aec5
  • Network accessline 1053
    { url = "https://files.pythonhosted.org/packages/24/f3/d15bc0b1fb0c4f1e07b3326ffb7489f7ae70da2b56a0884d22641b0eb47c/pydantic_core-2.50.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:7f476456ac2bb0d937f75191494a09c83a30765fea4f70f3b4049
  • Network accessline 1057
    name = "pygments" version = "2.21.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1058
    version = "2.21.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz", hash = "sha256:610ca75
  • Network accessline 1059
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1060
    sdist = { url = "https://files.pythonhosted.org/packages/49/2e/ced460408999b33da6b31b0021b0f37d329e202d4169aeb164493778f25b/pygments-2.21.0.tar.gz", hash = "sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c", size = 50
  • Network accessline 1061
    wheels = [     { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377
  • Network accessline 1062
    { url = "https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl", hash = "sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9", size = 
  • Network accessline 1066
    name = "pyparsing" version = "3.3.3" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1067
    version = "3.3.3" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/e4/11/b213bebff182584360cb8d17c72c1677fec5c5c228de439e63bcf8ab1c8f/pyparsing-3.3.3.tar.gz", hash = "sha256:928ae7e2
  • Network accessline 1068
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1069
    sdist = { url = "https://files.pythonhosted.org/packages/e4/11/b213bebff182584360cb8d17c72c1677fec5c5c228de439e63bcf8ab1c8f/pyparsing-3.3.3.tar.gz", hash = "sha256:928ae7e20211f3b6f3915a72f06a0cfd29ab9d24279dd6346b6b1a7146397d36", size = 10
  • Network accessline 1070
    wheels = [     { url = "https://files.pythonhosted.org/packages/38/bb/d215ee7c73b61497b28a5503f9f53523f294fcc936762b7caf90e0c1c2b5/pyparsing-3.3.3-py3-none-any.whl", hash = "sha256:ece8c00a69cf01b45d0b1dedabb469c90d8caf996d4fda40f147627a122
  • Network accessline 1071
    { url = "https://files.pythonhosted.org/packages/38/bb/d215ee7c73b61497b28a5503f9f53523f294fcc936762b7caf90e0c1c2b5/pyparsing-3.3.3-py3-none-any.whl", hash = "sha256:ece8c00a69cf01b45d0b1dedabb469c90d8caf996d4fda40f147627a122849a4", size = 
  • Network accessline 1075
    name = "pytest" version = "9.1.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1076
    version = "9.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 1077
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1085
    { name = "tomli", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d9
  • Network accessline 1086
    ] sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313", size = 163
  • Network accessline 1087
    sdist = { url = "https://files.pythonhosted.org/packages/e4/47/b9efed96c114afcfa3c9d3fe98a76a1d14c74a9e266d397cf6eb64be5e01/pytest-9.1.1.tar.gz", hash = "sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313", size = 16363
  • Network accessline 1088
    wheels = [     { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f
  • Network accessline 1089
    { url = "https://files.pythonhosted.org/packages/24/25/1de2678b631f5a49215c6c96fff41ba892b0a34df68d6d80292b1b48aa7f/pytest-9.1.1-py3-none-any.whl", hash = "sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c", size = 386
  • Network accessline 1093
    name = "python-dotenv" version = "1.2.4" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1094
    version = "1.2.4" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/74/26/2fbeedb218a787a5eea551c7532cac4e009f83d689dd2faa0d0353473f86/python_dotenv-1.2.4.tar.gz", hash = "sha256:f0d5
  • Network accessline 1095
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1096
    sdist = { url = "https://files.pythonhosted.org/packages/74/26/2fbeedb218a787a5eea551c7532cac4e009f83d689dd2faa0d0353473f86/python_dotenv-1.2.4.tar.gz", hash = "sha256:f0d53e69935a851c0dcc78f3ab7aaccd8cabef0b92382b576b824212902873c0", size 
  • Network accessline 1097
    wheels = [     { url = "https://files.pythonhosted.org/packages/60/d1/38f3a3405989a89ac18390803e70c6ad7c7760da4f9b83cbeca0c44a0c72/python_dotenv-1.2.4-py3-none-any.whl", hash = "sha256:42269a8a5b3fd54ffa6f3d84b18abed50064717576b4ecf03dc4a55
  • Network accessline 1098
    { url = "https://files.pythonhosted.org/packages/60/d1/38f3a3405989a89ac18390803e70c6ad7c7760da4f9b83cbeca0c44a0c72/python_dotenv-1.2.4-py3-none-any.whl", hash = "sha256:42269a8a5b3fd54ffa6f3d84b18abed50064717576b4ecf03dc4a55d8aa04fdc", siz
  • Network accessline 1102
    name = "pyyaml" version = "6.0.3" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1103
    version = "6.0.3" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d7662337342
  • Network accessline 1104
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1105
    sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 13096
  • Network accessline 1106
    wheels = [     { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b
  • Network accessline 1107
    { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a
  • Network accessline 1108
    { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a7877
  • Network accessline 1109
    { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45c
  • Network accessline 1110
    { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d7
  • Network accessline 1111
    { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb
  • Network accessline 1112
    { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775eb
  • Network accessline 1113
    { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa6
  • Network accessline 1114
    { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size 
  • Network accessline 1115
    { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", s
  • Network accessline 1116
    { url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af
  • Network accessline 1117
    { url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd9
  • Network accessline 1118
    { url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc
  • Network accessline 1119
    { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3
  • Network accessline 1120
    { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28
  • Network accessline 1121
    { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a3
  • Network accessline 1122
    { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e5
  • Network accessline 1123
    { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size 
  • Network accessline 1124
    { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", s
  • Network accessline 1125
    { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32
  • Network accessline 1126
    { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5
  • Network accessline 1127
    { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251
  • Network accessline 1128
    { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c673
  • Network accessline 1129
    { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde
  • Network accessline 1130
    { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c404
  • Network accessline 1131
    { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4ced
  • Network accessline 1132
    { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size 
  • Network accessline 1133
    { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", s
  • Network accessline 1134
    { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", s
  • Network accessline 1135
    { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee06
  • Network accessline 1136
    { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f
  • Network accessline 1137
    { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c
  • Network accessline 1138
    { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a
  • Network accessline 1139
    { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a63
  • Network accessline 1140
    { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075
  • Network accessline 1141
    { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe8
  • Network accessline 1142
    { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size 
  • Network accessline 1143
    { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", s
  • Network accessline 1144
    { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", s
  • Network accessline 1145
    { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc
  • Network accessline 1146
    { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e9975570
  • Network accessline 1147
    { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947
  • Network accessline 1148
    { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889
  • Network accessline 1149
    { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b
  • Network accessline 1150
    { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf320
  • Network accessline 1151
    { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f
  • Network accessline 1152
    { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", s
  • Network accessline 1153
    { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", s
  • Network accessline 1154
    { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b58
  • Network accessline 1155
    { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d86
  • Network accessline 1156
    { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889
  • Network accessline 1157
    { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b3498
  • Network accessline 1158
    { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853
  • Network accessline 1159
    { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d
  • Network accessline 1160
    { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8b
  • Network accessline 1161
    { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", 
  • Network accessline 1162
    { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", 
  • Network accessline 1166
    name = "requests" version = "2.34.2" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1167
    version = "2.34.2" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 1168
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1173
    { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104
  • Network accessline 1174
    ] sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 
  • Network accessline 1175
    sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 14
  • Network accessline 1176
    wheels = [     { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e
  • Network accessline 1177
    { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 
  • Network accessline 1181
    name = "sniffio" version = "1.3.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1182
    version = "1.3.1" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc67
  • Network accessline 1183
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1184
    sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 2037
  • Network accessline 1185
    wheels = [     { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f10052
  • Network accessline 1186
    { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10
  • Network accessline 1190
    name = "tenacity" version = "9.1.4" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1191
    version = "9.1.4" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz", hash = "sha256:adb31d4c2
  • Network accessline 1192
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1193
    sdist = { url = "https://files.pythonhosted.org/packages/47/c6/ee486fd809e357697ee8a44d3d69222b344920433d3b6666ccd9b374630c/tenacity-9.1.4.tar.gz", hash = "sha256:adb31d4c263f2bd041081ab33b498309a57c77f9acf2db65aadf0898179cf93a", size = 494
  • Network accessline 1194
    wheels = [     { url = "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl", hash = "sha256:6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a
  • Network accessline 1195
    { url = "https://files.pythonhosted.org/packages/d7/c1/eb8f9debc45d3b7918a32ab756658a0904732f75e555402972246b0b8e71/tenacity-9.1.4-py3-none-any.whl", hash = "sha256:6095a360c919085f28c6527de529e76a06ad89b23659fa881ae0649b867a9d55", size = 2
  • Network accessline 1199
    name = "tomli" version = "2.5.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1200
    version = "2.5.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/b0/78/9ad63712633ed3ab5cc1a648d863d7e7da371e9425e209555a0fe711b695/tomli-2.5.0.tar.gz", hash = "sha256:264507556cd8
  • Network accessline 1201
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1202
    sdist = { url = "https://files.pythonhosted.org/packages/b0/78/9ad63712633ed3ab5cc1a648d863d7e7da371e9425e209555a0fe711b695/tomli-2.5.0.tar.gz", hash = "sha256:264507556cd8b8c8e7c6ee037cdf443a463f03f4c958e57195e3d369711b8ff6", size = 17662,
  • Network accessline 1203
    wheels = [     { url = "https://files.pythonhosted.org/packages/22/a6/ab99b60ee52acd949684febabc3005d0045d0f66bebd9cdebd67372d26dd/tomli-2.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c4dc1c1781f2f716de763d1e9a7b34c6a894e167e291c
  • Network accessline 1204
    { url = "https://files.pythonhosted.org/packages/22/a6/ab99b60ee52acd949684febabc3005d0045d0f66bebd9cdebd67372d26dd/tomli-2.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c4dc1c1781f2f716de763d1e9a7b34c6a894e167e291c7c5d16c72f7a953
  • Network accessline 1205
    { url = "https://files.pythonhosted.org/packages/bc/00/ee01b7ed4579180fff07142d290257f25ba786f23f3ec6005f620933c2f5/tomli-2.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:eff8babca5a7999bc137acbc7482a8b7e17ffca5075ab41f5d770ab408c7b
  • Network accessline 1206
    { url = "https://files.pythonhosted.org/packages/72/c2/4efebf65372f6583185f79799312109dddb61102d47e5c33dcfd1a297aca/tomli-2.5.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:86665cee9c4
  • Network accessline 1207
    { url = "https://files.pythonhosted.org/packages/53/07/5850468e925d898abb36038666f9c333a94d2a223e802a8ba5b6d319d23f/tomli-2.5.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7e369fd633317
  • Network accessline 1208
    { url = "https://files.pythonhosted.org/packages/b4/87/f293984cdcf83c054196d4fd3dad44fc68ae55b4b8c44bc76cef360c3150/tomli-2.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7ad1ea345759240d6463efa0ed1c704402752e49aa21476620738d74d
  • Network accessline 1209
    { url = "https://files.pythonhosted.org/packages/ce/ce/db582886b3c1219d3fec93ebd669332482e5aee7a91e0f7838d84f2d1759/tomli-2.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:96243987194634bd411066ce40c952e108f86af04db533ecd8ac3ff2a8
  • Network accessline 1210
    { url = "https://files.pythonhosted.org/packages/bf/72/7619b87dea4261fc27dd7b54c4461c129c1f7d9bb7ba3aec89c797a431b8/tomli-2.5.0-cp311-cp311-win32.whl", hash = "sha256:610b27d99f28ec5f191c7064a48f3ddb179a1fe6ca73d571483ae859f57b605e", size =
  • Network accessline 1211
    { url = "https://files.pythonhosted.org/packages/1e/74/220106da34502304b6751a2a9b8a9fbca6c3fd47e737a2e2e3da7c61c9db/tomli-2.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:c804ae44fe7b4bab5da295e4f980a1ff04670bca9d23fe0a4e887e08ebd741a8", si
  • Network accessline 1212
    { url = "https://files.pythonhosted.org/packages/27/99/7d9c8b41837a7773613e169504147375c157a290167aa59ad74a085f521f/tomli-2.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:cfac177ebd6236003846ea339981f71457cb6eb748f23381eb257e45092e3980", si
  • Network accessline 1213
    { url = "https://files.pythonhosted.org/packages/52/ed/7baa86f87493646a594de388c7c1c40a39dd0461f7e9c0359cbeefc91fe8/tomli-2.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1f4a40d03fb9f63424f0979855bdeaf44dd7696b8d59501822c10ed30ba
  • Network accessline 1214
    { url = "https://files.pythonhosted.org/packages/a5/b1/44c0341f2224397855723c7a8a39f718ea6fcbcc3dacc66e5aeca0f334e3/tomli-2.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9ebf8d19b17bd0daeb7b7dec81a946a439b753942fd0210d6e96c532249ee
  • Network accessline 1215
    { url = "https://files.pythonhosted.org/packages/23/04/e2d5b7d3fba47adedb23de616c16d428ea076c79a3d8e1d95d649ffe197e/tomli-2.5.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf0b5e8e0f6
  • Network accessline 1216
    { url = "https://files.pythonhosted.org/packages/43/90/6090e706ff27a6f89f4a40578e3324b95c3cd8c4150868aabf33a8f414c3/tomli-2.5.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6cf74416bdc94a
  • Network accessline 1217
    { url = "https://files.pythonhosted.org/packages/0a/9e/a2c40768df16c408f22430afb0a73e9d7e5f79c950884954649d1146b74d/tomli-2.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:61ea1ebe1e55a34ea8199cc8dbff398d35027b82271c8ac4802fd3a1f
  • Network accessline 1218
    { url = "https://files.pythonhosted.org/packages/12/25/3c0cb485b98e9cfac495629b1c93c87ccf0b72fbe9d2689fd8fe62c6d5a3/tomli-2.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed53f7e89bb04f6d9e8e7799112360b0c4d5cbff067de0814c98c37c39
  • Network accessline 1219
    { url = "https://files.pythonhosted.org/packages/77/8b/0144c65f0e37e51c18d04ae15c21b19431c165002d0131fe9aa8b0b8b1e8/tomli-2.5.0-cp312-cp312-win32.whl", hash = "sha256:e7ad033e27a516a233bea839cdb77b80146facb3b4f40bf02cd0cac165cdd5c2", size =
  • Network accessline 1220
    { url = "https://files.pythonhosted.org/packages/de/32/5d6d8f42fc9a05fce69354e00ff256484192f5f2fc9a2165718fa0de61ec/tomli-2.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:bd05de8c1698f8413dd7d869492693a0bf2211543b787ac78cd5e7536af1a6d7", si
  • Network accessline 1221
    { url = "https://files.pythonhosted.org/packages/30/65/df18032218db0fb9b769fb23c8039a051f15c811993995ea04c350273a32/tomli-2.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:069435bd5480429b98c5e5afb02ab21c219b6f0064680671c6dc0d46817346ea", si
  • Network accessline 1222
    { url = "https://files.pythonhosted.org/packages/42/e5/51736d70da209350969e15aca5c5ab6e2ce1ea87a0a892a6c13aec172a86/tomli-2.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:943276cf269e0071948d9ff697159c1735e623c1151d88abb09b74659ef
  • Network accessline 1223
    { url = "https://files.pythonhosted.org/packages/ec/55/086f80dab4ab497602644274e6dea7ec5dd0b4e262e443a8ad3bb7edee2d/tomli-2.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:463b16086865b97facd8d0b3fb4cb7c544e3f58d2a69dc3113d6db9653fdb
  • Network accessline 1224
    { url = "https://files.pythonhosted.org/packages/aa/eb/3ecc94459f3635c92321f4e7bde571323fdb2267c50e19e3188a281eae3b/tomli-2.5.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1245a6638fc
  • Network accessline 1225
    { url = "https://files.pythonhosted.org/packages/c0/d7/494fd1f0c37a621f1ad9975c2efadb523e8101f144ed6edb2e7fe64738f2/tomli-2.5.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5d8bac3d603c97
  • Network accessline 1226
    { url = "https://files.pythonhosted.org/packages/70/51/bb8d62b1317e6640866f6949b2d5855e5300f2c99d46de1cd245570bba65/tomli-2.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:21e4cae4114aba25aa0d4f85cdf486d290fb35c0954d7bba536248da6
  • Network accessline 1227
    { url = "https://files.pythonhosted.org/packages/66/f4/f46bd7f0763cd47de2db697dca9257c6a4adfd1a93b018cc75c8190ed5a8/tomli-2.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bbaefc84548d754be821bba7c4141c4787dda182f9e77f2f87b7121352
  • Network accessline 1228
    { url = "https://files.pythonhosted.org/packages/ac/03/70f2bcb2923a6db37818d917e124270a7f4cfd38ea576f5aa753a91c0ef5/tomli-2.5.0-cp313-cp313-win32.whl", hash = "sha256:abdbf6313b8d9efe157edeb7ab6eae4de064b1300ad31abf73755154b30abe68", size =
  • Network accessline 1229
    { url = "https://files.pythonhosted.org/packages/dc/98/d52024bb5b0ff68b4f0d276d867f634c84a67319a7e9f6b7708a37742333/tomli-2.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd4dc129784e0c5335bd4e61dfcc4487499a013419e655cf2da1d091b7e0efdc", si
  • Network accessline 1230
    { url = "https://files.pythonhosted.org/packages/6f/f2/540db3a70572a8c23a28aba3e9c358ce0ffffbafc990905c1343aa265b31/tomli-2.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:69491c143d2fe063046e0301e62a810bed338fa4d1ce0fd870c27dc1e09b0d84", si
  • Network accessline 1231
    { url = "https://files.pythonhosted.org/packages/e4/49/caf6b307766eb9567664a8707e9d6be5fcc0e8903f18781c6677a60d80c7/tomli-2.5.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d3182ee2d887e507bd67319a0a61105d1dd33facc111329559a233b772c
  • Network accessline 1232
    { url = "https://files.pythonhosted.org/packages/d3/c8/68cfce773a2733a49c74f99d627fb461bd990756860099eac25617889585/tomli-2.5.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:521345fd1f19d45b8df87657aaa38b6f2ca3800059fadf428e7ebf479a383
  • Network accessline 1233
    { url = "https://files.pythonhosted.org/packages/7e/b2/e5bb8651fdad593f670501a7d718b1a7f73f064d44dea15e04c04dfef45d/tomli-2.5.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e95c7614e7
  • Network accessline 1234
    { url = "https://files.pythonhosted.org/packages/8d/d2/9e2d7f8b1dfe0e2b34c245986ebd55c4c553ea4ce6c47c443b332673253f/tomli-2.5.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ac2027d37c3af
  • Network accessline 1235
    { url = "https://files.pythonhosted.org/packages/ba/df/ec7b876b7b1a2718bd74a3743c076fff565b04029ba33e8f61fac262739f/tomli-2.5.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c414be4ed9d3cac80c42e348fa5a956117d1a48227f48026e31f59cb4
  • Network accessline 1236
    { url = "https://files.pythonhosted.org/packages/7d/7b/e192d9eed0b9cb80da799f4d77052297fb9a2c3cc9b19f571f56ea88add6/tomli-2.5.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9b03d7dc168353b4132965bde20feceabaa470e570c6f59660dfae59b1
  • Network accessline 1237
    { url = "https://files.pythonhosted.org/packages/84/50/ff94454e75461d75623e47401ed323d65c10aab8fe9033242c20cd2fdf32/tomli-2.5.0-cp314-cp314-win32.whl", hash = "sha256:6f041843c4d3a37245c0c056fd955b186bf8b1fb85690cbe40b81230891dc34b", size =
  • Network accessline 1238
    { url = "https://files.pythonhosted.org/packages/54/0b/bdacf05f963bd6026ebf6eeb0beda847d1d60e03e440725c64a4e08a0afd/tomli-2.5.0-cp314-cp314-win_amd64.whl", hash = "sha256:f4b653094e18f9031102d3a1da5c729c8f222d85225b18037dac621695e46e1a", si
  • Network accessline 1239
    { url = "https://files.pythonhosted.org/packages/61/99/53f438fa6ae4f9d4ed0ddde3e7242b3bdc34b48c8f9948b72b9e9b127676/tomli-2.5.0-cp314-cp314-win_arm64.whl", hash = "sha256:3f89d10c1ff6a38d992c27fc8a4816af71a909e08a40ec66934240b1e74347c3", si
  • Network accessline 1240
    { url = "https://files.pythonhosted.org/packages/b9/20/1f88f19427d380a40e90a770e087489eaafe4aeee070ae88ed2bbec00acd/tomli-2.5.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:e9e15b4a6c7dd6b85b5fbab29488a73f1f70de516942308daa266bf0e0
  • Network accessline 1241
    { url = "https://files.pythonhosted.org/packages/d0/56/cbe5079c9f9a54b9b3e27fc82f08f3cb36edee75561679f53d2380c801d6/tomli-2.5.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e12bbcd32897272fb05929110362ae9ff4c1b9bb26bd9e971e71dcd3275b
  • Network accessline 1242
    { url = "https://files.pythonhosted.org/packages/2b/30/1d53fd3b0f1cb3ba542e345ec32c26aefdddc4e829e4f3429af8a4f27782/tomli-2.5.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20aa36de8f
  • Network accessline 1243
    { url = "https://files.pythonhosted.org/packages/66/d9/0800acb6a111686f764c1b91ef15cc42a20a66a46013bb42220f1d2c61c1/tomli-2.5.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22185fad8a1e6
  • Network accessline 1244
    { url = "https://files.pythonhosted.org/packages/e8/63/30a8f3cd51b5bec37f04744bad0b0dc6160df84aad4f27b0e9283d66f221/tomli-2.5.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:984012f71908165449a951de2050d52f276bfe3aa5d5f570f63ddad8
  • Network accessline 1245
    { url = "https://files.pythonhosted.org/packages/ab/18/0b9ffc597e69c5a1e20a7823cb60d54b39a9f54e91edcb8574f022186758/tomli-2.5.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f79203b3965b4000e91808aaa7c040206093f2b8bf86f455982f2274c
  • Network accessline 1246
    { url = "https://files.pythonhosted.org/packages/ab/c7/18f8baae0b5607a60e8e19b4a7fedee43a8ff6458e3896dcbbadeeac9c22/tomli-2.5.0-cp314-cp314t-win32.whl", hash = "sha256:91294a9fb94a75542f6e46e4a2ae709bd8d9b51134098cae5cf3bea5478b6d03", size 
  • Network accessline 1247
    { url = "https://files.pythonhosted.org/packages/72/34/4cca9739254130627bde87500b3f2b512154fe2f278efa7e2a5e10ad4bcb/tomli-2.5.0-cp314-cp314t-win_amd64.whl", hash = "sha256:f15e3e0b835a6d68b10c86bf80a3149780498d6911c93c3ffd1861d19f9200f1", s
  • Network accessline 1248
    { url = "https://files.pythonhosted.org/packages/7d/fb/afa530d47dd80a78fce43beac6bc6e00f84558eafcffbc6f37b21e80d056/tomli-2.5.0-cp314-cp314t-win_arm64.whl", hash = "sha256:6664b7ae7af7294256c53960a6103077f4914cec8ff98479c352f622c6f6b2f0", s
  • Network accessline 1249
    { url = "https://files.pythonhosted.org/packages/66/98/316fdc00f8c0939e6fe50461dd343c162d3ad51d1286eb25b7db54361d50/tomli-2.5.0-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:a525685c2f97da40762b8695eb7aa0af4c8344ca1905c73e4e29cb04d34
  • Network accessline 1250
    { url = "https://files.pythonhosted.org/packages/c5/22/7b10fa5bb01c9539f53f69b619361b19350acc73657772ea7ac70ba309a8/tomli-2.5.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:9dbb18c1cfb2f6517942fc9314437f66aa06d94436ffb1f06102ef3572f35
  • Network accessline 1251
    { url = "https://files.pythonhosted.org/packages/9c/e7/1a069d86dfd20f1f84f71c63faed9f83c1d890bc06c27d82dc7d888fb573/tomli-2.5.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:752e8b1aa6a
  • Network accessline 1252
    { url = "https://files.pythonhosted.org/packages/ae/83/d1ef43d1687d092ab9c235455c76e6e709483b346b056f086095c7c263a5/tomli-2.5.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c47300f9bf7918
  • Network accessline 1253
    { url = "https://files.pythonhosted.org/packages/cc/05/f4d9cf7de61822ece0c3873f30d291e324911c71a378b8bfe5ced13fd9f5/tomli-2.5.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:19b0dd8749f4ea2f112c5fcfb3c5248390c899d7e2e173f1d91abee1f
  • Network accessline 1254
    { url = "https://files.pythonhosted.org/packages/42/28/78262493141fa543151cf005760c3cb01d09fc28a11f993c05109902cb8c/tomli-2.5.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:57b1c3b01fab802e2899bc3d168dca320e14165e2fd9fd584760fb4ca5
  • Network accessline 1255
    { url = "https://files.pythonhosted.org/packages/1a/b9/e1dab9a30bcb677b5cc5cee810609cfd64f24306a3055767dd3fda00b1e0/tomli-2.5.0-cp315-cp315-win32.whl", hash = "sha256:667e521b37a6c5ccaa044202c235b530f90177ffe2cd4a64ecc213c7dd535feb", size =
  • Network accessline 1256
    { url = "https://files.pythonhosted.org/packages/4c/bd/31a3790c11d6ea95fcf5e6022ac0f8d0543c9b61120b730fc481bd43d3b4/tomli-2.5.0-cp315-cp315-win_amd64.whl", hash = "sha256:d747252933c8a65ef6bd8da0fbb7ce28a90eb6119d8cd00772cd528aa07b68d5", si
  • Network accessline 1257
    { url = "https://files.pythonhosted.org/packages/47/a2/4f6310fa699364f0e3af7ee3af88dddd9af066d33e716a0265bbe2b3ea84/tomli-2.5.0-cp315-cp315-win_arm64.whl", hash = "sha256:75dbcde8751b0a960aa3de173aa5e894d590755c6d7758b7e774c06f1dc3cbdd", si
  • Network accessline 1258
    { url = "https://files.pythonhosted.org/packages/68/14/00853f0b396d8971107ae1921bb5b322fdee1650d2f16bf06c20adb532e5/tomli-2.5.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:2419c2a189551987b59d80e63ec355671283336f41c6b9b89462df679c
  • Network accessline 1259
    { url = "https://files.pythonhosted.org/packages/89/ad/fa6949321dadee46b27363974fb197b94c911c3b0f7a5fd26d7dc18fc2a0/tomli-2.5.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:0dc598040da8d42cf20f0be588ed7004f46db12a0ac6c32e03a59dccedaa
  • Network accessline 1260
    { url = "https://files.pythonhosted.org/packages/53/aa/3056c919eb3e084df3752b2cf5f865dcc04af0b27dba2f66d7b28af4633a/tomli-2.5.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49096930c8
  • Network accessline 1261
    { url = "https://files.pythonhosted.org/packages/96/b2/faeeb5d8769ea3832021d73e892c8391eae7b4b4f8b55a789127bd8b18a9/tomli-2.5.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8ade5023067f
  • Network accessline 1262
    { url = "https://files.pythonhosted.org/packages/f6/52/f094c09e73fb654b621716d019acb5d29bdfd1be01df80c281d552bda48d/tomli-2.5.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:b69564772b5c8f22ea5f498dff08cfa825045b4d4c4400529000bdf8
  • Network accessline 1263
    { url = "https://files.pythonhosted.org/packages/86/f5/0c30541078ca4b505ce3bd76ed931facbfec524dd018535d691d1af0a6d2/tomli-2.5.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:8ff3a2ca028c7eee0c777f9a092038d0a594a9fa04e215f929a22c329
  • Network accessline 1264
    { url = "https://files.pythonhosted.org/packages/05/74/590e7d19d6a118fc5cc5704ff358e21d95b8573f6b9443b1519f29ca8825/tomli-2.5.0-cp315-cp315t-win32.whl", hash = "sha256:62fc1bc8eb03e3a9cadfca713d65614ed8e09d974a283295ffe3a831976b4dc5", size 
  • Network accessline 1265
    { url = "https://files.pythonhosted.org/packages/1c/b8/63a75cfb27a17c38550e44025d3a6e7be64516fd8608a3b75703bf37d81b/tomli-2.5.0-cp315-cp315t-win_amd64.whl", hash = "sha256:f3fcbc57b1791fa6cbe5d8434179d51de12be1a4811469529f47f6e7487a2571", s
  • Network accessline 1266
    { url = "https://files.pythonhosted.org/packages/72/01/e8c1debb2173973372934c68fc8e46170ab60ef23ed4592dff4dec6e8993/tomli-2.5.0-cp315-cp315t-win_arm64.whl", hash = "sha256:d2ba24db8a9376921b5e87b4762b9adb0f3f1deaea68f2b8b0bb2c11efb9c3e7", s
  • Network accessline 1267
    { url = "https://files.pythonhosted.org/packages/60/3f/3e3f8fd0919249b0200c80fbc4f9a1e70be19f9883da71dfb7f8b9ab8aca/tomli-2.5.0-py3-none-any.whl", hash = "sha256:32a7b79ac57a2e83670ce329ccf675798bc5a2094783a63676866b70503f2e2b", size = 1476
  • Network accessline 1271
    name = "tqdm" version = "4.70.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1272
    version = "4.70.1" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 1273
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1275
    { name = "colorama", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/0d/ea/b2a5bd54b28a324dae8211928b2d730b6547500342c7e6c6dea08bd0a485/tqdm-4.70.1.tar.gz", hash = "sha256:cefd0eca11b2a37a3ae
  • Network accessline 1276
    ] sdist = { url = "https://files.pythonhosted.org/packages/0d/ea/b2a5bd54b28a324dae8211928b2d730b6547500342c7e6c6dea08bd0a485/tqdm-4.70.1.tar.gz", hash = "sha256:cefd0eca11b2a37a3aee776544d4f4ae913f02688135b5556b8788dfa474afc4", size = 1718
  • Network accessline 1277
    sdist = { url = "https://files.pythonhosted.org/packages/0d/ea/b2a5bd54b28a324dae8211928b2d730b6547500342c7e6c6dea08bd0a485/tqdm-4.70.1.tar.gz", hash = "sha256:cefd0eca11b2a37a3aee776544d4f4ae913f02688135b5556b8788dfa474afc4", size = 171846
  • Network accessline 1278
    wheels = [     { url = "https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-py3-none-any.whl", hash = "sha256:c293e525e6fef9c20e8728fd4612df02a0aa31bb5fe91ecd93e123b1b7bffa7
  • Network accessline 1279
    { url = "https://files.pythonhosted.org/packages/a7/03/921a3d3c75785aca9ebfbfcabfbc3a1be12e2ab5265deb026d55a5a3f83e/tqdm-4.70.1-py3-none-any.whl", hash = "sha256:c293e525e6fef9c20e8728fd4612df02a0aa31bb5fe91ecd93e123b1b7bffa73", size = 8019
  • Network accessline 1283
    name = "typing-extensions" version = "4.16.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1284
    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 1285
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1286
    sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5", 
  • Network accessline 1287
    wheels = [     { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f3
  • Network accessline 1288
    { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8"
  • Network accessline 1292
    name = "typing-inspection" version = "0.4.4" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1293
    version = "0.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 1294
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1296
    { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a3/26/b09b8010994eccc3c09092e6b34058f36a460eea2d4c3e8b910c695975a0/typing_inspection-0.4.4.tar.gz", hash = "sha256:547274fa6b0a561ccf549cc9524b999a57
  • Network accessline 1297
    ] sdist = { url = "https://files.pythonhosted.org/packages/a3/26/b09b8010994eccc3c09092e6b34058f36a460eea2d4c3e8b910c695975a0/typing_inspection-0.4.4.tar.gz", hash = "sha256:547274fa6b0a561ccf549cc9524b999a578e737d015d8709d021f9d0d13bea47",
  • Network accessline 1298
    sdist = { url = "https://files.pythonhosted.org/packages/a3/26/b09b8010994eccc3c09092e6b34058f36a460eea2d4c3e8b910c695975a0/typing_inspection-0.4.4.tar.gz", hash = "sha256:547274fa6b0a561ccf549cc9524b999a578e737d015d8709d021f9d0d13bea47", s
  • Network accessline 1299
    wheels = [     { url = "https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl", hash = "sha256:65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d
  • Network accessline 1300
    { url = "https://files.pythonhosted.org/packages/67/81/4add07e5172b7ac40d8ed5ff580409a7801a4fe26d529bdd915401dabfbe/typing_inspection-0.4.4-py3-none-any.whl", hash = "sha256:65b8397ba37ccbce054456aaccddfc91e6e3083c92824df348d96ca832f3f147",
  • Network accessline 1304
    name = "uritemplate" version = "4.2.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1305
    version = "4.2.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/98/60/f174043244c5306c9988380d2cb10009f91563fc4b31293d27e17201af56/uritemplate-4.2.0.tar.gz", hash = "sha256:480c2e
  • Network accessline 1306
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1307
    sdist = { url = "https://files.pythonhosted.org/packages/98/60/f174043244c5306c9988380d2cb10009f91563fc4b31293d27e17201af56/uritemplate-4.2.0.tar.gz", hash = "sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e", size = 
  • Network accessline 1308
    wheels = [     { url = "https://files.pythonhosted.org/packages/a9/99/3ae339466c9183ea5b8ae87b34c0b897eda475d2aec2307cae60e5cd4f29/uritemplate-4.2.0-py3-none-any.whl", hash = "sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879b
  • Network accessline 1309
    { url = "https://files.pythonhosted.org/packages/a9/99/3ae339466c9183ea5b8ae87b34c0b897eda475d2aec2307cae60e5cd4f29/uritemplate-4.2.0-py3-none-any.whl", hash = "sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686", size 
  • Network accessline 1313
    name = "urllib3" version = "2.8.0" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1314
    version = "2.8.0" source = { registry = "https://pypi.org/simple" } sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c
  • Network accessline 1315
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1316
    sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 4589
  • Network accessline 1317
    wheels = [     { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac
  • Network accessline 1318
    { url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 13
  • Network accessline 1322
    name = "websockets" version = "16.1.1" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1323
    version = "16.1.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [
  • Network accessline 1324
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1326
    "python_full_version < '3.11'", ] sdist = { url = "https://files.pythonhosted.org/packages/21/f7/bc3a25c5ec26ce62ce487690becc2f3710bbc7b33338f005ad390db0b986/websockets-16.1.1.tar.gz", hash = "sha256:db234eda965dcce15df96bb9709f587cd87d4d52
  • Network accessline 1327
    ] sdist = { url = "https://files.pythonhosted.org/packages/21/f7/bc3a25c5ec26ce62ce487690becc2f3710bbc7b33338f005ad390db0b986/websockets-16.1.1.tar.gz", hash = "sha256:db234eda965dcce15df96bb9709f587cd87d4d52aaf0e80e2f34ec04c7670c57", size 
  • Network accessline 1328
    sdist = { url = "https://files.pythonhosted.org/packages/21/f7/bc3a25c5ec26ce62ce487690becc2f3710bbc7b33338f005ad390db0b986/websockets-16.1.1.tar.gz", hash = "sha256:db234eda965dcce15df96bb9709f587cd87d4d52aaf0e80e2f34ec04c7670c57", size = 
  • Network accessline 1329
    wheels = [     { url = "https://files.pythonhosted.org/packages/08/e7/d1671fb984f9dd844e1da5288070c7c23c9eaba3082d3871aae19c3ab8b9/websockets-16.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:49ae99bdfcae803a885c926bf14f886196e
  • Network accessline 1330
    { url = "https://files.pythonhosted.org/packages/08/e7/d1671fb984f9dd844e1da5288070c7c23c9eaba3082d3871aae19c3ab8b9/websockets-16.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:49ae99bdfcae803a885c926bf14f886196e84925395bb3f568
  • Network accessline 1331
    { url = "https://files.pythonhosted.org/packages/99/f5/70df723bf571f5e0b1b845e0a4ff1c966eeb84f667599fc251caa37d15a3/websockets-16.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5bfd1ac19b1b9986a9c95a82d5e23a391ebb09e12c34d7be6094b8
  • Network accessline 1332
    { url = "https://files.pythonhosted.org/packages/90/72/2f14b2e167170b8bf1c8bb7f9b0d78000f470d41a2085a91f33e3917b6c9/websockets-16.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9246a0d063cfcbcc85f2359dd6876d681213f4790832272aa16641b
  • Network accessline 1333
    { url = "https://files.pythonhosted.org/packages/f3/18/a17e2f0cde02dc10154c808deed7e1d8528afff93612f70d3f0a5b19b011/websockets-16.1.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1214e673c404
  • Network accessline 1334
    { url = "https://files.pythonhosted.org/packages/d5/b0/41de283899cf5929d637b72a508cdbc9aa40dc0f317c6b77613fd1000488/websockets-16.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90001
  • Network accessline 1335
    { url = "https://files.pythonhosted.org/packages/50/61/874aab5257e027f9f61b5004cec65e592babca7942b1bc09f38e72b7f1fd/websockets-16.1.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:130937b1
  • Network accessline 1336
    { url = "https://files.pythonhosted.org/packages/a6/1a/42173913ac5519607220849ed417c864d77384e4119f06dbba964a50f096/websockets-16.1.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c9f2
  • Network accessline 1337
    { url = "https://files.pythonhosted.org/packages/1b/f4/37c1840bd89b529479aec41470b97b7c683b107ca90b6399ac5afb99dedf/websockets-16.1.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f55f0b01956
  • Network accessline 1338
    { url = "https://files.pythonhosted.org/packages/9e/70/652d9b964adcfbeb056f42e0ca6bece34d108fe75534e74df20643cae199/websockets-16.1.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6aaface73b9c71974c6497366d8
  • Network accessline 1339
    { url = "https://files.pythonhosted.org/packages/13/f1/af3850e5d48d482921985be72ebcb169c6180b3a77b57bd612deebcee23b/websockets-16.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dc0fad4933f427acd5b1cec210f3ea6dce7089e1724e4b9ec6e
  • Network accessline 1340
    { url = "https://files.pythonhosted.org/packages/1d/40/1a4e3ed4969ec378dcad337e5f1472c5e292cb3e733bc392f0dc2e230abd/websockets-16.1.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f2769a0344a09e9ccf5b3cce538bc75a51b53eff3275d3896310
  • Network accessline 1341
    { url = "https://files.pythonhosted.org/packages/aa/3e/4e3fa1afe8f1a6a780434cd9ba8eb422632b044eff3dd73f6af67523c147/websockets-16.1.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f70541f3104339f59f830522d94ebadb1bf4742628738162344
  • Network accessline 1342
    { url = "https://files.pythonhosted.org/packages/71/ab/dd742766aa5dda7f349be0de49e4d565b84cf6f7f7fa02e07692f0f2bdd9/websockets-16.1.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:dc385593a42e31cd6fb60c19f0ecb015b386603818fc2c6c274
  • Network accessline 1343
    { url = "https://files.pythonhosted.org/packages/ae/f5/76438c6560f416f1c0a7f587679fb97cc6e99ed336011d43ce2002dd27c1/websockets-16.1.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:387e8e4aa5df2f90b198fa3cad3478822a89cf905b6a6d6c97dc3
  • Network accessline 1344
    { url = "https://files.pythonhosted.org/packages/62/12/5c0320f2127823d27b2d56d611d31b0b284ad4edcb41364d66bf4c92b537/websockets-16.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fd46fff7eb62c24804d234f0051c7a8ea81285ad63e0337d3dcf
  • Network accessline 1345
    { url = "https://files.pythonhosted.org/packages/a2/97/875986b857b955c3f9dd192cb8a1af81254dfb2ea22cc9590f0a1e020b8b/websockets-16.1.1-cp310-cp310-win32.whl", hash = "sha256:7883388947767080f094950b342b30d35a2a06b849cd967c422fa0db72b40ea9", 
  • Network accessline 1346
    { url = "https://files.pythonhosted.org/packages/54/82/1013a5fe7ddae8e102bc3b4b39db81d8d28fd02100a324ce6ede8cd832b1/websockets-16.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d57685547e0060cc6fd90ee6a28405d6bd395e525545f13c8d7cd99c78afd79
  • Network accessline 1347
    { url = "https://files.pythonhosted.org/packages/2b/03/47debfe28e9d6d354be5d777b67fd44c359b9eb299a5d103500bd7cc3e37/websockets-16.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d0fcf657e9f13ff4b177960ab2200237b12994232dfb6df16f
  • Network accessline 1348
    { url = "https://files.pythonhosted.org/packages/72/93/31efa1ed78c17e5cfc229fd449e3966e1b9cc15753204cd585cc8dd01f4a/websockets-16.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b852788aa51764e2d8e4cf5493d559326bcae5e38d16ba25ffa322
  • Network accessline 1349
    { url = "https://files.pythonhosted.org/packages/01/4a/542378ab3972b0c1cf1df3df3eff9591cea0d30c58c3aa3c4ddbc244e787/websockets-16.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1427fb4cf0d72f66333e2cacc3ff5f575bf2d7008166ce991a4a470
  • Network accessline 1350
    { url = "https://files.pythonhosted.org/packages/33/d9/162321f63c7eed558e9e1798ed7a1e34a4f6dab51f35419e4ed7a4907979/websockets-16.1.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:da4ca1a9d72f
  • Network accessline 1351
    { url = "https://files.pythonhosted.org/packages/de/09/87df740f7430ce564bd52402e9c9458d4d0459cc7d2ee29e530c8204851b/websockets-16.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:86d7f
  • Network accessline 1352
    { url = "https://files.pythonhosted.org/packages/d2/12/3d2703af7cc095f3c81904c92208cc1ae79affbc67376944b50ee9301f73/websockets-16.1.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7dfcad78
  • Network accessline 1353
    { url = "https://files.pythonhosted.org/packages/1d/69/986aa0234a964a00f5149cfc46e136e96c8faad1c783474550f40d31aef4/websockets-16.1.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fb9a0
  • Network accessline 1354
    { url = "https://files.pythonhosted.org/packages/35/6b/10f9d03e3970a69ba67bd3b46b87a929b586d0300fadbfe14f57c1f85490/websockets-16.1.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29dfa8114c4
  • Network accessline 1355
    { url = "https://files.pythonhosted.org/packages/56/db/bb3aad62bf63d8bb3f0634b2eabffcfb3677a34bd19492110ff6869cf703/websockets-16.1.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6ff9417c0ada4d0f7d212f92830
  • Network accessline 1356
    { url = "https://files.pythonhosted.org/packages/6c/4c/c09a2ea9bfbeccce52fdc383e5f28af4bc8843338aabac28c81489af6120/websockets-16.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fe0b50da2d84535fb4f7b4bfa951280f97ce3d558a0443b541
  • Network accessline 1357
    { url = "https://files.pythonhosted.org/packages/c7/8b/31bb4eb4d9eaacf1fdd39d115772a8aeaedfc19b5dc262e57ffbc8a9d42c/websockets-16.1.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:34420aaa64440ebd51ac72ca8a45ef4626429438c9b02e633ae4
  • Network accessline 1358
    { url = "https://files.pythonhosted.org/packages/2f/e4/dc02d725610a1ad49e193ef91a548194d71bdc6cdf27da83067dd1f73995/websockets-16.1.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a6a61aff018180c9c50b7b0da33bfd29d378af3497429c95006
  • Network accessline 1359
    { url = "https://files.pythonhosted.org/packages/e0/73/30ed84c8bfd14c73d4af29d5ed9323c3073b48e0b7b23b67070f4e7fd59b/websockets-16.1.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:04fd29a0e2fe9414a95b00e92c67ae51bf900c50c0f8a4b2daf
  • Network accessline 1360
    { url = "https://files.pythonhosted.org/packages/7d/d3/4be8d4959f51e31b4f8fc0ece12b45bd3b6c0d15ea23b9990d9c11fc805f/websockets-16.1.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5c31aa7e39ee3e8a358573257f1c0bb5c52430d1b637030dd9c8c
  • Network accessline 1361
    { url = "https://files.pythonhosted.org/packages/26/fa/abb38597a52d84ed9cfacadc7a0c6f2db282c0ab23cdf72b58a666a21227/websockets-16.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d14bfb217eb4701e850f1525c9d29d79c44794cdf1c299ead25f
  • Network accessline 1362
    { url = "https://files.pythonhosted.org/packages/59/80/1119ad08a228b90c4eb77fbe48df7836731a605f5f881ba701ca826a4a65/websockets-16.1.1-cp311-cp311-win32.whl", hash = "sha256:2e28e602bb13da44fbe518c1781a88e3b9d4c3d48d02c9bad83e546164336f57", 
  • Network accessline 1363
    { url = "https://files.pythonhosted.org/packages/71/b2/e511c1c6f64a95c2f3fc54bffda0e14eaa7e9442be605c29270f7589b918/websockets-16.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:7421fad442de870a8cbf2287d1cad7e706ece0dbfeba5e911df132cbdc1cb56
  • Network accessline 1364
    { url = "https://files.pythonhosted.org/packages/17/9d/681cda21c9eee743203a6cb79b9d3d05adad9aa60ec660c6c9bf4dd619ca/websockets-16.1.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:cc97814dfb786a83b6e2dc2e79351e1b83e6d715647d6887f
  • Network accessline 1365
    { url = "https://files.pythonhosted.org/packages/fb/8d/6195a88b45e8d2a8f745fc2046e36f885a3c9763e6767d2c46229bf9510c/websockets-16.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e047dc87ef7ca50f4d309bf775ad4a71711c58556d75d7bd0604b
  • Network accessline 1366
    { url = "https://files.pythonhosted.org/packages/73/e3/fe2d498c64dea0095c9a9f9a351af4cd6eef31b618395582bc1f38ba45ff/websockets-16.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:01fbdcbac298efe19360b94bc0039c8f746f0220ba570f327577bfe
  • Network accessline 1367
    { url = "https://files.pythonhosted.org/packages/fe/ed/f1831681fce0e3242346e5458486003c5f124ed69e5e0b847fd029db4973/websockets-16.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0f62863e8a00
  • Network accessline 1368
    { url = "https://files.pythonhosted.org/packages/6f/79/4ff9dcc1bb46f6b4c536936dde1fd60f9b564f3304307274db97f4c9496d/websockets-16.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8087e
  • Network accessline 1369
    { url = "https://files.pythonhosted.org/packages/62/c3/5c49b6efb36cab733d23773f6de575e1dba65736ead17d5d2b2a1daef779/websockets-16.1.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2bb5d041
  • Network accessline 1370
    { url = "https://files.pythonhosted.org/packages/6e/f6/56ccceda3a4838d18f1d40821480da4775397e8b1eecf4031e20c50e2e90/websockets-16.1.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1db4d
  • Network accessline 1371
    { url = "https://files.pythonhosted.org/packages/86/d6/ad5286241a2bce1107e2798d3bfbd62cf79aee167bdb654f8cb1e9dbf949/websockets-16.1.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f17dbe07eb3
  • Network accessline 1372
    { url = "https://files.pythonhosted.org/packages/bc/67/d65c970b7e347fdca69479beb7811c2060529956730a7a4e3ae7c66b0e31/websockets-16.1.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4b57693728576d84ede0a77987a
  • Network accessline 1373
    { url = "https://files.pythonhosted.org/packages/1d/5b/14af3cd4ee69d8ea9baca58f3dc3cfb1ba78332a347fd478cb096549d60e/websockets-16.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2a636ff1e7a5c4edf71ef0e79adae7f25dba93b4fcbe3dc9587
  • Network accessline 1374
    { url = "https://files.pythonhosted.org/packages/7b/11/be301710d70de97e3e7b3586e6d492c9c06d6a61bf1c2202c36cf0c75607/websockets-16.1.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d6bec75c290fe484a8ba4cacdf838501e17c06ecfbbf31eede81
  • Network accessline 1375
    { url = "https://files.pythonhosted.org/packages/db/07/fe1435bf6fe738a3d3b54dbe0c18dabf12cba4d909ac8b58b539ce27c1f4/websockets-16.1.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:54509b8e92fee4453e152b7558ddef37ce9705a044922f2095a
  • Network accessline 1376
    { url = "https://files.pythonhosted.org/packages/8a/0a/81f394aff8efcbb01208c1ced77df0a3c7fcce584a88c7273663697946c2/websockets-16.1.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:f0aa4aad3b1b69ad3fd85a0fd0952ec64331c762bd77ec51cc8
  • Network accessline 1377
    { url = "https://files.pythonhosted.org/packages/39/5c/dd485b995473f415510251fe9bd708f2d24458f439fce958daf8d66dc7c6/websockets-16.1.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:42290eb6db4ccaca7012656738214f8514082fb6fa40cdeb61bb9
  • Network accessline 1378
    { url = "https://files.pythonhosted.org/packages/9d/0b/f78de76ff446f1e66af12b43c48a35f31744de93cfdec2f4ea67d5d7bbf1/websockets-16.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:53260c8930da5771cec89439bff99c20c8cb03ddb9588b980697
  • Network accessline 1379
    { url = "https://files.pythonhosted.org/packages/37/a1/4cf892007778eaf84ad162bfc98046e0ed89b63ac55949e3236626b2a23f/websockets-16.1.1-cp312-cp312-win32.whl", hash = "sha256:1d27fa8462ad6a1cb36206a3d0640b2333340def181fae11ed7f9adeaa5c0747", 
  • Network accessline 1380
    { url = "https://files.pythonhosted.org/packages/d9/de/6abe251d28c3a3f217096575400b27750b18e0b1d2fff3a2a239960fea07/websockets-16.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:b436f6ec4fc3a6b4237c84d3f83170ed2b40bb584222f0ac47a0c8a5921980c
  • Network accessline 1381
    { url = "https://files.pythonhosted.org/packages/ce/fd/6ec6c6d2850aea25b1b2aa9901a016980bb87d01e89b3eb00470b1b5d471/websockets-16.1.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ab59169ace05dcb49a1d4118f0bde139557adf45091bd8574
  • Network accessline 1382
    { url = "https://files.pythonhosted.org/packages/5f/d8/1d299d2dd34087db39831a34cc645ef8a6f89d78efada6983093513cd81c/websockets-16.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5e3b7d601f6f84156b08cc4a5e541c2b50ad7b36cfc302b657a12
  • Network accessline 1383
    { url = "https://files.pythonhosted.org/packages/3d/86/0a70d3ae2f0f2256bb41302d9804dbca65d4360281e7feb3e1f94102ac46/websockets-16.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cd2ca96a082a36964aca83e992f72abeb61b7306c1a6cba4c7d06a7
  • Network accessline 1384
    { url = "https://files.pythonhosted.org/packages/b5/c2/c676c69444d9db448b3f0a55a98dcc534affce0bce961d9d2f0b8499b10a/websockets-16.1.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f5d497865f05
  • Network accessline 1385
    { url = "https://files.pythonhosted.org/packages/0b/13/88137fbaf726ebe29d62c1117fa11fa2bbb6209dc79d4ad738efbe36a2aa/websockets-16.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bae95
  • Network accessline 1386
    { url = "https://files.pythonhosted.org/packages/01/6d/46c2f2ce6751cb26f39293e1ecbf8544cb01321397cd476c2756b98c216d/websockets-16.1.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e09f753a
  • Network accessline 1387
    { url = "https://files.pythonhosted.org/packages/29/2b/170a9e8097636cfde4dc3c592b6e00b18a44a2f5407606d96ca542dd5838/websockets-16.1.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:02419
  • Network accessline 1388
    { url = "https://files.pythonhosted.org/packages/a7/48/f0d4ebc9ab4b473b8861b9e20fdb663d515d42f7befdf62cdb60fee7a1ec/websockets-16.1.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:aabe464bfd1
  • Network accessline 1389
    { url = "https://files.pythonhosted.org/packages/d5/ba/39a41d3ae8e72696a9492581900611c5a91e2b07563b0bcd2523adea9854/websockets-16.1.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a28fcbc9b6baf54a2e23f8655f3
  • Network accessline 1390
    { url = "https://files.pythonhosted.org/packages/3c/36/ac15b604f850d1907f0a85ed721cefe47cd45034b3620069b829746cccbe/websockets-16.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:79eace538c6a97e96d0d03d4f9d314f9677f5ed85a8a984992f
  • Network accessline 1391
    { url = "https://files.pythonhosted.org/packages/a8/f3/3fbd5d71d59299c3770faa5884d4f45070236ca5a35ab3a61830812c409a/websockets-16.1.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:496af849a472b531f758dbd4d61338f5000538cb1a7b3d20d9d3
  • Network accessline 1392
    { url = "https://files.pythonhosted.org/packages/b4/fc/dd90349bba58af2a53ef2ddd9c32716c81eb6d59a0687939fff561860878/websockets-16.1.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5283810d2646741a0d8da2aa733d6aefa0545809afccb2a5d10
  • Network accessline 1393
    { url = "https://files.pythonhosted.org/packages/4c/f3/f73ba86427682da59b78c11d77ba56d5b801c32e84afe79b274bbd6a9bb2/websockets-16.1.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:4e3b680b1e0a27457e727a0d572fd81dffa87b6dbf8b228ab57
  • Network accessline 1394
    { url = "https://files.pythonhosted.org/packages/34/7c/f95eb20e80104173b3a0a092291f89ea4047ef6e608e0a57ca06eb14eecb/websockets-16.1.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:69159730a823dde3ea8d08783e8d47ef135a6d7e8d44eb127e32b
  • Network accessline 1395
    { url = "https://files.pythonhosted.org/packages/b0/35/dd875b3e050ff232d60fa377707f890e369f74d134f1be32e8f68879747c/websockets-16.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ed5bb271084b46530ee2ddc0410537a9961152c5ccba2fc98c52
  • Network accessline 1396
    { url = "https://files.pythonhosted.org/packages/e8/dc/5cbfcb41824502f6af93b8f3943a4d06c67c23c7d2e31eb18748c4a5b2a7/websockets-16.1.1-cp313-cp313-win32.whl", hash = "sha256:cfb70b4eb56cac4da0a83588f3ad50d46beb0690391082f3d4e2d488c70b68ea", 
  • Network accessline 1397
    { url = "https://files.pythonhosted.org/packages/b0/c1/71e5deb5b7f8f226997ab64908c184ac3105c0155ce2d486f318e5dd08a8/websockets-16.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:d9531d9cbeac99af6f038fb1bc351403531f7d634a2c2e10e2f7c854c6ed5b6
  • Network accessline 1398
    { url = "https://files.pythonhosted.org/packages/73/a2/ba78a164eeea4620df4a4df4bd2ed6017438c4655cc0f36f2c0bc0432355/websockets-16.1.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:443aefe96b7fdb132e2a70806cca1f2af49bb3f28e47abcd7
  • Network accessline 1399
    { url = "https://files.pythonhosted.org/packages/b9/08/d26d7a7628cd4ac34cbbdb63ac80914ca842ed8e42938c40a53567806df3/websockets-16.1.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:6456ff333092d509127d75a638cb411afae8ff17f092635015d19
  • Network accessline 1400
    { url = "https://files.pythonhosted.org/packages/0f/45/ebec83e6269536aa5932533c67b0af5c781f3e73fdbcd68672dcf43f4f44/websockets-16.1.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:fce6c48559c86d1ac3632ccb1bebc7d5442fbe79bd9bb0e40379ee5
  • Network accessline 1401
    { url = "https://files.pythonhosted.org/packages/c9/d5/abc614d2297f6c1c3e01e61260364457a47c25cc1cf6a879038902bc6aa8/websockets-16.1.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:92b820d345f7
  • Network accessline 1402
    { url = "https://files.pythonhosted.org/packages/52/71/4c99af3b87dff1b2927981f6876607d4acb45338c665242168d3982f7758/websockets-16.1.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a606
  • Network accessline 1403
    { url = "https://files.pythonhosted.org/packages/9b/b4/5c8ca14b0df7eb84ed0524165c5359150210140817a3312aee57bf62a1cf/websockets-16.1.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:414e596c
  • Network accessline 1404
    { url = "https://files.pythonhosted.org/packages/25/c1/bedfba9e70557129cb8083748d167bdcc01483dedf0f0df143676df05cbe/websockets-16.1.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:53667
  • Network accessline 1405
    { url = "https://files.pythonhosted.org/packages/df/09/aa835b2787835aebd839114be5de51b797cb480b63ba42b26d34dfe147cb/websockets-16.1.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:97fd3a0e8b5
  • Network accessline 1406
    { url = "https://files.pythonhosted.org/packages/20/26/f6408330694dbc9830857d9d23bc14ac4f6875127a480cfdda8d5ca21198/websockets-16.1.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7b1b19636af86a3c7995d4d028d
  • Network accessline 1407
    { url = "https://files.pythonhosted.org/packages/17/9a/e0675e70dd8a80762cf35bb18799d3f290a4890ffe6439bc51d222796083/websockets-16.1.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:41c8e77f17294c0ac18008a7309b99b34ee72247ef10b6dff4c
  • Network accessline 1408
    { url = "https://files.pythonhosted.org/packages/33/c1/3234cfb86afde01b81e9bddcc6e534c440975d60a13991259e833069ab3e/websockets-16.1.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:9f63bcef7f4b02b06b35fc01c93b96c43b5e88e1e8868676caac
  • Network accessline 1409
    { url = "https://files.pythonhosted.org/packages/89/87/9c15206e1d778923d8daa9657de07aa62ea815e13448319c98458c37b281/websockets-16.1.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dab9eb87869da2d6ed3af3f3adf28414baae6ec9d4df355ffc1
  • Network accessline 1410
    { url = "https://files.pythonhosted.org/packages/f2/00/cf5de5c67676de2d3eef8b2a518f168f6796595447a5b7161ba0d012915c/websockets-16.1.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:43e3a9fdd7cbf7ba6040c31fae0faf84ca1474fef777c4e3791
  • Network accessline 1411
    { url = "https://files.pythonhosted.org/packages/62/c0/731b6ddede2e4136912ec4cff2cffbda35af73546be4762c3d7bd3bd79af/websockets-16.1.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:056ae37939ed7e9974f364f5864e76e49182622d8f9751ac1903c
  • Network accessline 1412
    { url = "https://files.pythonhosted.org/packages/8c/7f/39c634472c4469a24a7c09cecddffb08fac6d0e74f73881a94ee8a40a196/websockets-16.1.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:a0eadbbf2c30f01efa58e1f110eb6fa293261f6b0b1aa38f7f48
  • Network accessline 1413
    { url = "https://files.pythonhosted.org/packages/26/89/9667c256c256dafcc62d21328ce7a40067da857969b68ee9af375b0aaf72/websockets-16.1.1-cp314-cp314-win32.whl", hash = "sha256:195c978b065fa40910582464f99d6b15c8b314c68e0546549a55ed83f4735328", 
  • Network accessline 1414
    { url = "https://files.pythonhosted.org/packages/bd/dd/1c099d6c0fc5deb6b46ccdbb6981fdb4b12c917869cb3952408409dc18db/websockets-16.1.1-cp314-cp314-win_amd64.whl", hash = "sha256:4e8d01cc3bcae7bbf8167f944aeafefed590fae5693552bba9794a9df68371c
  • Network accessline 1415
    { url = "https://files.pythonhosted.org/packages/35/25/9956b2d5e0529d5d23924f21bba1440d4c5c88a562e4f08550871ffa97a7/websockets-16.1.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0ffd3031ea8bda8d61762e84220186105ba3b748b3c8da2a
  • Network accessline 1416
    { url = "https://files.pythonhosted.org/packages/17/06/55ffc976c488b6aee9ea05761ff7c4e88e7c1fd82818c8ca7b556ad2f90c/websockets-16.1.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:84a2cef8deffbd9ab8ee0ea546a2a6a7030c28f44e6cdd4547db
  • Network accessline 1417
    { url = "https://files.pythonhosted.org/packages/0c/e8/f7dac2e980bacc92bdc26cebae4ae4d50cae5380732c50980598fc0bbae4/websockets-16.1.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3df13f73af9b3b38ab1195eb299ecb67a4330c911c97ae04043ff7
  • Network accessline 1418
    { url = "https://files.pythonhosted.org/packages/b2/39/26762f734113e22da2b942c3aca85798e0c0405d64c256549540ff31e5a1/websockets-16.1.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:23253dd5bca
  • Network accessline 1419
    { url = "https://files.pythonhosted.org/packages/11/94/c3f330851806b9b02138b774d593478323e73c99238681b4b93efe64e02d/websockets-16.1.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c1c
  • Network accessline 1420
    { url = "https://files.pythonhosted.org/packages/d1/f2/eb2c450f052de334ae33cf200ece6e87b0e14d186807074e4eb1cd2cdea2/websockets-16.1.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69e52d1
  • Network accessline 1421
    { url = "https://files.pythonhosted.org/packages/70/31/2ac8cecf3a74f7fed9132129fc3d90b3998a1554570c11a69b2a8c20332d/websockets-16.1.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1f79
  • Network accessline 1422
    { url = "https://files.pythonhosted.org/packages/6a/cf/8ab19650d3c0d4562c92e70ab47c257c4aa5c6a713ed87fe63766b31fefc/websockets-16.1.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:39f2a024af
  • Network accessline 1423
    { url = "https://files.pythonhosted.org/packages/66/d7/a49a38a6127a4acb134fb1912b215d900cc657605cff32445bf519f3acc4/websockets-16.1.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:952303a7318d4cbe1011400839
  • Network accessline 1424
    { url = "https://files.pythonhosted.org/packages/95/3e/ad1fa40388c7f2e0bb2c7930d0090b6c5498594bd1cdaec18864df3d9e97/websockets-16.1.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:249116b4a76063d930a46391ad56e135c286e4562a18309029
  • Network accessline 1425
    { url = "https://files.pythonhosted.org/packages/35/b8/d5db28ca264b9104f82196f92dc8843e35fd391f763d42e4ad358f5bc97e/websockets-16.1.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:61922544a0587a13fd3f53e4c0e5e606510c7b0d9d22c8444e5
  • Network accessline 1426
    { url = "https://files.pythonhosted.org/packages/42/9c/726cb39d0cc43ae848dce4aa2acb04eecc6738b1264ec6d700bf6bcfb9f8/websockets-16.1.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:46dcaa042cd1de6c59e7d9269fa63ff7572b6df40510600b67
  • Network accessline 1427
    { url = "https://files.pythonhosted.org/packages/be/c7/1168704de8c2dd483edabe4a22cbe4465dd8be8dd95561d214f9fe092871/websockets-16.1.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:38565aca3e01ea8734e578fb2118dade0ecb0250533f29e22b
  • Network accessline 1428
    { url = "https://files.pythonhosted.org/packages/ca/40/f9ff2d630ffce4e7dfea0b2288e1caf9ebbf9ff8a9ec9396136ce8b94935/websockets-16.1.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:42f599f4d48c7e1a3338fdaac3acd075be3b3cf02d4b274f3bf2
  • Network accessline 1429
    { url = "https://files.pythonhosted.org/packages/b5/71/e177c8299f78d7cbe2d14df228643c10c70c0e86e108e092056bbcc16e46/websockets-16.1.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:dcc04fedf83effaeb9cce98abc9469bb1b42ef85f03e01c8c1f
  • Network accessline 1430
    { url = "https://files.pythonhosted.org/packages/49/b2/b6987faf330f5af5c787a2610124c2e8403d51724f9001ec4fff6311fe7a/websockets-16.1.1-cp314-cp314t-win32.whl", hash = "sha256:8483c2096363120eea8b07c06ae7304d520f686665fffd4811fad423930a65d7",
  • Network accessline 1431
    { url = "https://files.pythonhosted.org/packages/a2/6e/fbac6ed878dd362fbad7d415fa4f84d38e3e33fed8cde45c64e783acf826/websockets-16.1.1-cp314-cp314t-win_amd64.whl", hash = "sha256:bcce07e23e5769375158f5efdcdafa8d5cd014b93c6683865b840ed65b96f2
  • Network accessline 1432
    { url = "https://files.pythonhosted.org/packages/e1/ed/71fea6e141590cafc40b14dc5943b0845606bee87bdb52a21b6a73eb4311/websockets-16.1.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:820fb8450edddae3812fd58cbc08e2bf22812cb248ecb5
  • Network accessline 1433
    { url = "https://files.pythonhosted.org/packages/01/ec/00e7eeca200facf9266a83e4cbbf1bed0e67fba1d4d45031d3e5b3d81b5c/websockets-16.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:125f22dbefaf1554fea66fc83851490edb284ce4f501d37f
  • Network accessline 1434
    { url = "https://files.pythonhosted.org/packages/75/fd/5774c4b33f7c0d8f0c51809c8b3a93456c48e3543579262cfa64eb5f522e/websockets-16.1.1-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:30bbe
  • Network accessline 1435
    { url = "https://files.pythonhosted.org/packages/37/c3/48e2c03d2bd79bb45948841c592d24156312dd5f58cdf8f549febe652fb6/websockets-16.1.1-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha25
  • Network accessline 1436
    { url = "https://files.pythonhosted.org/packages/2d/3f/73e511ecf2496ceac57dd4ed8388efe2bcf0769338a2dbf242c8366ae87e/websockets-16.1.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56cd5fc4f10a9ea8aa0804bddb7b42506cf9e136046f3b4c27de8fec
  • Network accessline 1437
    { url = "https://files.pythonhosted.org/packages/be/4d/2d0d67834092e354d2b0498f014a41249a89556bc406cf86f3e1557bb463/websockets-16.1.1-py3-none-any.whl", hash = "sha256:6abbd3e82c731c8e531714466acd5d87b5e88ac3243465337ba71d68e23ae7e3", size 
  • Network accessline 1441
    name = "websockets" version = "17.3" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1442
    version = "17.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [
  • Network accessline 1443
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1446
    "python_full_version >= '3.11' and python_full_version < '3.14'", ] sdist = { url = "https://files.pythonhosted.org/packages/30/4b/4692be6d5bf739ed049b3813901c42091f8c054df89d5c089343823dea0d/websockets-17.3.tar.gz", hash = "sha256:1c7dd93a
  • Network accessline 1447
    ] sdist = { url = "https://files.pythonhosted.org/packages/30/4b/4692be6d5bf739ed049b3813901c42091f8c054df89d5c089343823dea0d/websockets-17.3.tar.gz", hash = "sha256:1c7dd93a1c9f89297471493674b1fc1d9467cafd45374f2172213046bdb3a329", size = 
  • Network accessline 1448
    sdist = { url = "https://files.pythonhosted.org/packages/30/4b/4692be6d5bf739ed049b3813901c42091f8c054df89d5c089343823dea0d/websockets-17.3.tar.gz", hash = "sha256:1c7dd93a1c9f89297471493674b1fc1d9467cafd45374f2172213046bdb3a329", size = 18
  • Network accessline 1449
    wheels = [     { url = "https://files.pythonhosted.org/packages/2a/b8/282f114a67886fccde02a77ff296501ad7fea25f4d696b2b1b337cbd27da/websockets-17.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45cc1ccb12ced6d242335159e8221733c8696
  • Network accessline 1450
    { url = "https://files.pythonhosted.org/packages/2a/b8/282f114a67886fccde02a77ff296501ad7fea25f4d696b2b1b337cbd27da/websockets-17.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45cc1ccb12ced6d242335159e8221733c8696da5ad0b6ceef6de
  • Network accessline 1451
    { url = "https://files.pythonhosted.org/packages/8b/ba/8043c303aa60af053e092c1d667165f46d6729217ce2af795a23a3cd700a/websockets-17.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:46ae05aa1aecd47d4d7de0f05ce2d1d2eb418f8de614964d754cc3b9
  • Network accessline 1452
    { url = "https://files.pythonhosted.org/packages/21/3d/5d0eaa9b29db6c999a2cf749605141796cff21a5e235b2488bd39dcdcac9/websockets-17.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:43f270a5f21e12db08c73d83849a877c02ab7b7d0fb6e2718b5101d9c
  • Network accessline 1453
    { url = "https://files.pythonhosted.org/packages/43/fb/33080a7b2d8427b343056eab32ba78235a4bfbbdc79b5593688c7b7c62ef/websockets-17.3-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2d875224bac1a05a20ac
  • Network accessline 1454
    { url = "https://files.pythonhosted.org/packages/61/8c/d4220455cee00adb553c602ba4f1f6a47cd882d86dd9e5124679c0c95c75/websockets-17.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5ad409b7ea1023
  • Network accessline 1455
    { url = "https://files.pythonhosted.org/packages/75/a3/0ff8e4f0195884ae446844185e81bf7619673d816424b8a58bb5812dd4b8/websockets-17.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:56d43c3
  • Network accessline 1456
    { url = "https://files.pythonhosted.org/packages/06/cf/82c88e3fbb6a75a62b2997932664bccfe68256661c69144bd48020160cf1/websockets-17.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9eacb382f
  • Network accessline 1457
    { url = "https://files.pythonhosted.org/packages/4a/e4/9131d3b73504902a83d10b1e1244319377ca72755351998ac9c408ba6ddb/websockets-17.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f09f145
  • Network accessline 1458
    { url = "https://files.pythonhosted.org/packages/ca/b2/2208506afb45d181b0d6ccf377d9d79985fbcbf871af02ef4f7f3d405f5b/websockets-17.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:49fb5b4960ebe
  • Network accessline 1459
    { url = "https://files.pythonhosted.org/packages/39/53/da73e3809f1d4e8c3346ca89a4bed7995de5708f2cb14c9359172a85f5a5/websockets-17.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:13cffaedde6e06183860fc92d88fe
  • Network accessline 1460
    { url = "https://files.pythonhosted.org/packages/9a/7b/eaf828fd414401672e615570b9f2bfd84342b49c86ffb2ae735e4aada32f/websockets-17.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ef2950896673a9809e8e5ab857525924fbcacfc98b858b0509ccf
  • Network accessline 1461
    { url = "https://files.pythonhosted.org/packages/79/bd/4b6aa6e761c8d89aa6defdd83e40a6b2d9aa21bd01520c8e8470fe8d8681/websockets-17.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:2d08ca4bf5a9cdb6fd81b86b51bd5cfb10527d3a1199888f2b02cc
  • Network accessline 1462
    { url = "https://files.pythonhosted.org/packages/37/a8/0a6aea08cad7db2c1aa53dbd3ece3ebc09e420e8301cb02f2b812a728a5b/websockets-17.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5e0c0ed37472c4729f3001066510a656486f08f149dda1ebfd3dfe44
  • Network accessline 1463
    { url = "https://files.pythonhosted.org/packages/1d/82/3998ea56beb079f43fc39dd5935ef8dc150f915bf2de8bd6ddcd50c0fae6/websockets-17.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:62059d739af7fc035ed6e63c5390118a60a5e9aa5a5541cd0486a
  • Network accessline 1464
    { url = "https://files.pythonhosted.org/packages/c1/a5/6568add8d0a2f37c5780c6de62b5b8ee191ca9d2d0b8ff2123b8277c41b7/websockets-17.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:bc6f87d03e3691154673aaa8f08991723d6e3394c83ef2875c7a9
  • Network accessline 1465
    { url = "https://files.pythonhosted.org/packages/72/79/b11bc05b0f64d8b14901443a4b01ea80d039cc68b260250b4cb488070aca/websockets-17.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:3d78d93846eddc990551c1c31914d90d71957ca3af468969826f7ed
  • Network accessline 1466
    { url = "https://files.pythonhosted.org/packages/71/f9/9a8902074db7044b64a05feff349e4f44144a961310d3419bab612f00dd1/websockets-17.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2a377c7132b1e69be7a50d7434d7f26f69e93c70166ebb6d8f8cab
  • Network accessline 1467
    { url = "https://files.pythonhosted.org/packages/99/ba/7b873060ce6764207a24c10e81294739abffe2a90dc67c7f7db5042c596c/websockets-17.3-cp311-cp311-win32.whl", hash = "sha256:29b01520c39ef2f23c88b002f11e6ef4165675f6c92f5f3578fd587d69b5a5fc", si
  • Network accessline 1468
    { url = "https://files.pythonhosted.org/packages/28/11/7469f3f28513ec0d43f10b1c88bf970b0b6f0aa8190c42731954297e824c/websockets-17.3-cp311-cp311-win_amd64.whl", hash = "sha256:d338813a440bf6d2f0df55140d3f3080284410b1ebfe9df50e3847bcdb1a17bb"
  • Network accessline 1469
    { url = "https://files.pythonhosted.org/packages/bc/fd/4724610baabbba94a44c5d1cf1b1a33ff77031e94a51addb0387c7f56b10/websockets-17.3-cp311-cp311-win_arm64.whl", hash = "sha256:6a8248b1ba8861e48e4c7ced3895a1264d2a3b617de72ec94172ce6e64bf16c7"
  • Network accessline 1470
    { url = "https://files.pythonhosted.org/packages/0d/29/902ffe19c0d35603102f31490dea342f083bc77d8f8bcdc7d8b16f5810f9/websockets-17.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:41665c7ea01d3ae497a0c61fd22d3424230d18782a5fceb79f0
  • Network accessline 1471
    { url = "https://files.pythonhosted.org/packages/f0/66/f56a2637b1aac263205b0e3cd7b2ff2e2f8b404b8118c991f4d122fd381f/websockets-17.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8f7469408740cf06a79b01605f2ae0b2acc8839c03fcbbf05da49ba
  • Network accessline 1472
    { url = "https://files.pythonhosted.org/packages/22/7d/a27f25451c4cc62141992b51005688481210f3d3e63de3dc66f9e882ba59/websockets-17.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d68da281ac208b6236ffa8beef23fe7c7c956d8bf09b421d447232fd9
  • Network accessline 1473
    { url = "https://files.pythonhosted.org/packages/9f/77/40bbc1a5c016cf9f598dea21d1250a93245c995eafaec6401d0e4eb4e647/websockets-17.3-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:078d1d41f45ee34eed5a
  • Network accessline 1474
    { url = "https://files.pythonhosted.org/packages/3d/9c/91889c8c62fb7d16cd58e3074473a259303d6229bf0ce496aec87e66f3dc/websockets-17.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:a7f391838e8adc
  • Network accessline 1475
    { url = "https://files.pythonhosted.org/packages/b8/29/2e5e2158e9920f806cd45f3cbc81cf5f3eef2b9e5a74b9ef049e2a3578e3/websockets-17.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c15a165
  • Network accessline 1476
    { url = "https://files.pythonhosted.org/packages/b6/af/fbab5c4098b26026b877bfc139b1ea0d7c6eaf7a86b84544933b4c445f82/websockets-17.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:28d1935c16
  • Network accessline 1477
    { url = "https://files.pythonhosted.org/packages/ac/72/d6e460a991607794072fe3fdfcb3221a0342af61586f5bd7ea40bddcfd21/websockets-17.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c534c95
  • Network accessline 1478
    { url = "https://files.pythonhosted.org/packages/ec/8f/1c7da1cfb632e141e019cf2e0bbbd4e6dc8c198c8cc29544e4acf1a89f56/websockets-17.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b459d29c8b82a
  • Network accessline 1479
    { url = "https://files.pythonhosted.org/packages/3e/63/c48ef8bbfbd982f2cfae1cfcf9e63f5bfbb8468fd37ca700507efc0b0007/websockets-17.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:53209dffd91b0aefed9ea630fa6ad
  • Network accessline 1480
    { url = "https://files.pythonhosted.org/packages/cb/37/7bedaad48ae8e89eaa4f3942c11be0c41de77ce2118a475f3ba05e9b5a0f/websockets-17.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9662a9fe457820c60365b3209e03cbd8e4a817195d55de65a80fa
  • Network accessline 1481
    { url = "https://files.pythonhosted.org/packages/33/cf/ab9a8a0de4769ca1dce392021b6a922e21b4d3687fe9e1ab4db585a088f8/websockets-17.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5670a762c7ae388bf8aa04199fd436180a4d28318dca9c1eae7b38
  • Network accessline 1482
    { url = "https://files.pythonhosted.org/packages/89/96/64d8460cec95f873c61c6d13a09b435915150640525ae56d5871400aec09/websockets-17.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ed59cb4ee258674a6ed9b8515e42079db02cb3be94f133fdd3f20018
  • Network accessline 1483
    { url = "https://files.pythonhosted.org/packages/a6/98/2b83211ee3087db4ae66533782664c0e283cf4a08cbb14036018d0803e09/websockets-17.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0f78bb2e82fe88912c9d7b25c98e57a9b08655579af89f164fd4c
  • Network accessline 1484
    { url = "https://files.pythonhosted.org/packages/9f/fe/6b2a37d422d7f4dfc0c92c95a14649d9bd662243ed8b0774523ed2703604/websockets-17.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:71250e010eede33c1d638e2c7a98288520d67f782fd5eceecaeca
  • Network accessline 1485
    { url = "https://files.pythonhosted.org/packages/0c/c5/364015c9311c89ea6085d54c70d654c5d27ba05014d44ef9fd9daa09462b/websockets-17.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:729989759feb81ff6493879a0d60a0bd7d2eee41001bbec0381a080
  • Network accessline 1486
    { url = "https://files.pythonhosted.org/packages/c2/b3/75d0cae8398816ed34a16a78252bfc8651f2f883cc5a568e1198395f15df/websockets-17.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:90d8c4fa5ba293cf92de351fbc292cdaadb1a1d58d031a1a97ff9b
  • Network accessline 1487
    { url = "https://files.pythonhosted.org/packages/f0/af/9a7c4b2e87f47a2a6a066acdc2157e9b7cb6222a224b95a432f54ae786ce/websockets-17.3-cp312-cp312-win32.whl", hash = "sha256:0824e6ecee838cc28e6481062574c7fde49f9a2cedfacd36f0e91cb4b37fd6fe", si
  • Network accessline 1488
    { url = "https://files.pythonhosted.org/packages/f7/e8/e52953a8280a1e51cb9307218443f68c8f4dc4b9952db6021d5c12d03c0f/websockets-17.3-cp312-cp312-win_amd64.whl", hash = "sha256:6644eecd99c4e8cdf72e646e17b391bb70b054f44becde37dcdc48cbec7e1527"
  • Network accessline 1489
    { url = "https://files.pythonhosted.org/packages/85/a4/005eb7c1f5c1a249c1231a6ed83a54ada0b6b8ffab33a608ca20e3034ea0/websockets-17.3-cp312-cp312-win_arm64.whl", hash = "sha256:4a9133dbaedc6f1af358127275676171d9a1bb3e61f47ee62b2ff9acb78af3d0"
  • Network accessline 1490
    { url = "https://files.pythonhosted.org/packages/ee/1d/c1f4a1c45c5ca2c35ae9fd7cac0e491f8a014c9a86933a5da7b04ff825cf/websockets-17.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:52a2ca6f401fb49a8d5d9e0e48ade5f58f1bdda33132907b0e4
  • Network accessline 1491
    { url = "https://files.pythonhosted.org/packages/4e/e8/f1b47d0ced4964ae748931a54347fd27b06b62e8ea7837a9de3aee0c5999/websockets-17.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:80578e91764bfca297ddca322c00a3136d993b829e9839e7fa378a1
  • Network accessline 1492
    { url = "https://files.pythonhosted.org/packages/16/df/ab0ed0445d8d81a133c8fed760f3b4f743a2f563804fdbecb2c32fe05d94/websockets-17.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fe7a168d805c8a7bf1c2de55b7ab2bc958586bfd88d0e87235a92cac6
  • Network accessline 1493
    { url = "https://files.pythonhosted.org/packages/9f/51/b30fd6c5a33dac76a78083be125e3f9804f3d735da494ff03a46834f31f4/websockets-17.3-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:54fcd24944e6d127d198
  • Network accessline 1494
    { url = "https://files.pythonhosted.org/packages/1c/8a/8ede659919c0805d1fcc79c2ed16588d3419f1687c5117ba46f0217750ec/websockets-17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:de2c12555bf055
  • Network accessline 1495
    { url = "https://files.pythonhosted.org/packages/a6/6a/e75d10e3896edc61320062890f71cdc0767dc4a54e2a26a943b703042d13/websockets-17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c95d25b
  • Network accessline 1496
    { url = "https://files.pythonhosted.org/packages/dc/d3/658f1e153566e5edae02812122d9f020c30785d8b53c4bda61b8e976f77f/websockets-17.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8f244dfee0
  • Network accessline 1497
    { url = "https://files.pythonhosted.org/packages/28/00/002f95a02d721d8c6ec2676c5aee904a823838a9c205fc0b31eedd882a7b/websockets-17.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2e99440
  • Network accessline 1498
    { url = "https://files.pythonhosted.org/packages/fa/9c/d36ec9499a62ec4e2a4eb570f93c6fcedd80ad5685e0f9d6866e8cfbbb84/websockets-17.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:26838e2d95d70
  • Network accessline 1499
    { url = "https://files.pythonhosted.org/packages/36/5d/3a6d74e409f24ae4e8661a9d74d6645f71b3e91425a527c0e3f2e78bb15b/websockets-17.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:508775efa11d26aec186d10154359
  • Network accessline 1500
    { url = "https://files.pythonhosted.org/packages/e1/90/e08eb5d69b73cf5babf80922a8c964019b48339ce5c694a5d0c0f083c5a8/websockets-17.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2789d203babb6ceb2770aadc2394c1f99263ec37fba57a93064f9
  • Network accessline 1501
    { url = "https://files.pythonhosted.org/packages/c2/45/b1916efa1dad5af33beafe5c536810e1c80856b7e913f671c35031c57745/websockets-17.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:cfef7f7aa434a1e632e0ebda14b39f4f1d7975e0fce5c77ea7b431
  • Network accessline 1502
    { url = "https://files.pythonhosted.org/packages/04/c1/d427abb3f11e92f102f70f8e73addb767fc62c614565c0ee3f5657fa3551/websockets-17.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:39f532fa0d9026de4b9315a175998646112776baad54d55348435c11
  • Network accessline 1503
    { url = "https://files.pythonhosted.org/packages/07/2b/462fab8e4b09eaa4eac2f40fcff8ee30f851aa40fb518efb0177262f6590/websockets-17.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:85d6daa3a7ca404570ae130babbeb347ef9d3faca5300fb13cfa4
  • Network accessline 1504
    { url = "https://files.pythonhosted.org/packages/71/36/7404a4376021a0cc7ae9fcbdb1196c0c8aa48df4fd370c185f4f5b677bff/websockets-17.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:ce39283ef08b0f28478e920d4d89a1fc169176e568e8a6a821332
  • Network accessline 1505
    { url = "https://files.pythonhosted.org/packages/c9/5f/b8ada5787d11e6edbf58e2d680235fb3b2fb3298991cc310566f4d6c2fbf/websockets-17.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:23046098ebf844753cfd211033624a8247520e5bf2194c24cb1a8c2
  • Network accessline 1506
    { url = "https://files.pythonhosted.org/packages/23/1c/0533f760237ac6604efd0bf98c18ea4c1381f2cadd8c8d0b05faecb07a80/websockets-17.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:724224d4c457207271239114bf43afafc3eca4a1b4661ccdd428d1
  • Network accessline 1507
    { url = "https://files.pythonhosted.org/packages/97/b4/0e580e8f96197130ebdb32b727e9c891594c930be30d8a9de9aa0bbb7e2c/websockets-17.3-cp313-cp313-win32.whl", hash = "sha256:5af7070d80d278832cbca9c3c3dd44b30a26dcfa3ae1e0f6f19ff34edc27b689", si
  • Network accessline 1508
    { url = "https://files.pythonhosted.org/packages/7d/6c/db5c907d1cbea84444bc759ff63db97fc586988d11a34d5565e8b50080fa/websockets-17.3-cp313-cp313-win_amd64.whl", hash = "sha256:66027e401c70d0cf55021b91b8a7ec2cd5810e20602f945b4fe6ae8b37ed232b"
  • Network accessline 1509
    { url = "https://files.pythonhosted.org/packages/f1/d3/30f04bec5b9cf0c00c98c038494b210ece923a0b05b6df38a162b759e5ed/websockets-17.3-cp313-cp313-win_arm64.whl", hash = "sha256:6b14914e67044724c31a9360c7b89e9d070117c630746eefdc1620d967545acd"
  • Network accessline 1510
    { url = "https://files.pythonhosted.org/packages/27/ad/f65e365bbf38d61164b0c2f64776fc7714bfa59ac51e492b038a35f4ab1b/websockets-17.3-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:bc8fd230ef013951900c1fda100eebe4a4b1b407dde2a441869
  • Network accessline 1511
    { url = "https://files.pythonhosted.org/packages/48/1c/33271eba53b4927a1b91d99d838a6d7b888e6f708425262c911450d73696/websockets-17.3-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:cdb8e4b0f6a41b857c74c03116e8ffbef59ef8e533e934b53284317
  • Network accessline 1512
    { url = "https://files.pythonhosted.org/packages/3d/f3/6d982c60f6c7c95e5faed53d39263df273ecfda904c7d6920c37eee58dd1/websockets-17.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:018fab26140ce221c3853454a608e4e7004f4f10641cb97819dcd5b91
  • Network accessline 1513
    { url = "https://files.pythonhosted.org/packages/ff/c6/4ff6b8d2a4b32719d4658bbd791ee9d19939a47a69b961c961fd9dc3a64c/websockets-17.3-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:dd0f3037d501178a761f
  • Network accessline 1514
    { url = "https://files.pythonhosted.org/packages/eb/8f/46e4030947f5590cb61832901f44a3edb07ef8d1e27f6c06b42c5f1c4d33/websockets-17.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8dbb3862aa649d
  • Network accessline 1515
    { url = "https://files.pythonhosted.org/packages/f0/1b/3db30fdf4fbefa4ac463060d3f87e2d444f960aa1234028468c09b88bffc/websockets-17.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af37a1e
  • Network accessline 1516
    { url = "https://files.pythonhosted.org/packages/02/ed/849799cfc0e3e359b75ca1d50605376da52dc9ef0b2a53931e3f5991f96e/websockets-17.3-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:740bba4223
  • Network accessline 1517
    { url = "https://files.pythonhosted.org/packages/19/53/dcc397e20ce792fffd9a8f79b6333275748ee7a23f807e576166a0b16edd/websockets-17.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4170556
  • Network accessline 1518
    { url = "https://files.pythonhosted.org/packages/c9/36/e5935782f71e9e22247b2a2e562da05e18d8945c49f2692ca1bdaceec178/websockets-17.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d355b22270be8
  • Network accessline 1519
    { url = "https://files.pythonhosted.org/packages/27/76/bd5978a1e403fc646230cf35cf7c06b40b3a232d440881b9e89ede229b18/websockets-17.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4aa85b34c21cf97b3470793d0bf07
  • Network accessline 1520
    { url = "https://files.pythonhosted.org/packages/da/87/c66eb39bd851d5c14d9eb75aa64d03cfcf2ded77927ca067b5917291d19d/websockets-17.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a0e2e7c2c1a4f25db7b6596738d810c10732e77f852247300a1bc
  • Network accessline 1521
    { url = "https://files.pythonhosted.org/packages/fe/ae/b9a31d5497fa0b73629a097b173a26123da2ed656b562114644bc623414b/websockets-17.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:7fa69212ea60ea24e2d8aff23fe102b1f87f1b27a320f92d2e7b34
  • Network accessline 1522
    { url = "https://files.pythonhosted.org/packages/61/0c/b773a102f84b60b2052b2cfde773d2f3cd3e8eaa93a145f54450460549cf/websockets-17.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:80a6e37e235780f189558ab804f3cbc01c18f5c578995739b49613d5
  • Network accessline 1523
    { url = "https://files.pythonhosted.org/packages/b2/fa/e7e538575dd4912dea9ea4c9ae86519aa1420969d9cb5cf02fd10fd20ba7/websockets-17.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:628efe13630ac3397e7d1278b6be6f22f37a86d638a324334b4cd
  • Network accessline 1524
    { url = "https://files.pythonhosted.org/packages/28/87/bf2b928c156deefd0c50285a48fc985e2ca85d284e7d9981cc5b79b0e696/websockets-17.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:443fa28652682d2a3ec3eca49af1b87cb2523561257683e62e03a
  • Network accessline 1525
    { url = "https://files.pythonhosted.org/packages/8c/9a/d59817ba3535f787c1cf8990a01b3d2896a7d9d8f3b5d55bed22fce595a6/websockets-17.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6705af9d1005127302c04d9f1533ba56e289336c465923ef878430e
  • Network accessline 1526
    { url = "https://files.pythonhosted.org/packages/a6/96/8210379dac889e16c75099aefffa200dc55dc8cb030010f309a7eb9c75c1/websockets-17.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9bde5d82d7ac4859e0cb3a35e148f537a8d4e56aa43f42582b5f26
  • Network accessline 1527
    { url = "https://files.pythonhosted.org/packages/97/0b/d4741c977fec9e6482beffece572d544d42d230f56fc3ef504f96521063a/websockets-17.3-cp314-cp314-win32.whl", hash = "sha256:be7be57097a65a8fab3d0f0a10d12931deb626a7d8082eb732b1ae41f3a202e3", si
  • Network accessline 1528
    { url = "https://files.pythonhosted.org/packages/33/69/2f9ce899776d0c522f7f44080cad4228a1c14ec13b0125a2efc12ebe41c9/websockets-17.3-cp314-cp314-win_amd64.whl", hash = "sha256:2b06213c8e1ce93b18d0476d7a5e647436c8f23d099888c9065e930e80f4bed5"
  • Network accessline 1529
    { url = "https://files.pythonhosted.org/packages/4e/e9/11b885666d72add674440a3435c059bea325616959cec8be42605948714c/websockets-17.3-cp314-cp314-win_arm64.whl", hash = "sha256:6b7b540bb321f7f0a7b8f5d107f941bb361e3a154c0b594dae0394997b91b743"
  • Network accessline 1530
    { url = "https://files.pythonhosted.org/packages/c4/0e/0c0f40ab8eefe9d5a6c78b4e267d8e37d70d3db8dd195574e0ab867e4f81/websockets-17.3-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:c9d06edfd974e918b40e0662a7e76dac13125529ee5ec9fbe4
  • Network accessline 1531
    { url = "https://files.pythonhosted.org/packages/1f/93/d22b3d63aa439bc01a9477880070d05e0b257b0548294786a33be3e842ec/websockets-17.3-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:0a0bcf66289b9d017c175562c35c5304b5cc3ed56aded994ae30b0
  • Network accessline 1532
    { url = "https://files.pythonhosted.org/packages/b9/92/f60a9672cdeb8cb4f7156e6e83c76d59fdc586737a97ac77129e9fc188a2/websockets-17.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f3ed747b7651668131029c720fbc32c7ee2d129bdad200e6c8f4037b
  • Network accessline 1533
    { url = "https://files.pythonhosted.org/packages/9d/da/2be8c5f3c6612d4523f95b074e2352bc11bd090cf121d32bc11af1d52e70/websockets-17.3-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5868a02c4f6d698ddd1
  • Network accessline 1534
    { url = "https://files.pythonhosted.org/packages/85/1c/cb84aec871840acd66dfa84520bf7b8e48ce70bdb3f4baa4efd097fbe6b1/websockets-17.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fa87ea2ad64e5
  • Network accessline 1535
    { url = "https://files.pythonhosted.org/packages/9b/7b/cfb65557accec2eda2c80288e13eca6f1c797c579375906eb73f4053cfd1/websockets-17.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:65e937
  • Network accessline 1536
    { url = "https://files.pythonhosted.org/packages/70/a3/7e08ec4b23e376ed228831aa44b2f2a3f2e7025cc66dda4b2e53dcc2619e/websockets-17.3-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:35381b575
  • Network accessline 1537
    { url = "https://files.pythonhosted.org/packages/4b/7d/8a813e3e53956f876cfaad4f6358625bbd94168aa8046c44e2f3561f12af/websockets-17.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:514279
  • Network accessline 1538
    { url = "https://files.pythonhosted.org/packages/41/23/5f3dab6ab44f2f30042db83a658a57129d5e3c0425c798b3c3e727bc060a/websockets-17.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e164c4a6868d
  • Network accessline 1539
    { url = "https://files.pythonhosted.org/packages/5b/49/99a3fb5a2e94d677fbd0d014a6f9a56a3d2b8e8007b7175727bc4fc4ae94/websockets-17.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:10b24e836ee0233ca078e1244f6b
  • Network accessline 1540
    { url = "https://files.pythonhosted.org/packages/6f/e5/f503a4d757858d083c90ea85dd1fd636ae9eb63c9552c75a4c38514ee7ed/websockets-17.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:56a76556ab04ab54a675acce2cac8b4e74ea2cec558a7c9ed37e
  • Network accessline 1541
    { url = "https://files.pythonhosted.org/packages/4a/a6/8586844ad4b21988837624e1f4b331bc71919c85a6eb1ee3c8bd29893f27/websockets-17.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:33221e49be79d7bfe6d12bc52ef9458b256ab74fa8ac5660acfa3
  • Network accessline 1542
    { url = "https://files.pythonhosted.org/packages/a7/b9/f419506494d6ffd205a9c3258f56ff5aeae6976de26361057de74f4ab659/websockets-17.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:2fa79b9a48ae59744316c71a34cb9f76f30c93e117338522c5135cb
  • Network accessline 1543
    { url = "https://files.pythonhosted.org/packages/28/c5/55a58faa67149e84cb98b33f9d8fda95242677ea07b78f3ecaf2e77877d6/websockets-17.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f87f02afe05c1c246012e3de100a77cfbabd17db709fe93cf074
  • Network accessline 1544
    { url = "https://files.pythonhosted.org/packages/35/e0/fbe561dff24b6ef1b2034877f37b56eb9b81b3c103e2a8b03819bf2b3b6d/websockets-17.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:8135a549e27e9941a70e2d2156676ef2ffeff4b06e9d564dbaaa
  • Network accessline 1545
    { url = "https://files.pythonhosted.org/packages/0d/37/d80753064f8370a24d3bec74807c3928d7b0ebef5381956e2a0108b365c2/websockets-17.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ace8dd1efa5f44c482d091aa38322e20e3ffe5adcdba6b67ad9f4e
  • Network accessline 1546
    { url = "https://files.pythonhosted.org/packages/f1/9d/a11d3168522a2959c4a5661728744d62b9eee344abdba5f9fbc1d359742f/websockets-17.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:2129c9a5fc05a230ce088745a790af073e582b584badc7b05db06
  • Network accessline 1547
    { url = "https://files.pythonhosted.org/packages/06/28/16107b3b83fd2b5024bfecf8d000140f555204a0191202f9c4c981137810/websockets-17.3-cp314-cp314t-win32.whl", hash = "sha256:af7c474f0d8f4d2a196370e85033873c7b063a0b5da9a4f143aa023e3bd25407", s
  • Network accessline 1548
    { url = "https://files.pythonhosted.org/packages/77/dd/8b00e1dd552788d8c7762d7ef61de8f2f238d7357b1a02d4c4650b112196/websockets-17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:0c63ad657695e8f1a48624754cb6b464118ac50d4c1d477c26461c98390f0a62
  • Network accessline 1549
    { url = "https://files.pythonhosted.org/packages/39/eb/5d90d57a5cbe614b2f13433aaf1c0b068c804589379061ba06812a185a89/websockets-17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:3c4f631dc8d00e470cde3ec0a35d4b58a817bea592411956f1cf4099dbb306b3
  • Network accessline 1550
    { url = "https://files.pythonhosted.org/packages/6e/41/1efe5ecae1f32495dc75641704f959bd2d8e56cdc825f3acc5e010a51960/websockets-17.3-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:f300f28dff74ff4148c21e6971e4de6ca0c34e0086a3d95c017
  • Network accessline 1551
    { url = "https://files.pythonhosted.org/packages/01/ec/4edb653533241203db3f11522e122338d4fda50a41ce2a542029086f8eda/websockets-17.3-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:32029441af953e980b9940f042b337fe4ad9a97fa8b17a4ed878ec6
  • Network accessline 1552
    { url = "https://files.pythonhosted.org/packages/d5/b9/ec450b9650925dd5cf27c1f36d0464786fe3ac702ed656879c4c0dd5c4df/websockets-17.3-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:09f007b2150eff015b2109f006e2ac2012d376f41486defa88ae78a77
  • Network accessline 1553
    { url = "https://files.pythonhosted.org/packages/15/1e/63f7fbff9f0540a0331f1a62424c9ff24faa6ba8aec264f55e9e31017eea/websockets-17.3-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bdc658c9474864893e0
  • Network accessline 1554
    { url = "https://files.pythonhosted.org/packages/0c/1b/f6679ad61cb8c110033a1b30d561d5c1052983e202157251ff1778f27932/websockets-17.3-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:15decc0fe293d9
  • Network accessline 1555
    { url = "https://files.pythonhosted.org/packages/28/c6/ed993aaef8046cbbb939ae367ee3dd5383dbd055f0500a5b8aed101168b6/websockets-17.3-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:997617d
  • Network accessline 1556
    { url = "https://files.pythonhosted.org/packages/aa/96/7057dc71affe6c8252df8648f5a225642228a6fdd8d046a6b9aa1fb0e9eb/websockets-17.3-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a004c1fe5a
  • Network accessline 1557
    { url = "https://files.pythonhosted.org/packages/43/e3/8b3268bb7e72b465e55172b86d55f58aa277fb6d9bac92aee615345874df/websockets-17.3-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:35fe35d
  • Network accessline 1558
    { url = "https://files.pythonhosted.org/packages/59/15/fa31c0a12240b1225c3712ff080d2f7ede4f695ca90e59fdb58e8affabba/websockets-17.3-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8b3bede7d583b
  • Network accessline 1559
    { url = "https://files.pythonhosted.org/packages/22/b5/75d911c206a3035e2ecfad107878e62c06e574b2437fa2cfb4ecef436fa3/websockets-17.3-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dafbb58a149d1ebd5767b3f064f91
  • Network accessline 1560
    { url = "https://files.pythonhosted.org/packages/0e/f8/f98aa36f611acd5770819f6690125c20d55f221fd6db8d00d284b5f78e89/websockets-17.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:80326bc571164bbbb6bead2e35d0c943b23b24fde629032197c58
  • Network accessline 1561
    { url = "https://files.pythonhosted.org/packages/1a/36/d52f5dff7597de6fbfc26c3d126abd668137915719aebf97abcc3be77eca/websockets-17.3-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:7d53fc4b90ef6e11de639dc18744d9be8cbd70ccb5ce80027aaffe
  • Network accessline 1562
    { url = "https://files.pythonhosted.org/packages/d4/10/dcd70ad9f9cd20e8af43284ac250af610e8bf9022da25f5b409153d033b4/websockets-17.3-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:fdd00937f15f5f93c8e53d8060a8c4c010431ab595a9b5b50ddd569a
  • Network accessline 1563
    { url = "https://files.pythonhosted.org/packages/70/ab/f26c6bfa99d38ca3d1bf23145306d97c5d0c75e133a8d837373e4b3d4629/websockets-17.3-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:1dae5cd6c92d4440b15f20aa2987baa73c47ea14baa0fec8536a5
  • Network accessline 1564
    { url = "https://files.pythonhosted.org/packages/d7/3f/c8fd74cdb526cc65295b7468f2f84ba16678646d8174288822f99f510274/websockets-17.3-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:b225c656efa2dedecc81651d2290170af25887b7de4f38c5efc7c
  • Network accessline 1565
    { url = "https://files.pythonhosted.org/packages/c4/c5/b3a07ce1c54fc0f5441642f5352662b90d7e658c966730eaf6d78a5f20bc/websockets-17.3-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:bd645b5d2f810a181c44f4a71135e7c365b44f4be9ed3d1892635be
  • Network accessline 1566
    { url = "https://files.pythonhosted.org/packages/66/37/8321a8a6ab0215d4df0238e49ace5f539364cf337bb122b85c788e8c93ec/websockets-17.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:d2605a3b2af8d66f8b75312d223642c065ec773446c04566d9030a
  • Network accessline 1567
    { url = "https://files.pythonhosted.org/packages/f8/04/8c457a7e6a260b673bf4e6f2f422eb4af5f11c48505748359706f24f1bef/websockets-17.3-cp315-cp315-win32.whl", hash = "sha256:82e60c00cfb8493a5ba27cdf9b3695fdd153f666f73e11f18968f78ead1d8705", si
  • Network accessline 1568
    { url = "https://files.pythonhosted.org/packages/a0/7c/c2df129d9e344b99bb388bcac54fbbdfeec29e6c716c12dc9a3398757940/websockets-17.3-cp315-cp315-win_amd64.whl", hash = "sha256:4d5f2492cb2192aab2d42e57f2caa2159b4fd20fde06f859ec13354f524b176c"
  • Network accessline 1569
    { url = "https://files.pythonhosted.org/packages/e6/4f/721b778c85559b2949e46246838e31a346dd815b3cdd8460fe517235675a/websockets-17.3-cp315-cp315-win_arm64.whl", hash = "sha256:55494475206113dbaf731dc8c5ffd5e1094175b753b7bbaad09fe3d7df61165c"
  • Network accessline 1570
    { url = "https://files.pythonhosted.org/packages/b3/28/241d9ebb4dad79346b5a6abf9f14d7685b12ca358d250eea4920cdb1caf3/websockets-17.3-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:23cb6f6d64e3a389bb8ba150f947f9a6c8c0aca383e814ca3c
  • Network accessline 1571
    { url = "https://files.pythonhosted.org/packages/b0/bb/559fe539992102c66cbca38b488af6c7b184ab7736d819afc0f72268a2b4/websockets-17.3-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:f27e7e8a85512b6a4b490d5756edde8e6772883a5800e1476172e4
  • Network accessline 1572
    { url = "https://files.pythonhosted.org/packages/34/ee/e8ade4f13a3d0da68636fe44bb8ac1a3e36fc57070512788320dead42067/websockets-17.3-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:6342f79d6f50e680c8aa59e0615d745e867e51ffd59c77093be60b7c
  • Network accessline 1573
    { url = "https://files.pythonhosted.org/packages/4d/06/4812b2a7a5e6571d9be425e76cf54ee69aaa15720caa02307785aa5b19a7/websockets-17.3-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:fc23e72bd7f8a8e540f
  • Network accessline 1574
    { url = "https://files.pythonhosted.org/packages/d3/e8/adfc05d7f9b6b0cce6cc554426c50b7058609119b6b84a39171fe5ed4e50/websockets-17.3-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:722ab747ff5dc
  • Network accessline 1575
    { url = "https://files.pythonhosted.org/packages/96/b2/d5b93dd933552554507edae9e3a4890269a8ea8b46019450ea9c8a30e7cc/websockets-17.3-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0d20d6
  • Network accessline 1576
    { url = "https://files.pythonhosted.org/packages/10/37/642f0f1cf1c4814147a4f0586f796a0b38e42b69e5a296bfc270fb660051/websockets-17.3-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:90cc9973c
  • Network accessline 1577
    { url = "https://files.pythonhosted.org/packages/5b/33/eac81cf62ac394b61db6a27ccbe8fb9ae382016ef73ede1edf9242a6a43e/websockets-17.3-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:63b87c
  • Network accessline 1578
    { url = "https://files.pythonhosted.org/packages/0d/84/e057788a9bd056f4f7d3a06b59efaaf724bbc6f2d1e1d316f8a93c951abc/websockets-17.3-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4f7431e71072
  • Network accessline 1579
    { url = "https://files.pythonhosted.org/packages/fa/a7/cca1f9f45b893bb5b7545f2b234f910e07fcd2f8065724ac1a62a0961be2/websockets-17.3-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:534ed583fd4323de45d196535a44
  • Network accessline 1580
    { url = "https://files.pythonhosted.org/packages/1f/a0/5d07451027150c802ce4c9999e86994a3f0de5f4dbe3d1cce46995999269/websockets-17.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:8879b6a4040ee925c638548238ab7fe612cf5fa8752fe847346d
  • Network accessline 1581
    { url = "https://files.pythonhosted.org/packages/62/90/835f37e13fac0c615a700caae0d39deff1de2d2b9b341836a786f9b359e0/websockets-17.3-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:58e5d1e935a90878a935c7d2737a25c71cf4f1c13b6e6bef454ab
  • Network accessline 1582
    { url = "https://files.pythonhosted.org/packages/16/8a/718639939b947fe715501e8073350fd3f8a42f8b5eba3c0c2389c5836513/websockets-17.3-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:0a657b51e4a5f4ac577c11e706ff9a884ea5aaf3e2666bae283a251
  • Network accessline 1583
    { url = "https://files.pythonhosted.org/packages/e8/45/6bef8572b9b0dee51369b69776af1e4c7cc3a807f199dc3c165bbcf1199a/websockets-17.3-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:411aa0fb234f42a1444dea1e177890ddfc577b36ffdfafec25cb
  • Network accessline 1584
    { url = "https://files.pythonhosted.org/packages/f1/3f/3b726d0b46a132e641d2d8c0243ea8a7d39464dbaf28c7a206e51fbae681/websockets-17.3-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:623d4b44f64efdf235b1e8dce266057073d93cde6197e7d7684f
  • Network accessline 1585
    { url = "https://files.pythonhosted.org/packages/90/96/cd972a12e1412d9b42c42ef42efbd81aa396ca9408d982d524012f011a8d/websockets-17.3-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:5d0c871efc696ef5eb8514df64b86ab28736db753ebb42a2101f3b
  • Network accessline 1586
    { url = "https://files.pythonhosted.org/packages/7d/2d/e11524771588188a39f6da234779d4942496b96c5a10b92f3df30db48608/websockets-17.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:1db2604e6aedb7a2cb2f6e0575d6c9a852ccac8239703a930ac83
  • Network accessline 1587
    { url = "https://files.pythonhosted.org/packages/17/9b/63722aed973f53ea579e1ce0c4563a2b8b536629e556feff26e4c6a2a60d/websockets-17.3-cp315-cp315t-win32.whl", hash = "sha256:07246d4f0293ef0b87eff3d7dd88c1f03dd9f678fa39f6de87b2af8504e7e0de", s
  • Network accessline 1588
    { url = "https://files.pythonhosted.org/packages/34/07/5e0c92e225546f1789c957c0383852797be7c899b07207e9b6eb4a93473f/websockets-17.3-cp315-cp315t-win_amd64.whl", hash = "sha256:856bbb24f2ee6436af7609267e73309e4bb0a0f9982f79f1c2e01019279c6671
  • Network accessline 1589
    { url = "https://files.pythonhosted.org/packages/d4/e4/339663de65c44ab3eb5209890e86eed26e1a131d6afab3df6f1c3e5b4d8c/websockets-17.3-cp315-cp315t-win_arm64.whl", hash = "sha256:a22c4956a4d858200dba83f0691bb692d77b0eeddfca80157820d20b85dea4f1
  • Network accessline 1590
    { url = "https://files.pythonhosted.org/packages/e1/f1/b462b1518779adf0b6fce305beee07357a79cf0724bbe61113ed6521882e/websockets-17.3-pp311-pypy311_pp80-macosx_10_15_x86_64.whl", hash = "sha256:34c78052277053bcb09810ac8e9ba4029f9e3e277833fc18
  • Network accessline 1591
    { url = "https://files.pythonhosted.org/packages/a9/59/7dcea408892967516cc00d491ee7bba48577059c6eb0811f436b720bcd98/websockets-17.3-pp311-pypy311_pp80-macosx_11_0_arm64.whl", hash = "sha256:ef07e0b6b879f699a16fc7a513b974246fdeaef44908a02113
  • Network accessline 1592
    { url = "https://files.pythonhosted.org/packages/c6/b7/2d447e461f1160dc8dcdd8b143e2adba54d402e5f828eeb1f8469970c937/websockets-17.3-pp311-pypy311_pp80-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:99c5637b74e28
  • Network accessline 1593
    { url = "https://files.pythonhosted.org/packages/01/51/35aa5edd12b23e0001b85517ad447342c07a29fcee62009b0859825b77a7/websockets-17.3-pp311-pypy311_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2c460ae
  • Network accessline 1594
    { url = "https://files.pythonhosted.org/packages/6c/db/537306b92236d761b99dc56a7316c0ad46f2854cd0756585b3a9d3fe5639/websockets-17.3-pp311-pypy311_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:
  • Network accessline 1595
    { url = "https://files.pythonhosted.org/packages/e0/c2/494bed87536f3822872e57b07ac9afa744af88ff64dda664b9caa32b1a72/websockets-17.3-pp311-pypy311_pp80-win_amd64.whl", hash = "sha256:c4b3f2c7d84f303da873b634d0beef83b5e1137294c3de4e23102841da
  • Network accessline 1596
    { url = "https://files.pythonhosted.org/packages/5a/1a/5582103e0362f86c4725051ded89e585ceaf750f26beace530b7e42c81c0/websockets-17.3-pp312-pypy312_pp80-macosx_10_15_x86_64.whl", hash = "sha256:0e65260a1b1d7b81651f47343d836de70b88b02358ae3658
  • Network accessline 1597
    { url = "https://files.pythonhosted.org/packages/ef/a7/f69d65ed3ff9ae73d428a918300c23a992e4d50683090b8dc33cc3341d5a/websockets-17.3-pp312-pypy312_pp80-macosx_11_0_arm64.whl", hash = "sha256:94c02b0702656f083c098bdbd93bce22a7aa7a2b34ba56d247
  • Network accessline 1598
    { url = "https://files.pythonhosted.org/packages/69/76/c64fda4ac18a3aeb32e66acec481011a766add480b6362fad80e2c3c1963/websockets-17.3-pp312-pypy312_pp80-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ade76f8c84ade
  • Network accessline 1599
    { url = "https://files.pythonhosted.org/packages/6b/6d/085a3f0e6152bbe79917973f3d33cd008437de6c04675e2f15253b921f21/websockets-17.3-pp312-pypy312_pp80-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9a21574
  • Network accessline 1600
    { url = "https://files.pythonhosted.org/packages/ed/b8/7eb904583ea2090b329f50487e6f8dc58eb558712b9f3c16f289f0be668e/websockets-17.3-pp312-pypy312_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:
  • Network accessline 1601
    { url = "https://files.pythonhosted.org/packages/79/36/f54b4a1cd9456ca0a65a76d77d181621433793aca633dfeed214748ff4f0/websockets-17.3-pp312-pypy312_pp80-win_amd64.whl", hash = "sha256:13eace1b315345ebac5b27821f5dcce24e5cf9976ab18f79e00a59bdd6
  • Network accessline 1602
    { url = "https://files.pythonhosted.org/packages/d7/b0/3f01fcb3406662f6deb1e3e72b34dd0979e993991c0b7435a9e12bc14f02/websockets-17.3-py3-none-any.whl", hash = "sha256:dc2b495a92b3971966bf102e73589f950db3ec1ca6713265355ce7771d97b199", size = 
  • Network accessline 1606
    name = "youtube-transcript-api" version = "1.2.4" source = { registry = "https://pypi.org/simple" }
  • Network accessline 1607
    version = "1.2.4" source = { registry = "https://pypi.org/simple" } dependencies = [
  • Network accessline 1608
    source = { registry = "https://pypi.org/simple" }
  • Network accessline 1611
    { name = "requests" }, ] sdist = { url = "https://files.pythonhosted.org/packages/60/43/4104185a2eaa839daa693b30e15c37e7e58795e8e09ec414f22b3db54bec/youtube_transcript_api-1.2.4.tar.gz", hash = "sha256:b72d0e96a335df599d67cee51d49e143cff4f4
  • Network accessline 1612
    ] sdist = { url = "https://files.pythonhosted.org/packages/60/43/4104185a2eaa839daa693b30e15c37e7e58795e8e09ec414f22b3db54bec/youtube_transcript_api-1.2.4.tar.gz", hash = "sha256:b72d0e96a335df599d67cee51d49e143cff4f45b84bcafc202ff51291603d
  • Network accessline 1613
    sdist = { url = "https://files.pythonhosted.org/packages/60/43/4104185a2eaa839daa693b30e15c37e7e58795e8e09ec414f22b3db54bec/youtube_transcript_api-1.2.4.tar.gz", hash = "sha256:b72d0e96a335df599d67cee51d49e143cff4f45b84bcafc202ff51291603ddc
  • Network accessline 1614
    wheels = [     { url = "https://files.pythonhosted.org/packages/be/95/129ea37efd6cd6ed00f62baae6543345c677810b8a3bf0026756e1d3cf3c/youtube_transcript_api-1.2.4-py3-none-any.whl", hash = "sha256:03878759356da5caf5edac77431780b91448fb3d8c21d4
  • Network accessline 1615
    { url = "https://files.pythonhosted.org/packages/be/95/129ea37efd6cd6ed00f62baae6543345c677810b8a3bf0026756e1d3cf3c/youtube_transcript_api-1.2.4-py3-none-any.whl", hash = "sha256:03878759356da5caf5edac77431780b91448fb3d8c21d4496015bdc8a7bc4

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.

Combined signals: 1 fact
  • Passes content downloaded from raw.githubusercontent.com to an interpreterSKILL.md:75High confidence
Declared and executed: 2 facts
Signal confidence: 497 facts
  • Network access in prose of documentationAI-FIRST.md:3Low confidence
  • Network access in code of documentationAI-FIRST.md:77Low confidence
  • Network access in code of documentationAI-FIRST.md:78Low confidence
  • Network access in prose of documentationAI-FIRST.md:103Low confidence
  • Network access in prose of documentationAI-FIRST.md:104Low confidence
  • Network access in prose of documentationAI-FIRST.md:105Low confidence
  • Network access in prose of documentationCHANGELOG.md:5Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:11Low confidence
  • Network access in prose of documentationCHANGELOG.md:21Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:113Low confidence
  • Network access in prose of documentationCHANGELOG.md:119Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:159Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:217Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:221Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:225Low confidence
  • Dangerous shell operation in prose of documentationCHANGELOG.md:229Low confidence
  • Network access in prose of documentationCHANGELOG.md:229Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:233Low confidence
  • Network access in prose of documentationCHANGELOG.md:255Low confidence
  • Network access in prose of documentationCHANGELOG.md:289Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:305Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:333Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:377Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:380Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:382Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:424Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:456Low confidence
  • Network access in prose of documentationCHANGELOG.md:516Low confidence
  • Network access in prose of documentationCHANGELOG.md:522Low confidence
  • Network access in prose of documentationCHANGELOG.md:528Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:530Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:531Low confidence
  • Network access in prose of documentationCHANGELOG.md:534Low confidence
  • Network access in prose of documentationCHANGELOG.md:535Low confidence
  • Network access in prose of documentationCHANGELOG.md:536Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:538Low confidence
  • Network access in prose of documentationCHANGELOG.md:556Low confidence
  • Network access in prose of documentationCHANGELOG.md:557Low confidence
  • Network access in prose of documentationCHANGELOG.md:558Low confidence
  • Instruction override signal in prose of documentationCHANGELOG.md:582Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:589Low confidence
  • Network access in prose of documentationCHANGELOG.md:606Low confidence
  • Dangerous shell operation in prose of documentationCHANGELOG.md:608Low confidence
  • Network access in prose of documentationCHANGELOG.md:608Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:612Low confidence
  • Dangerous shell operation in prose of documentationCHANGELOG.md:623Low confidence
  • Network access in prose of documentationCHANGELOG.md:623Low confidence
  • Network access in prose of documentationCHANGELOG.md:634Low confidence
  • Access to secrets in prose of documentation: a variable, placeholder or call, not a stored valueCHANGELOG.md:634Low confidence
  • Network access in prose of documentationCHANGELOG.md:725Low confidence

and 447 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.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.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

eugeniughelbur/obsidian-second-brain: #280 on hotskills, 5.2k stars

[![eugeniughelbur/obsidian-second-brain on hotskills](https://hotskills.dev/badge/eugeniughelbur-obsidian-second-brain.svg)](https://hotskills.dev/skill/eugeniughelbur-obsidian-second-brain/)