#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
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.
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>/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
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 tokensAlways available to the agent
SKILL.md
21,382 tokensWhen the skill is activated
Reference documents
217,469 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Quick Start
- Core Operating Principles
- Write Rules
- The `_CLAUDE.md` File
- Common Operations
- Commands
- Thinking Tools
- Context Engine
- Research Commands
- Scheduled Agents
- Background Agent (PostCompact Hook)
- Write-Time AI-First Validator (PostToolUse Hook)
- Per-Project Vaults (multi-repo workflows)
- Reference Files
- Scripts
Scripts executed separately
adapters/agent-skills/adapter.shadapters/claude-code/adapter.shadapters/codex-cli/adapter.shadapters/gemini-cli/adapter.shadapters/grok-bot/adapter.shadapters/hermes/adapter.shadapters/lib.shadapters/opencode/adapter.shadapters/pi/adapter.shhooks/load_vault_context.pyhooks/load_vault_context.shhooks/obsidian-bg-agent.shhooks/obsidian-hermes-session-end.shhooks/obsidian-recall.pyhooks/validate-ai-first.shinstall.shintegrations/obsidian-mcp-server/live_test.pyintegrations/obsidian-mcp-server/server.pyintegrations/obsidian-mcp-server/vault_ops.pyintegrations/obsidian-plugin/esbuild.config.mjsintegrations/obsidian-plugin/package.jsonintegrations/obsidian-plugin/src/lint.tsintegrations/obsidian-plugin/src/main.tsintegrations/obsidian-plugin/test/lint.test.mjsintegrations/telegram-journal/setup.shintegrations/telegram-journal/telegram_journal.pyscripts/architect_scan.pyscripts/bootstrap_vault.pyscripts/build.shscripts/build_site.pyscripts/check_notes.pyscripts/checkin.pyscripts/conformance_report.pyscripts/crew.pyscripts/document_to_pdf.pyscripts/eval/behavior_eval.pyscripts/eval/corpus.pyscripts/eval/diagnose.pyscripts/eval/retrieval_eval.pyscripts/eval/semantic_search.pyscripts/export_okf.pyscripts/freshness_lint.pyscripts/heal_links.pyscripts/ingest_batch.pyscripts/install-codex-wrappers.shscripts/lib.shscripts/link_graph.pyscripts/merge_notes.pyscripts/migrate_log.pyscripts/mine_commit_decisions.pyscripts/note_io.pyscripts/osb_env.pyscripts/platform-home.shscripts/python-interpreter.shscripts/quick-install.shscripts/research/__init__.pyscripts/research/lib/__init__.pyscripts/research/lib/aggregator.pyscripts/research/lib/cache.pyscripts/research/lib/config.pyscripts/research/lib/gemini.pyscripts/research/lib/gpt.pyscripts/research/lib/grok.pyscripts/research/lib/groq.pyscripts/research/lib/http.pyscripts/research/lib/perplexity.pyscripts/research/lib/podcast.pyscripts/research/lib/result.pyscripts/research/lib/source_config.pyscripts/research/lib/sources/__init__.pyscripts/research/lib/sources/arxiv.pyscripts/research/lib/sources/brave.pyscripts/research/lib/sources/crossref.pyscripts/research/lib/sources/devto.pyscripts/research/lib/sources/duckduckgo.pyscripts/research/lib/sources/hackernews.pyscripts/research/lib/sources/lobsters.pyscripts/research/lib/sources/openalex.pyscripts/research/lib/sources/reddit.pyscripts/research/lib/sources/semantic_scholar.pyscripts/research/lib/sources/tavily.pyscripts/research/lib/sources/wikipedia.pyscripts/research/lib/usage.pyscripts/research/lib/vault.pyscripts/research/lib/vault_terms.pyscripts/research/lib/video_frames.pyscripts/research/lib/web_reader.pyscripts/research/lib/youtube.pyscripts/research/notebooklm.pyscripts/research/podcast_extract.pyscripts/research/research.pyscripts/research/research_deep.pyscripts/research/x_pulse.pyscripts/research/x_read.pyscripts/research/youtube_extract.pyscripts/run-command.shscripts/session_archive.pyscripts/setup.shscripts/setup_settings_hook.pyscripts/star_prompt.pyscripts/sweep_non_ascii.pyscripts/triage_links.pyscripts/update-vault-integration.shscripts/vault_health.pyscripts/vault_plugin_scan.pyscripts/vault_scan.pyscripts/vault_search.pyscripts/vault_stats.pyscripts/verify_quotes.pytests/_bash.pytests/conftest.pytests/test_adapter_frontmatter_robustness.pytests/test_ai_first_spec.pytests/test_bash_pinned.pytests/test_behavior_eval.pytests/test_benchmark_corpus.pytests/test_bg_agent_hook.pytests/test_bom_frontmatter.pytests/test_bootstrap_style.pytests/test_bootstrap_unit.pytests/test_build_conformance.pytests/test_build_site.pytests/test_checkin.pytests/test_concurrent_writes.pytests/test_config_int_knobs.pytests/test_crew.pytests/test_dispatcher_prose.pytests/test_doc_command_names.pytests/test_doc_roster.pytests/test_document_to_pdf.pytests/test_eval_diagnose.pytests/test_eval_ruler.pytests/test_exclude_policy.pytests/test_export_and_alias_fidelity.pytests/test_export_okf.pytests/test_first_brain.pytests/test_folder_map_compliance.pytests/test_freshness.pytests/test_freshness_lint.pytests/test_front_door.pytests/test_frontmatter_parity.pytests/test_groq.pytests/test_heal_precision.pytests/test_hermes_session_hook.pytests/test_index_robustness.pytests/test_index_staleness.pytests/test_ingest_batch.pytests/test_install_portability.pytests/test_link_graph_mirror.pytests/test_mcp_bookkeeping.pytests/test_mcp_codex_parity.pytests/test_mcp_fresh_vault_health.pytests/test_mcp_vault_ops_safety.pytests/test_merge_notes.pytests/test_migrate_log.pytests/test_mine_commit_decisions_encoding.pytests/test_multilingual_model.pytests/test_no_autoopen_in_tests.pytests/test_no_banned_chars_in_instructions.pytests/test_no_vault_content_in_eval_docs.pytests/test_note_safety.pytests/test_osb_env.pytests/test_p1_p2_fixes.pytests/test_perplexity_empty_completion.pytests/test_platform_home.pytests/test_platform_owners.pytests/test_plugin_manifest.pytests/test_podcast_resolution.pytests/test_podcast_transcript_schema.pytests/test_python_interpreter.pytests/test_query_aware_default.pytests/test_ranking_quality.pytests/test_research_cjk_and_models.pytests/test_research_deep_fallback.pytests/test_research_sources.pytests/test_scan_cache.pytests/test_schema_coverage.pytests/test_script_correctness.pytests/test_search_cap.pytests/test_session_archive.pytests/test_session_context_cap.pytests/test_setup_and_manual_drift.pytests/test_setup_settings_hook.pytests/test_showroom.pytests/test_smoke.pytests/test_source_payload.pytests/test_source_quality.pytests/test_source_quality_unlabelled.pytests/test_star_prompt.pytests/test_symlink_resilience.pytests/test_taxonomy_audit.pytests/test_telegram_ingest.pytests/test_trigger_precedence.pytests/test_untrusted_source_handling.pytests/test_user_excludes.pytests/test_validate_hook_cjk.pytests/test_validate_hook_vault_scope.pytests/test_validate_hook_wikilinks.pytests/test_vault_health_precision.pytests/test_vault_health_unicode.pytests/test_vault_plugin_scan.pytests/test_vault_search_cli.pytests/test_vault_stats.pytests/test_vector_math.pytests/test_verify_quotes.pytests/test_windows_compat.pytests/test_youtube_error_redaction.pyupdate.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 bytesAI-FIRST.mddoc5,067 bytesCHANGELOG.mddoc307,850 bytesCITATION.cffasset1,942 bytesCLAUDE.mddoc7,762 bytesCODE_OF_CONDUCT.mddoc5,474 bytesCONTRIBUTING.mddoc11,232 bytesDEMOS.mddoc3,814 bytesECOSYSTEM.mddoc3,371 bytesFORK_INSIGHTS.mddoc24,277 bytesLICENSEasset1,072 bytesREADME.mddoc83,911 bytesSECURITY.mddoc2,259 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytesSKILL.mdcore90,569 bytes_config.ymlasset1,194 bytes_includes/head_custom.htmlasset8,934 bytesadapters/OWNERS.mddoc3,639 bytesadapters/agent-skills/adapter.shruns14,989 bytesadapters/claude-code/adapter.shruns2,132 bytesadapters/codex-cli/adapter.shruns8,292 bytesadapters/gemini-cli/adapter.shruns3,174 bytesadapters/grok-bot/adapter.shruns16,142 bytesadapters/hermes/adapter.shruns20,056 bytesadapters/lib.shruns20,735 bytesadapters/opencode/adapter.shruns4,370 bytesadapters/pi/adapter.shruns6,962 bytesarchitecture.mddoc14,799 bytescommands/create-command.mddoc8,972 bytescommands/crew.mddoc4,771 bytescommands/idea-discovery.mddoc3,502 bytescommands/notebooklm.mddoc4,660 bytescommands/obsidian-architect.mddoc5,994 bytescommands/obsidian-board-hygiene.mddoc3,641 bytescommands/obsidian-board.mddoc2,486 bytescommands/obsidian-brainstorm.mddoc5,604 bytescommands/obsidian-calendar.mddoc15,520 bytescommands/obsidian-capture.mddoc2,704 bytescommands/obsidian-catchup.mddoc5,140 bytescommands/obsidian-challenge.mddoc3,539 bytescommands/obsidian-checkin.mddoc7,780 bytescommands/obsidian-connect.mddoc3,483 bytescommands/obsidian-daily.mddoc3,789 bytescommands/obsidian-decide.mddoc5,014 bytescommands/obsidian-distill.mddoc6,811 bytescommands/obsidian-emerge.mddoc3,862 bytescommands/obsidian-export.mddoc4,849 bytescommands/obsidian-find.mddoc2,779 bytescommands/obsidian-graduate.mddoc3,935 bytescommands/obsidian-health.mddoc11,172 bytescommands/obsidian-ingest.mddoc26,209 bytescommands/obsidian-init.mddoc9,554 bytescommands/obsidian-learn.mddoc5,030 bytescommands/obsidian-log.mddoc2,582 bytescommands/obsidian-merge.mddoc6,875 bytescommands/obsidian-panel.mddoc3,556 bytescommands/obsidian-person.mddoc2,617 bytescommands/obsidian-project.mddoc2,814 bytescommands/obsidian-projects.mddoc5,345 bytescommands/obsidian-recap.mddoc3,090 bytescommands/obsidian-reconcile.mddoc6,185 bytescommands/obsidian-recurring.mddoc3,116 bytescommands/obsidian-reindex.mddoc3,263 bytescommands/obsidian-retrieval-eval.mddoc5,297 bytescommands/obsidian-review.mddoc2,935 bytescommands/obsidian-save.mddoc5,033 bytescommands/obsidian-synthesize.mddoc4,246 bytescommands/obsidian-task.mddoc2,392 bytescommands/obsidian-visualize.mddoc6,700 bytescommands/obsidian-world.mddoc5,016 bytescommands/podcast.mddoc5,909 bytescommands/research-deep.mddoc7,947 bytescommands/research.mddoc4,759 bytescommands/vault-deep-synthesis.mddoc3,718 bytescommands/x-pulse.mddoc3,296 bytescommands/x-read.mddoc3,541 bytescommands/youtube.mddoc5,952 bytesdocs/.nojekyllasset0 bytesdocs/commands/create-command.htmlasset3,761 bytesdocs/commands/crew.htmlasset3,451 bytesdocs/commands/idea-discovery.htmlasset4,053 bytesdocs/commands/notebooklm.htmlasset4,158 bytesdocs/commands/obsidian-architect.htmlasset4,388 bytesdocs/commands/obsidian-board-hygiene.htmlasset4,018 bytesdocs/commands/obsidian-board.htmlasset3,715 bytesdocs/commands/obsidian-brainstorm.htmlasset4,131 bytesdocs/commands/obsidian-calendar.htmlasset5,919 bytesdocs/commands/obsidian-capture.htmlasset3,745 bytesdocs/commands/obsidian-catchup.htmlasset4,830 bytesdocs/commands/obsidian-challenge.htmlasset3,988 bytesdocs/commands/obsidian-checkin.htmlasset4,027 bytesdocs/commands/obsidian-connect.htmlasset3,943 bytesdocs/commands/obsidian-daily.htmlasset3,819 bytesdocs/commands/obsidian-decide.htmlasset4,154 bytesdocs/commands/obsidian-distill.htmlasset4,128 bytesdocs/commands/obsidian-emerge.htmlasset3,939 bytesdocs/commands/obsidian-export.htmlasset3,923 bytesdocs/commands/obsidian-find.htmlasset3,754 bytesdocs/commands/obsidian-graduate.htmlasset3,879 bytesdocs/commands/obsidian-health.htmlasset3,805 bytesdocs/commands/obsidian-ingest.htmlasset3,919 bytesdocs/commands/obsidian-init.htmlasset3,826 bytesdocs/commands/obsidian-learn.htmlasset3,844 bytesdocs/commands/obsidian-log.htmlasset3,806 bytesdocs/commands/obsidian-merge.htmlasset3,885 bytesdocs/commands/obsidian-panel.htmlasset4,196 bytesdocs/commands/obsidian-person.htmlasset3,726 bytesdocs/commands/obsidian-project.htmlasset3,781 bytesdocs/commands/obsidian-projects.htmlasset3,831 bytesdocs/commands/obsidian-recap.htmlasset3,691 bytesdocs/commands/obsidian-reconcile.htmlasset3,819 bytesdocs/commands/obsidian-recurring.htmlasset4,011 bytesdocs/commands/obsidian-reindex.htmlasset3,894 bytesdocs/commands/obsidian-retrieval-eval.htmlasset4,229 bytesdocs/commands/obsidian-review.htmlasset3,699 bytesdocs/commands/obsidian-save.htmlasset3,714 bytesdocs/commands/obsidian-synthesize.htmlasset3,892 bytesdocs/commands/obsidian-task.htmlasset3,679 bytesdocs/commands/obsidian-visualize.htmlasset3,834 bytesdocs/commands/obsidian-world.htmlasset3,871 bytesdocs/commands/podcast.htmlasset3,871 bytesdocs/commands/research-deep.htmlasset4,090 bytesdocs/commands/research.htmlasset4,062 bytesdocs/commands/vault-deep-synthesis.htmlasset4,116 bytesdocs/commands/x-pulse.htmlasset3,812 bytesdocs/commands/x-read.htmlasset3,856 bytesdocs/commands/youtube.htmlasset4,339 bytesdocs/index.htmlasset46,288 bytesexamples/README.mddoc2,830 bytesexamples/sample-vault/Daily/2026-04-27.mddoc1,385 bytesexamples/sample-vault/Ideas/2026-04-27 — Streak insurance feature.mddoc2,311 bytesexamples/sample-vault/Projects/Tide.mddoc3,133 bytesexamples/sample-vault/_CLAUDE.mddoc2,724 bytesexamples/sample-vault/people/Alex Rivera.mddoc1,676 bytesexamples/sample-vault/people/Sam Patel.mddoc1,257 bytesexamples/sample-vault/wiki/entities/Currentscale Labs.mddoc1,056 bytesexamples/sample-vault/wiki/logs/2026-04-27 — Tide retention rebuild.mddoc2,667 byteshooks/hermes-hooks.config.example.yamlasset1,172 byteshooks/hooks.jsonasset835 byteshooks/load_vault_context.pyruns8,821 byteshooks/load_vault_context.shruns2,640 byteshooks/obsidian-bg-agent.hook.yamlasset805 byteshooks/obsidian-bg-agent.shruns12,474 byteshooks/obsidian-hermes-session-end.shruns6,791 byteshooks/obsidian-recall.pyruns5,860 byteshooks/postcompact.hook.example.jsonasset1,713 byteshooks/recall.hook.example.jsonasset1,188 byteshooks/validate-ai-first.hook.yamlasset532 byteshooks/validate-ai-first.shruns24,725 bytesinstall.shruns6,280 bytesintegrations/obsidian-mcp-server/README.mddoc7,574 bytesintegrations/obsidian-mcp-server/live_test.pyruns2,704 bytesintegrations/obsidian-mcp-server/server.pyruns8,595 bytesintegrations/obsidian-mcp-server/vault_ops.pyruns75,490 bytesintegrations/obsidian-plugin/.gitignoreasset46 bytesintegrations/obsidian-plugin/README.mddoc2,018 bytesintegrations/obsidian-plugin/esbuild.config.mjsruns712 bytesintegrations/obsidian-plugin/manifest.jsonasset398 bytesintegrations/obsidian-plugin/package-lock.jsonasset18,265 bytesintegrations/obsidian-plugin/package.jsonruns600 bytesintegrations/obsidian-plugin/src/lint.tsruns6,187 bytesintegrations/obsidian-plugin/src/main.tsruns7,113 bytesintegrations/obsidian-plugin/styles.cssasset1,038 bytesintegrations/obsidian-plugin/test/lint.test.mjsruns7,636 bytesintegrations/obsidian-plugin/tsconfig.jsonasset400 bytesintegrations/obsidian-plugin/versions.jsonasset23 bytesintegrations/telegram-journal/.gitignoreasset181 bytesintegrations/telegram-journal/README.mddoc8,957 bytesintegrations/telegram-journal/com.user.telegram-journal.plist.exampleasset1,469 bytesintegrations/telegram-journal/setup.shruns3,859 bytesintegrations/telegram-journal/telegram_journal.env.exampleasset2,309 bytesintegrations/telegram-journal/telegram_journal.pyruns29,544 bytesllms.txtdoc25,411 bytesmedia/banner.pngasset2,186,832 bytesmedia/bootstrap-health.gifasset377,604 bytesmedia/bootstrap-health.tapeasset468 bytesmedia/crew-demo.gifasset128,607 bytesmedia/obsidian-save.gifasset681,774 bytesmedia/obsidian-save.tapeasset709 bytesmedia/plugin-install.gifasset171,001 bytesmedia/plugin-install.tapeasset487 bytespyproject.tomlasset1,625 bytesreferences/DELTAS.template.mddoc2,426 bytesreferences/ai-first-rules.mddoc32,508 bytesreferences/bases/daily.base.templateasset320 bytesreferences/bases/people.base.templateasset592 bytesreferences/bases/projects.base.templateasset1,919 bytesreferences/bases/tasks.base.templateasset1,162 bytesreferences/claude-md-assistant-template.mddoc2,163 bytesreferences/claude-md-template.mddoc11,082 bytesreferences/crew.mddoc5,891 bytesreferences/folder-map.mddoc4,261 bytesreferences/freshness-policy.mddoc6,249 bytesreferences/pi-testing.mddoc1,683 bytesreferences/source-quality-check.mddoc5,239 bytesreferences/taxonomy-format.mddoc2,943 bytesreferences/vault-schema.mddoc13,726 bytesreferences/write-rules.mddoc8,646 bytesscripts/architect_scan.pyruns8,231 bytesscripts/bootstrap_vault.pyruns47,900 bytesscripts/build.shruns5,792 bytesscripts/build_site.pyruns11,235 bytesscripts/check_notes.pyruns5,979 bytesscripts/checkin.pyruns13,640 bytesscripts/conformance_report.pyruns7,781 bytesscripts/crew.pyruns26,862 bytesscripts/document_to_pdf.pyruns2,573 bytesscripts/eval/BASELINE.mddoc11,684 bytesscripts/eval/BENCHMARK.mddoc5,967 bytesscripts/eval/README.mddoc6,083 bytesscripts/eval/behavior_cases.example.jsonlasset1,024 bytesscripts/eval/behavior_eval.pyruns20,602 bytesscripts/eval/corpus.pyruns34,146 bytesscripts/eval/diagnose.pyruns6,080 bytesscripts/eval/retrieval_cases.example.jsonlasset543 bytesscripts/eval/retrieval_eval.pyruns19,888 bytesscripts/eval/semantic_search.pyruns22,022 bytesscripts/export_okf.pyruns19,205 bytesscripts/freshness_lint.pyruns19,478 bytesscripts/heal_links.pyruns15,234 bytesscripts/ingest_batch.pyruns13,461 bytesscripts/install-codex-wrappers.shruns840 bytesscripts/lib.shruns1,001 bytesscripts/link_graph.pyruns18,357 bytesscripts/merge_notes.pyruns16,592 bytesscripts/migrate_log.pyruns6,700 bytesscripts/mine_commit_decisions.pyruns4,638 bytesscripts/note_io.pyruns5,916 bytesscripts/osb_env.pyruns4,431 bytesscripts/platform-home.shruns2,523 bytesscripts/python-interpreter.shruns2,129 bytesscripts/quick-install.shruns2,661 bytesscripts/research/__init__.pyruns0 bytesscripts/research/lib/__init__.pyruns0 bytesscripts/research/lib/aggregator.pyruns2,876 bytesscripts/research/lib/cache.pyruns2,423 bytesscripts/research/lib/config.pyruns2,817 bytesscripts/research/lib/gemini.pyruns6,229 bytesscripts/research/lib/gpt.pyruns3,980 bytesscripts/research/lib/grok.pyruns4,397 bytesscripts/research/lib/groq.pyruns13,952 bytesscripts/research/lib/http.pyruns1,871 bytesscripts/research/lib/perplexity.pyruns4,541 bytesscripts/research/lib/podcast.pyruns18,855 bytesscripts/research/lib/result.pyruns1,055 bytesscripts/research/lib/source_config.pyruns3,505 bytesscripts/research/lib/sources/__init__.pyruns0 bytesscripts/research/lib/sources/arxiv.pyruns2,473 bytesscripts/research/lib/sources/brave.pyruns2,025 bytesscripts/research/lib/sources/crossref.pyruns1,990 bytesscripts/research/lib/sources/devto.pyruns1,837 bytesscripts/research/lib/sources/duckduckgo.pyruns3,750 bytesscripts/research/lib/sources/hackernews.pyruns1,622 bytesscripts/research/lib/sources/lobsters.pyruns1,776 bytesscripts/research/lib/sources/openalex.pyruns2,227 bytesscripts/research/lib/sources/reddit.pyruns1,800 bytesscripts/research/lib/sources/semantic_scholar.pyruns1,950 bytesscripts/research/lib/sources/tavily.pyruns1,846 bytesscripts/research/lib/sources/wikipedia.pyruns2,203 bytesscripts/research/lib/usage.pyruns3,626 bytesscripts/research/lib/vault.pyruns8,025 bytesscripts/research/lib/vault_terms.pyruns1,154 bytesscripts/research/lib/video_frames.pyruns11,067 bytesscripts/research/lib/web_reader.pyruns3,541 bytesscripts/research/lib/youtube.pyruns6,430 bytesscripts/research/notebooklm.pyruns11,367 bytesscripts/research/podcast_extract.pyruns11,784 bytesscripts/research/research.pyruns7,638 bytesscripts/research/research_deep.pyruns21,738 bytesscripts/research/x_pulse.pyruns4,208 bytesscripts/research/x_read.pyruns2,976 bytesscripts/research/youtube_extract.pyruns13,636 bytesscripts/run-command.shruns3,366 bytesscripts/session_archive.pyruns15,592 bytesscripts/setup.shruns10,659 bytesscripts/setup_settings_hook.pyruns3,664 bytesscripts/star_prompt.pyruns3,388 bytesscripts/sweep_non_ascii.pyruns7,913 bytesscripts/triage_links.pyruns8,454 bytesscripts/update-vault-integration.shruns7,488 bytesscripts/vault_health.pyruns70,631 bytesscripts/vault_plugin_scan.pyruns10,702 bytesscripts/vault_scan.pyruns6,288 bytesscripts/vault_search.pyruns1,394 bytesscripts/vault_stats.pyruns11,509 bytesscripts/verify_quotes.pyruns4,651 bytestests/_bash.pyruns893 bytestests/conftest.pyruns507 bytestests/test_adapter_frontmatter_robustness.pyruns4,421 bytestests/test_ai_first_spec.pyruns5,343 bytestests/test_bash_pinned.pyruns4,485 bytestests/test_behavior_eval.pyruns19,456 bytestests/test_benchmark_corpus.pyruns6,568 bytestests/test_bg_agent_hook.pyruns12,332 bytestests/test_bom_frontmatter.pyruns3,945 bytestests/test_bootstrap_style.pyruns8,625 bytestests/test_bootstrap_unit.pyruns4,477 bytestests/test_build_conformance.pyruns13,776 bytestests/test_build_site.pyruns5,148 bytestests/test_checkin.pyruns7,487 bytestests/test_concurrent_writes.pyruns8,097 bytestests/test_config_int_knobs.pyruns1,057 bytestests/test_crew.pyruns22,380 bytestests/test_dispatcher_prose.pyruns6,645 bytestests/test_doc_command_names.pyruns3,904 bytestests/test_doc_roster.pyruns1,218 bytestests/test_document_to_pdf.pyruns3,212 bytestests/test_eval_diagnose.pyruns6,452 bytestests/test_eval_ruler.pyruns5,921 bytestests/test_exclude_policy.pyruns4,898 bytestests/test_export_and_alias_fidelity.pyruns4,009 bytestests/test_export_okf.pyruns8,374 bytestests/test_first_brain.pyruns4,904 bytestests/test_folder_map_compliance.pyruns2,744 bytestests/test_freshness.pyruns3,619 bytestests/test_freshness_lint.pyruns14,354 bytestests/test_front_door.pyruns3,298 bytestests/test_frontmatter_parity.pyruns7,745 bytestests/test_groq.pyruns19,510 bytestests/test_heal_precision.pyruns4,821 bytestests/test_hermes_session_hook.pyruns4,384 bytestests/test_index_robustness.pyruns5,216 bytestests/test_index_staleness.pyruns11,881 bytestests/test_ingest_batch.pyruns13,795 bytestests/test_install_portability.pyruns2,846 bytestests/test_link_graph_mirror.pyruns5,582 bytestests/test_mcp_bookkeeping.pyruns7,533 bytestests/test_mcp_codex_parity.pyruns15,950 bytestests/test_mcp_fresh_vault_health.pyruns2,260 bytestests/test_mcp_vault_ops_safety.pyruns6,005 bytestests/test_merge_notes.pyruns17,939 bytestests/test_migrate_log.pyruns3,306 bytestests/test_mine_commit_decisions_encoding.pyruns4,400 bytestests/test_multilingual_model.pyruns2,814 bytestests/test_no_autoopen_in_tests.pyruns2,332 bytestests/test_no_banned_chars_in_instructions.pyruns2,054 bytestests/test_no_vault_content_in_eval_docs.pyruns3,092 bytestests/test_note_safety.pyruns9,188 bytestests/test_osb_env.pyruns12,853 bytestests/test_p1_p2_fixes.pyruns6,367 bytestests/test_perplexity_empty_completion.pyruns5,227 bytestests/test_platform_home.pyruns3,097 bytestests/test_platform_owners.pyruns5,551 bytestests/test_plugin_manifest.pyruns11,148 bytestests/test_podcast_resolution.pyruns11,848 bytestests/test_podcast_transcript_schema.pyruns2,118 bytestests/test_python_interpreter.pyruns14,838 bytestests/test_query_aware_default.pyruns4,150 bytestests/test_ranking_quality.pyruns7,448 bytestests/test_research_cjk_and_models.pyruns17,642 bytestests/test_research_deep_fallback.pyruns2,340 bytestests/test_research_sources.pyruns16,490 bytestests/test_scan_cache.pyruns4,391 bytestests/test_schema_coverage.pyruns3,030 bytestests/test_script_correctness.pyruns6,344 bytestests/test_search_cap.pyruns2,334 bytestests/test_session_archive.pyruns8,242 bytestests/test_session_context_cap.pyruns7,777 bytestests/test_setup_and_manual_drift.pyruns9,965 bytestests/test_setup_settings_hook.pyruns3,371 bytestests/test_showroom.pyruns6,628 bytestests/test_smoke.pyruns74,847 bytestests/test_source_payload.pyruns7,898 bytestests/test_source_quality.pyruns6,721 bytestests/test_source_quality_unlabelled.pyruns4,786 bytestests/test_star_prompt.pyruns5,145 bytestests/test_symlink_resilience.pyruns2,794 bytestests/test_taxonomy_audit.pyruns3,088 bytestests/test_telegram_ingest.pyruns6,846 bytestests/test_trigger_precedence.pyruns3,939 bytestests/test_untrusted_source_handling.pyruns14,743 bytestests/test_user_excludes.pyruns5,496 bytestests/test_validate_hook_cjk.pyruns6,798 bytestests/test_validate_hook_vault_scope.pyruns3,190 bytestests/test_validate_hook_wikilinks.pyruns3,712 bytestests/test_vault_health_precision.pyruns22,519 bytestests/test_vault_health_unicode.pyruns3,690 bytestests/test_vault_plugin_scan.pyruns14,650 bytestests/test_vault_search_cli.pyruns3,208 bytestests/test_vault_stats.pyruns5,208 bytestests/test_vector_math.pyruns2,116 bytestests/test_verify_quotes.pyruns4,914 bytestests/test_windows_compat.pyruns18,986 bytestests/test_youtube_error_redaction.pyruns2,702 bytesupdate.shruns1,118 bytesuv.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 GitHubSkills 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
- #270 on Oct 29
- #271 from Oct 30 to Nov 2
- #273 from Nov 3 to Nov 4
- #277 on Nov 5
- #278 on Nov 6
- #280 since Nov 7
66 earlier periods
- #231 on Aug 2
- #229 on Aug 8
- #228 on Aug 9
- #235 on Aug 10
- #233 on Aug 11
- #230 on Aug 12
- #232 from Aug 13 to Aug 14
- #231 on Aug 15
- #230 from Aug 16 to Aug 17
- #236 on Aug 18
- #234 from Aug 19 to Aug 20
- #235 on Aug 21
- #232 on Aug 22
- #238 on Aug 23
- #237 on Aug 24
- #238 from Aug 25 to Aug 26
- #239 on Aug 27
- #237 from Aug 28 to Aug 29
- #235 from Aug 30 to Aug 31
- #240 on Sep 1
- #235 on Sep 2
- #242 on Sep 3
- #237 on Sep 4
- #240 on Sep 5
- #237 on Sep 6
- #239 on Sep 7
- #240 on Sep 8
- #242 on Sep 9
- #240 on Sep 10
- #241 from Sep 11 to Sep 12
- #244 on Sep 13
- #245 on Sep 14
- #246 on Sep 15
- #244 on Sep 16
- #243 on Sep 17
- #246 on Sep 18
- #242 on Sep 19
- #248 from Sep 20 to Sep 21
- #247 from Sep 22 to Sep 23
- #248 on Sep 24
- #246 from Sep 25 to Sep 26
- #245 on Sep 27
- #248 on Sep 28
- #247 on Sep 29
- #245 on Sep 30
- #247 on Oct 1
- #249 on Oct 2
- #245 on Oct 3
- #243 on Oct 4
- #246 on Oct 5
- #247 on Oct 6
- #250 on Oct 7
- #251 on Oct 8
- #254 on Oct 9
- #250 on Oct 10
- #254 on Oct 11
- #257 on Oct 12
- #259 on Oct 13
- #257 from Oct 14 to Oct 15
- #256 on Oct 16
- #259 from Oct 17 to Oct 18
- #260 from Oct 19 to Oct 20
- #262 from Oct 21 to Oct 22
- #261 on Oct 23
- #263 from Oct 24 to Oct 25
- #263 on Oct 28
Before you install
Network or broad shellAutomated 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:504Analysis incomplete: physical or joined line exceeds character limitCHANGELOG.md:528Analysis incomplete: physical or joined line exceeds character limitCHANGELOG.md:534Analysis incomplete: physical or joined line exceeds character limitCHANGELOG.md:535Analysis incomplete: physical or joined line exceeds character limitCHANGELOG.md:536Analysis incomplete: physical or joined line exceeds character limitCHANGELOG.md:540Analysis incomplete: physical or joined line exceeds character limitCHANGELOG.md:541Analysis incomplete: physical or joined line exceeds character limitSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 32 dangerous shell commandsin 20 files: hooks/obsidian-hermes-session-end.sh:93 CHANGELOG.md:229 scripts/build.sh:75 and 17 more
- 2,400 network referencesin 148 files: uv.lock:11 integrations/obsidian-plugin/package-lock.json:17 README.md:1 and 145 more
- 9 obfuscation signalsin 8 files: tests/test_note_safety.py:138 scripts/checkin.py:53 scripts/vault_scan.py:135 and 5 more
- 24 instruction override signalsin 7 files: SKILL.md:1235 hooks/obsidian-bg-agent.sh:7 hooks/obsidian-bg-agent.hook.yaml:4 and 4 more
- 208 executable scriptsin 208 files: adapters/agent-skills/adapter.sh:1 adapters/claude-code/adapter.sh:1 adapters/codex-cli/adapter.sh:1 and 205 more
- 373 references to secretsin 88 files: integrations/obsidian-mcp-server/vault_ops.py:109 tests/test_smoke.py:665 CHANGELOG.md:11 and 85 more
- No requests to vote in Hot
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
.github/workflows/scorecard.yml
.gitignore
- Access to secretsline 9
[Credential-related source omitted]
AI-FIRST.md
- Network accessline 3
**Version 1.0** · 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> · <a href="#the-vault-is-alive">OKM</a> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain/discussions">Discussions</a> - Network accessline 78
<a href="#the-vault-is-alive">OKM</a> · <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 →</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> · <a href="https://theaioperator.io">The AI Operator →</a> - Network accessline 199
<strong>From the blog</strong> · <a href="https://theaioperator.io">The AI Operator →</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> · AI Automation Engineer @ Single Grain<br /> - Network accessline 233
Built by <a href="https://github.com/eugeniughelbur"><strong>Eugeniu Ghelbur</strong></a> · 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
[](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
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
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
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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 74
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 88
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 88
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 87
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 86
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 140
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 101
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 84
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 94
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 88
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 84
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 84
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 79
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 87
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 87
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 87
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 83
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 82
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 91
<a href="../index.html">All commands</a> · <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> · <a href="https://github.com/eugeniughelbur/obsidian-second-brain">Source on GitHub</a> - Network accessline 109
<a href="index.html">All commands</a> · <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
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
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
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
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
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
scripts/check_notes.py
scripts/checkin.py
scripts/conformance_report.py
- Executable scriptline 1
#!/usr/bin/env python3
scripts/crew.py
scripts/document_to_pdf.py
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
scripts/eval/behavior_eval.py
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
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
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
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
scripts/research/lib/sources/brave.py
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
scripts/research/lib/sources/duckduckgo.py
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
scripts/research/lib/sources/openalex.py
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
scripts/research/lib/sources/wikipedia.py
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
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
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
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
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
scripts/vault_search.py
- Executable scriptline 1
Executable file
scripts/vault_stats.py
scripts/verify_quotes.py
- Executable scriptline 1
#!/usr/bin/env python3
tests/_bash.py
- Executable scriptline 1
Executable file
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
- 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
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
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
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" "\n" - Network accessline 329
"# Onto\n\nThe class is declared as owl:Class with rdfs:label and skos:broader links.\n" "\n" "Tracked in linear:ABC-123 as well.\n") - Network accessline 330
"\n"
tests/test_front_door.py
- Executable scriptline 1
Executable file
tests/test_frontmatter_parity.py
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
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
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
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
tests/test_multilingual_model.py
- Executable scriptline 1
Executable file
tests/test_no_autoopen_in_tests.py
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
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
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
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
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
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
tests/test_validate_hook_wikilinks.py
tests/test_vault_health_precision.py
tests/test_vault_health_unicode.py
- Executable scriptline 1
Executable file
tests/test_vault_plugin_scan.py
tests/test_vault_search_cli.py
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
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
- Contacts api.telegram.org, which SKILL.md, the README and the plugin manifest do not mentionintegrations/telegram-journal/telegram_journal.py:73High confidence
- Contacts api.anthropic.com, which SKILL.md, the README and the plugin manifest do not mentionintegrations/telegram-journal/telegram_journal.py:187High confidence
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 | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard 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.
[](https://hotskills.dev/skill/eugeniughelbur-obsidian-second-brain/)