Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/idank/explainshell
/ endpoints
Endpoints
100 in github.com/idank/explainshell
⨍
Functions
2,183
◇
Types & classes
195
↳
Endpoints
100
Route
explain_router
bp.route("/explain", defaults={"path": ""})
explainshell/web/views.py:None
Route
extract
click.option( "--small-only", "small_only", is_flag=True, default=False, help="Process onl
explainshell/manager.py:None
Route
favicon
app.route("/favicon.ico")
explainshell/web/__init__.py:None
Route
health
app.route("/health")
explainshell/web/__init__.py:None
Route
index
bp.route("/")
explainshell/web/views.py:None
Route
manpage
debug_bp.route("/manpage/<distro>/<release>/<path:rest>")
explainshell/web/views.py:None
Route
manpage_list
debug_bp.route("/manpage/<distro>/<release>/<section>/")
explainshell/web/views.py:None
Route
manpage_releases
debug_bp.route("/manpage/<distro>/")
explainshell/web/views.py:None
Route
manpage_sections
debug_bp.route("/manpage/<distro>/<release>/")
explainshell/web/views.py:None
Route
test_already_stored_no_overwrite
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_azure_requires_api_key
patch.dict("os.environ", {}, clear=True)
tests/extraction/llm/test_openai_provider.py:None
Route
test_azure_requires_base_url_or_endpoint
patch.dict("os.environ", {"AZURE_OPENAI_API_KEY": "azure-key"}, clear=True)
tests/extraction/llm/test_openai_provider.py:None
Route
test_batch2_failure_preserves_batch1_writes
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_both_skipped_yields_skipped_outcome
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_call_uses_azure_endpoint_configuration
patch.dict( "os.environ", { "AZURE_OPENAI_API_KEY": "azure-key", "AZUR
tests/extraction/llm/test_openai_provider.py:None
Route
test_cancel_api_failure_raises
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_cancel_wait_measured_from_cancel_time
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_cancel_wait_timeout_returns_batch
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_chunk0_invalid_raises_extraction_error
patch( "explainshell.extraction.common.roff_utils.detect_nested_cmd", return_value=False,
tests/extraction/llm/test_extractor.py:None
Route
test_classified_outcomes_recorded
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_completed_during_cancel_wait
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_cross_release_identical_files_not_deduped
patch("explainshell.extraction.common.gz_sha256", return_value="same-hash")
tests/test_manager.py:None
Route
test_cross_section_identical_files_not_deduped
patch("explainshell.extraction.common.gz_sha256", return_value="same-hash")
tests/test_manager.py:None
Route
test_db_seeded_dedup
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_db_writes_after_each_batch
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_debug_dir_writes_files
patch( "explainshell.extraction.common.roff_utils.detect_nested_cmd", return_value=False,
tests/extraction/llm/test_extractor.py:None
Route
test_dedup_scoped_by_release
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_diff_db_debug_threads_through
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_diff_db_success
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_diff_extractors_success
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_dry_run_classifies_without_extracting
patch("explainshell.extraction.common.gz_sha256", return_value="h")
tests/test_manager.py:None
Route
test_dry_run_reports_already_stored
patch("explainshell.extraction.common.gz_sha256", return_value="h")
tests/test_manager.py:None
Route
test_empty_output_raises
patch("explainshell.extraction.llm.text.subprocess.run")
tests/extraction/llm/test_text.py:None
Route
test_external_cancel_still_raises
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_extract_at_file_skips_blanks_and_comments
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_extract_expands_at_file
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_extract_invalid_chunk0_dumps_failed_response
patch("explainshell.extraction.llm.extractor.LLMExtractor.prepare")
tests/extraction/llm/test_extractor.py:None
Route
test_extract_mixed_plain_and_at_file
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_extract_returns_manpage
patch( "explainshell.extraction.common.roff_utils.detect_nested_cmd", return_value=False,
tests/extraction/llm/test_extractor.py:None
Route
test_factory_routes_azure_models_to_openai_provider
patch.dict( "os.environ", { "AZURE_OPENAI_API_KEY": "azure-key", "AZUR
tests/extraction/llm/test_openai_provider.py:None
Route
test_failed_takes_precedence_over_skipped
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_file_matching_db_hash_gets_mapped
patch("explainshell.extraction.common.gz_sha256", return_value="existing-hash")
tests/test_manager.py:None
Route
test_filter_db_lets_new_files_through
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_filter_db_llm_model_scope
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_filter_db_matches_extra_meta_keys
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_filter_db_repeatable_matches_any
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_filter_match_does_not_seed_dedup
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_filter_match_returns_work
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_filter_matches_any_of_multiple_specs
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_filter_matches_none_of_multiple_specs
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_filter_no_match_returns_filter_skip
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_filter_skip_does_not_seed_dedup
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_filter_skipped_row_doesnt_block_matching_sibling
patch("explainshell.extraction.common.gz_sha256", return_value="same-hash")
tests/test_manager.py:None
Route
test_filter_skipped_row_doesnt_block_new_sibling
patch("explainshell.extraction.common.gz_sha256", return_value="same-hash")
tests/test_manager.py:None
Route
test_filter_with_no_db_row_falls_through
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_finalize_normalizes_subcommands
patch( "explainshell.extraction.common.roff_utils.detect_nested_cmd", return_value=False,
tests/extraction/llm/test_extractor.py:None
Route
test_identical_files_deduped_in_same_run
patch("explainshell.extraction.common.gz_sha256")
tests/test_manager.py:None
Route
test_in_run_dedup
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_large_only_keeps_files_above_threshold
patch("explainshell.manager.os.path.getsize")
tests/test_manager.py:None
Route
test_large_only_passes_above_threshold
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_large_only_skips_at_threshold
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_llm_vs_llm_labels_include_model
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_long_validating_without_transition_triggers_stall
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_malformed_options_skipped
patch( "explainshell.extraction.common.roff_utils.detect_nested_cmd", return_value=False,
tests/extraction/llm/test_extractor.py:None
Route
test_multi_chunk_merges_options
patch( "explainshell.extraction.common.roff_utils.detect_nested_cmd", return_value=False,
tests/extraction/llm/test_extractor.py:None
Route
test_new_file_first_doesnt_block_matching_db_row
patch("explainshell.extraction.common.gz_sha256", return_value="same-hash")
tests/test_manager.py:None
Route
test_no_stall_completes_normally
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_non_retryable_error_fails_fast
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_nonzero_exit_raises
patch("explainshell.extraction.llm.text.subprocess.run")
tests/extraction/llm/test_text.py:None
Route
test_normal_run_writes_to_store
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_overwrite_bypasses_db_hash_dedup
patch("explainshell.extraction.common.gz_sha256", return_value="same-hash")
tests/test_manager.py:None
Route
test_overwrite_drops_db_seed
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_overwrite_skips_already_stored_branch
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_partial_failure_preserves_successful_stats
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_poll_error_backoff_capped
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_poll_errors_exhaust_budget_raises
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_poll_errors_reset_on_success
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_poll_errors_use_exponential_backoff
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_progress_does_not_extend_walltime
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_reason_gate_skipped_for_dry_run
patch("explainshell.util.collect_gz_files")
tests/test_manager.py:None
Route
test_reason_gate_skipped_under_threshold
patch("explainshell.util.collect_gz_files")
tests/test_manager.py:None
Route
test_reason_required_for_bulk_extraction
patch("explainshell.util.collect_gz_files")
tests/test_manager.py:None
Route
test_self_symlink_falls_through
patch("os.path.getsize", return_value=100)
tests/extraction/test_prefilter.py:None
Route
test_size_filter_recorded_in_report
patch("explainshell.manager.os.path.getsize")
tests/test_manager.py:None
Route
test_small_only_keeps_files_at_or_below_threshold
patch("explainshell.manager.os.path.getsize")
tests/test_manager.py:None
Route
test_small_only_passes_at_threshold
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_small_only_skips_large_file
patch("os.path.islink", return_value=False)
tests/extraction/test_prefilter.py:None
Route
test_stall_cancels_and_returns_partial
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_stop_event_during_error_backoff
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None
Route
test_submit_batch_uses_azure_deployment_name
patch.dict( "os.environ", { "AZURE_OPENAI_API_KEY": "azure-key", "AZUR
tests/extraction/llm/test_openai_provider.py:None
Route
test_success_returns_markdown
patch("explainshell.extraction.llm.text.subprocess.run")
tests/extraction/llm/test_text.py:None
Route
test_symlink_already_mapped_at_score_10
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_symlink_canonical_not_in_inputs
patch("os.path.realpath", side_effect=lambda p: "/x/u/26.04/1/canon.1.gz")
tests/extraction/test_prefilter.py:None
Route
test_symlink_cleans_up_stale_manpage
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_symlink_mapped_after_extraction
patch("explainshell.extraction.common.gz_sha256", side_effect=lambda p: p)
tests/test_manager.py:None
Route
test_symlink_skipped_when_canonical_missing
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_symlink_to_different_canonical
patch("os.path.realpath", side_effect=lambda p: "/x/u/26.04/1/canon.1.gz")
tests/extraction/test_prefilter.py:None
Route
test_symlink_upgrades_lexgrog_alias_score
patch("explainshell.manager.run")
tests/test_manager.py:None
Route
test_too_many_chunks_raises
patch("explainshell.extraction.llm.extractor.chunk_text")
tests/extraction/llm/test_extractor.py:None
Route
test_walltime_ignores_status_transitions
patch("explainshell.extraction.llm.providers.openai.time")
tests/extraction/llm/test_openai_provider.py:None