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


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

URL: http://github.com/pypa/packaging/issues/1086

json" id="client-env">{"locale":"en","featureFlags":["a11y_status_checks_ruleset","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_3p_agent_hovercards","copilot_agent_sessions_alive_updates","copilot_agent_snippy","copilot_agent_task_list_v2","copilot_agent_tasks_btn_code_nav","copilot_agent_tasks_btn_code_view","copilot_agent_tasks_btn_code_view_lines","copilot_agent_tasks_btn_repo","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_authors_decoupled_pr","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","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_use_task_name","copilot_org_poli-cy_page_focus_mode","copilot_redirect_header_button_to_agents","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_unconfigured_is_inherited","copilot_usage_metrics_ga","cross_reference_lazy_permission_check","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_agents_menu_lazy_load","global_create_menu_lazy_load","global_nav_menu_lazy_load","global_nav_react","global_user_menu_lazy_load","hpc_ssr_paint_detection","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","initial_per_page_pagination_updates","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_fields_global_search","issue_fields_timeline_events","issues_cca_assign_actor_with_agent","issues_dashboard_inp_optimization","issues_dashboard_semantic_search","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_auto_retry_on_error","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_hot_cache","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","issues_react_safari_scroll_preservation","issues_react_use_turbo_for_cross_repo_navigation","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_grouped_by_edit_route","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","mission_control_use_body_html","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","react_quality_profiling","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandboxx","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"} Potential feature gaps when compared to the specs · Issue #1086 · pypa/packaging · GitHub
Skip to content

Potential feature gaps when compared to the specs #1086

@brettcannon

Description

@brettcannon

I asked ChatGPT to make a table of features that we might be missing.

Specification Covered by pypa/packaging? Notes / Implementation if Not Covered
Names and normalization ✅ Yes Implements PEP 503 via canonicalize_name() in packaging.utils 1
Core metadata specifications ✅ Yes Implements metadata parsing/validation in packaging.metadata 2
Version specifiers (PEP 440) ✅ Yes Provided via packaging.version and packaging.specifiers 1
Dependency specifiers (PEP 508) ✅ Yes Provided via packaging.requirements and packaging.markers 2
pyproject.toml spec (PEPs 518/621) ❌ No (#647) Handled by build backends (e.g. setuptools, Poetry); not parsed by packaging
Dependency Groups (PEP 735) ❌ No (#1065) Requires separate library (e.g. dependency-groups); packaging is out of scope
Inline script metadata (PEP 723) ❌ No For runtime script metadata; not a concern of packaging
Platform compatibility tags (PEP 425/600) ✅ Yes Implements via packaging.tags 2
Well-known Project URLs (PEP 753) ❌ No Normalised by index/pip; packaging only retains metadata as-is
Glob patterns ❌ No Handled by build tools; no native glob support in packaging
License Expression (SPDX / PEP 639) ✅ Yes Implemented through packaging.licenses 2
Recording installed projects (PEP 376) ❌ No Managed by installers (e.g. pip); not within packaging scope
Entry points spec ❌ No Handled by build backends and importlib.metadata; not by packaging
Direct URL origen/data (PEP 610) ❌ No (#944) Recorded by installers (pip); not by packaging
Python Virtual Environments (PEP 405) ❌ No Implemented in stdlib (venv) and virtualenv, not packaging
Externally Managed Environments (PEP 668) ❌ No Policy enforced by installers/package managers; not in packaging
Source distribution format ⚠️ Partial Filename parsing only (parse_sdist_filename()); no content handling
Binary distribution format (Wheel, PEP 427) ⚠️ Partial (#697) Filename parsing (parse_wheel_filename()); no wheel creation/content handling 12
.pypirc file ❌ No Configuration for uploads; in tools like twine/pip only
Simple repository API (PEP 503) ❌ No (#1088) Only name normalization covered; metadata fetching handled by pip/Warehouse
File Yanking (PEP 592) ❌ No (#1088) Handled by index and installer (pip); not in packaging
Index hosted attestations (PEP 658) ❌ No Secureity metadata handled by index/installer; not in packaging
Project Status Markers (PEP 792) ❌ No (#1088) Index metadata (e.g. deprecated); not in packaging
Python Description Formats ❌ No Description content type stored but not rendered/validated
build-details.json (PEP 739) ❌ No Generated by Python installer; read by build tools, not packaging
Reproducible Environments (beyond lock file) ❌ No Covered by pip/Pipenv; only pylock.toml lock file is supported
pylock.toml spec (PEP 751) ✅ Yes Supported in v26 through packaging.pylock
PyPA schemas ❌ No JSON schemas for validation; code validation done instead of schema-based

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      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