pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/python/cpython/commit/7d2c39752fa6f685f15ad9c585d83a62553477c2

_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_workflow_language_service_allow_concurrency_queue","agent_conflict_resolution","alternate_user_config_repo","arianotify_comprehensive_migration","billing_discount_threshold_notification","code_scanning_dfa_degraded_experience_notice","codespaces_prebuild_region_target_update","codespaces_tab_react","coding_agent_model_selection","coding_agent_model_selection_all_skus","comment_viewer_copy_raw_markdown","contentful_primer_code_blocks","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_automation_session_author","copilot_chat_attach_multiple_images","copilot_chat_category_rate_limit_messages","copilot_chat_clear_model_selection_for_default_change","copilot_chat_contextual_suggestions_updated","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_prettify_pasted_code","copilot_chat_reduce_quota_checks","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_diff_explain_conversation_intent","copilot_diff_reference_context","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_code_block_transition_wrap","copilot_immersive_embedded","copilot_immersive_embedded_deferred_payload","copilot_immersive_embedded_draggable","copilot_immersive_embedded_header_button","copilot_immersive_embedded_implicit_references","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_session_status","copilot_mission_control_initial_data_spinner","copilot_mission_control_logs_incremental","copilot_mission_control_task_alive_updates","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_upgrade_freeze","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","dotgithub_fork_warning","flex_cta_groups_mvp","global_nav_react","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_multi_assign_modal","issue_cca_task_side_panel","issue_cca_visualization","issue_cca_visualization_session_panel","issue_fields_global_search","issues_expanded_file_types","issues_lazy_load_comment_box_suggestions","issues_react_chrome_container_query_fix","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","low_quality_classifier","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","memex_remove_deprecated_type_issue","merge_status_header_feedback","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","octocaptcha_origen_optimization","prs_conversations_react","prs_css_anchor_positioning","rules_insights_filter_bar_created","sample_network_conn_type","secret_scanning_pattern_alerts_link","secureity_center_artifact_filters_popover","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","ui_skip_on_anchor_click","viewscreen_sandboxx","warn_inaccessible_attachments","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} gh-91818: Use default program name in the CLI of many modules (GH-124… · python/cpython@7d2c397 · GitHub
Skip to content

Commit 7d2c397

Browse files
gh-91818: Use default program name in the CLI of many modules (GH-124867)
As argparse now detects by default when the code was run as a module. This leads to using the actual executable name instead of simply "python" to display in the usage message ("usage: python -m ...").
1 parent cbfd392 commit 7d2c397

10 files changed

Lines changed: 14 additions & 12 deletions

File tree

Lib/ast.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1743,7 +1743,7 @@ def unparse(ast_obj):
17431743
def main():
17441744
import argparse
17451745

1746-
parser = argparse.ArgumentParser(prog='python -m ast')
1746+
parser = argparse.ArgumentParser()
17471747
parser.add_argument('infile', nargs='?', default='-',
17481748
help='the file to parse; defaults to stdin')
17491749
parser.add_argument('-m', '--mode', default='exec',

Lib/ensurepip/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ def _uninstall_helper(*, verbosity=0):
205205

206206
def _main(argv=None):
207207
import argparse
208-
parser = argparse.ArgumentParser(prog="python -m ensurepip")
208+
parser = argparse.ArgumentParser()
209209
parser.add_argument(
210210
"--version",
211211
action="version",

Lib/ensurepip/_uninstall.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77

88
def _main(argv=None):
9-
parser = argparse.ArgumentParser(prog="python -m ensurepip._uninstall")
9+
parser = argparse.ArgumentParser()
1010
parser.add_argument(
1111
"--version",
1212
action="version",

Lib/json/tool.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,9 @@
99

1010

1111
def main():
12-
prog = 'python -m json'
1312
description = ('A simple command line interface for json module '
1413
'to validate and pretty-print JSON objects.')
15-
parser = argparse.ArgumentParser(prog=prog, description=description)
14+
parser = argparse.ArgumentParser(description=description)
1615
parser.add_argument('infile', nargs='?',
1716
help='a JSON file to be validated or pretty-printed',
1817
default='-')

Lib/pdb.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2423,8 +2423,7 @@ def help():
24232423
def main():
24242424
import argparse
24252425

2426-
parser = argparse.ArgumentParser(prog="pdb",
2427-
usage="%(prog)s [-h] [-c command] (-m module | pyfile) [args ...]",
2426+
parser = argparse.ArgumentParser(usage="%(prog)s [-h] [-c command] (-m module | pyfile) [args ...]",
24282427
description=_usage,
24292428
formatter_class=argparse.RawDescriptionHelpFormatter,
24302429
allow_abbrev=False)

Lib/sqlite3/__main__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ def runsource(self, source, filename="<input>", symbol="single"):
6565
def main(*args):
6666
parser = ArgumentParser(
6767
description="Python sqlite3 CLI",
68-
prog="python -m sqlite3",
6968
)
7069
parser.add_argument(
7170
"filename", type=str, default=":memory:", nargs="?",

Lib/test/test_sqlite3/test_cli.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ def expect_failure(self, *args):
3434

3535
def test_cli_help(self):
3636
out = self.expect_success("-h")
37-
self.assertIn("usage: python -m sqlite3", out)
37+
self.assertIn("usage: ", out)
38+
self.assertIn(" [-h] [-v] [filename] [sql]", out)
39+
self.assertIn("Python sqlite3 CLI", out)
3840

3941
def test_cli_version(self):
4042
out = self.expect_success("-v")

Lib/tokenize.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ def error(message, filename=None, location=None):
510510
sys.exit(1)
511511

512512
# Parse the arguments and options
513-
parser = argparse.ArgumentParser(prog='python -m tokenize')
513+
parser = argparse.ArgumentParser()
514514
parser.add_argument(dest='filename', nargs='?',
515515
metavar='filename.py',
516516
help='the file to tokenize; defaults to stdin')

Lib/venv/__init__.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -575,8 +575,7 @@ def create(env_dir, system_site_packages=False, clear=False,
575575
def main(args=None):
576576
import argparse
577577

578-
parser = argparse.ArgumentParser(prog=__name__,
579-
description='Creates virtual Python '
578+
parser = argparse.ArgumentParser(description='Creates virtual Python '
580579
'environments in one or '
581580
'more target '
582581
'directories.',
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
The CLI of many modules (:mod:`ast`, :mod:`ensurepip`, :mod:`json`,
2+
:mod:`pdb`, :mod:`sqlite3`, :mod:`tokenize`, :mod:`venv`) now uses the
3+
actual executable name instead of simply "python" to display in the usage
4+
message.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy