• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

penguinolog / urwid
90%
master: 92%

Build:
Build:
LAST BUILD BRANCH: table
DEFAULT BRANCH: master
Repo Added 20 Jun 2023 08:28AM UTC
Token nZ5xt2o2DKKtMXKnDA1uXfKzjCCxuWXzE regen
Build 1084 Last
Files 73
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH command-map-help
branch: command-map-help
CHANGE BRANCH
x
Reset
Sync Branches
  • command-map-help
  • 2.4.1
  • 2.4.2
  • 2.4.3
  • 2.4.4
  • 2.4.5
  • 2.4.6
  • 2.5.0
  • 2.5.1
  • 2.5.2
  • 2.5.3
  • 2.6.0
  • 2.6.0.post0
  • 2.6.1
  • 2.6.11
  • 2.6.12
  • 2.6.13
  • 2.6.14
  • 2.6.15
  • 2.6.16
  • 2.6.2
  • 2.6.3
  • 2.6.4
  • 2.6.5
  • 2.6.6
  • 2.6.7
  • 2.6.8
  • 2.6.9
  • 3.0.0
  • 3.0.1
  • 3.0.2
  • 3.0.3
  • 3.0.4
  • 3.0.5
  • 4.0.0
  • 4.0.1
  • 4.0.10
  • 4.0.11
  • 4.0.12
  • 4.0.13
  • 4.0.2
  • 4.0.3
  • 4.0.4
  • 4.0.5
  • 4.0.6
  • 4.0.7
  • 4.0.8
  • 4.0.9
  • 4.1.0
  • 4.1.1
  • 4.1.2
  • 4.1.3
  • 4.1.4
  • 4.1.5
  • 4.1.6
  • 4.1.7
  • 4.2.0
  • 4.2.1
  • 4.2.2
  • 4.2.3
  • 4.2.4
  • 4.2.5
  • AttrMap_compat
  • ListBox_relative_scroll
  • add-xterm-insert-keypad-keys
  • add_run_in_exectutor
  • annotations
  • ansi-text-raw-display-attributes-3
  • artifacts_bdist
  • ascii-fallbacks
  • async_callbacks
  • async_in_event_loop
  • attr_shadow_attr
  • bar_graph
  • base_class_events
  • big_text_static_text
  • bigtext-fonts
  • black
  • bug_layout
  • bug_rows_max_listbox
  • bug_scrollable_no_size
  • build_limited_api
  • builld-system
  • bump_ruff
  • button-brackets-selectable-text
  • canvas_optimisation
  • changelog
  • changelog-5.0.0
  • changelog_406
  • changelog_407
  • changelog_501
  • changelog_gen
  • changelog_pre-release
  • check_mixed
  • ci/pypy-tests
  • ci_actionlint
  • ci_cd_extend
  • ci_cd_generate_changelog
  • ci_ci
  • ci_finalise_uv
  • ci_project
  • ci_py314
  • ci_tests
  • ci_try_enable_osx
  • ci_tuning
  • class_docstrings
  • classifiers
  • clean-up
  • clean_graphics
  • cleanup
  • cleanup_code
  • cleanup_helper
  • cleanup_unused
  • closed_io
  • code_cleanup
  • columns-hidden-columns
  • columns_accept_focus_widget
  • columns_consistency
  • columns_maxcol
  • columns_optimisation
  • columns_render
  • columns_special_case_fixed
  • columns_support_fixed
  • columns_zero_width
  • command_enum
  • command_map_api_extend
  • constants_symbols
  • container-focus-changed-hook
  • container_deprecated_setters
  • content_validation
  • corner_case_ellipsis_not_fit
  • cover_listbox_scrollable
  • coverage_no_tests
  • coverage_special
  • curses_fix
  • deduplicate
  • deprecate_content_delta
  • deprecate_progress_bar_set_done
  • deprecated_attr_wrap
  • deprecated_decoration
  • deprecated_fix
  • deprecated_positioning
  • deprecated_public
  • deprecation
  • deprecation-process-2
  • deprecation_binary_font
  • deprecation_deadline
  • deprecation_part0
  • deprecation_part1
  • deprecation_part2
  • deprecation_part3
  • deprecation_release_4
  • deprecation_super
  • deprecations
  • deprecations_for_5
  • deprecations_handle
  • deprecations_term_scroller
  • deque_walker_ansi_parser
  • descriptors
  • devcontainer
  • devcontainers
  • disallow_broken_wcwidth
  • display-leftovers-csi-key
  • doc
  • doc-draw-screen-thread
  • doc_env
  • doc_event_loop
  • doc_examples
  • doc_fix_typo
  • doc_raises
  • doc_windows
  • docs
  • docs_build
  • docs_changelog
  • docs_disconnect_by_key
  • docs_fixes
  • docs_readability
  • docs_screenshots
  • docs_scrollable
  • docstring-fields
  • docstrings
  • document_fix_graalpy
  • drop-down-widget
  • drop_c_helper
  • drop_unused
  • ds_store
  • edit-grapheme-cursor
  • edit-max-length
  • edit-postchange-intedit-ellipsis
  • edit-text-pos-readline-submit
  • edit_typing
  • editorconfig
  • empty_grid_flow
  • enable_typing
  • enable_windows_asyncio_tests
  • escape-sequence-fixes
  • escape_test
  • event_loop
  • event_loop_executor
  • example_browse
  • examples_code_style
  • examples_deprecated
  • exceptiongroup
  • expand_tabs
  • expose_widget
  • extend_scrollable
  • extended-keyboard
  • extra_input_handling
  • extra_tests
  • extra_typing
  • faint_extend
  • feat_font
  • feat_terminal_detection
  • feat_tornado
  • feature/ansi-osc8-hyperlinks
  • feature/inherit-attr
  • feature/osc8-hyperlinks
  • feature_canvas_repr
  • feature_fixed_text
  • feature_selectors
  • feature_wimp_pack
  • fix-ansitext-security
  • fix-asyncio-loop-cleanup
  • fix-attribute-defined-outside-init
  • fix-bargraph-security
  • fix-base-widget-mock-loop
  • fix-canvascache-leak
  • fix-columns-cursor-dropped-column
  • fix-columns-security
  • fix-deque-insert-index
  • fix-display-event-loop-typing
  • fix-edit-override-cursor
  • fix-edit-security
  • fix-event-loop-callbacks
  • fix-event-loop-stale-watch
  • fix-focus-list-pickle
  • fix-gpm-tracking
  • fix-gridflow-wheel-and-hidden-focus
  • fix-input-parser-crashes
  • fix-layout-attributes-invalidate
  • fix-listbox-emptied-body-focus
  • fix-listbox-focus-moves
  • fix-listbox-security
  • fix-macos-dev-tty-selector
  • fix-main-loop-cleanup
  • fix-mouse-tracking-restart
  • fix-numedit-negative-zeros
  • fix-osc-esc-termination
  • fix-pile-security
  • fix-popup-false-widget-and-stubs
  • fix-posix-input-read
  • fix-progressbar-security
  • fix-raw-display-c1-controls
  • fix-raw-display-fallback-size
  • fix-raw-screen-socket-cycle
  • fix-scrollbar-decorated-widget
  • fix-scrollbar-keypress-before-render
  • fix-setup-g1-hang
  • fix-signal-handler-races
  • fix-signals-leak
  • fix-terminal-keypress-before-render
  • fix-text-control-chars
  • fix-text-pack-tab-stops
  • fix-text-security
  • fix-tree-security
  • fix-watch-pipe
  • fix-widget-races
  • fix-win32-console-size
  • fix-win32-input-thread
  • fix-zmq-watch-keys
  • fix/deque-insert-index-pypy
  • fix/hidden-focus-candidates
  • fix/space-wrap-zero-width-before-break
  • fix/vterm-defects-2
  • fix_asyncio_del_closed_loop
  • fix_build_windows
  • fix_display_typing
  • fix_docstring_event_loop
  • fix_docstrings
  • fix_edit
  • fix_font
  • fix_import_warn
  • fix_imports_moved
  • fix_listbox_render_empty_elements
  • fix_overlay
  • fix_ovl_items_replace
  • fix_py312
  • fix_readme
  • fix_regressions
  • fix_rerais
  • fix_rle_product
  • fix_rows_typing
  • fix_ruff
  • fix_term_scroll
  • fix_toc_html
  • fix_tree_listbox_render_empty_elements
  • fix_zope.interface
  • fixed_flow_overlay
  • fixes
  • flow_filler
  • follow-end-walkers
  • frame_fix
  • frame_focus
  • get_cursor_coord
  • gitter_badge
  • glib_deprecation
  • graalpy-pickle-and-checker-fixes
  • grid_flow_support_fixed
  • gridflow_focus
  • handle_mypy_warnings
  • handle_non_subclassed_widget
  • html_fragment
  • html_fragment-deprecate_monkeypatch
  • implement_scrollbar_layout
  • imports_deprecation_warning
  • initial_mypy
  • integeredit-default-corner-cases
  • isort
  • iterable_microopt
  • join_display
  • khal_insufficient_padding_width
  • kill_py37_py38
  • labeler_scope
  • labeler_update_rules
  • last-row-zero-width-and-escapes
  • lazy_imports
  • lazy_load_explicit_package
  • lb_max_left_right
  • line_box
  • line_box_double_inheritance
  • line_box_replace
  • linebox-long-title
  • linebox-title-markup
  • listbox-empty-not-selectable
  • listbox-fixes
  • listbox-flow-render
  • listbox-scroll-and-search
  • listbox_contents
  • listbox_guard_walker
  • listbox_tests
  • live-container-selectable
  • logging
  • mainloop-paused-context
  • maintenance_code_quality
  • maintenance_internal
  • maintenance_labeler
  • maintenance_pre_commit
  • maintenance_pyproject
  • maintenance_pytest
  • maintenance_ruff
  • maintenance_rules
  • maintenance_typing
  • maintenance_yamllint
  • master
  • meta_super_position
  • missed_test
  • missed_tests
  • monitored_list_move
  • monkeypathch_pad
  • move_listbox_tree
  • mro_simplefocuslistwalker
  • mypy_global_fixes
  • mypy_warnings
  • name-dec-private-modes
  • nested_popups
  • numedit
  • optimisations
  • optimise_signals
  • optional_dependencies
  • outdated-scripts
  • overlay-menu-signal
  • overlay_typing_repr
  • pack_extra
  • pack_on_edit
  • packaging_setup
  • packaging_tests
  • packaging_unstable_test
  • padding_given
  • padding_pack_weight
  • padding_support_fixed
  • palette-hashable-names
  • part_f_keys
  • part_osx
  • pep_424_lazy
  • pile_support_fixed
  • poc_gen_changelog
  • popup-launcher-close-on-menu
  • posix_raw_display_optimise
  • pr_template
  • pre-412
  • pre-release_changelog
  • pre_305
  • pre_4.0.2
  • pre_4010
  • pre_4011
  • pre_4012
  • pre_4013
  • pre_404
  • pre_405
  • pre_409
  • pre_410
  • pre_411
  • pre_413
  • pre_414
  • pre_415
  • pre_416
  • pre_417
  • pre_420
  • pre_421
  • pre_422
  • pre_423
  • pre_424
  • pre_425
  • pre_release
  • prep_2_2_2
  • prep_403
  • prepare_408
  • provisional_typing
  • py311_migration_single
  • py312_no_bdist
  • py313
  • py_version_description
  • pydocstyle
  • pylint
  • pylint_silence
  • pylint_warnings
  • pyrefly
  • pyrefly-unused-ignores
  • pyright-typing-fixes
  • raw_display_optimization
  • raw_display_var_naming
  • raw_display_windows_resize
  • raw_input_optimizations
  • ref_dead_code
  • refactor_scrollable
  • refactor_super
  • refactoring_code_style
  • refurb
  • refurb_fixes
  • regression_enums
  • regression_linebox
  • regression_ovl_relative
  • regression_treetools
  • regressions
  • rel_3.0
  • rel_3.0.1
  • rel_3.0.2
  • relnotes-release
  • remove_temporary_dev_script
  • requirements_security
  • restore_palette
  • restore_win32_support
  • rich_repr
  • ruff
  • ruff_0_2
  • ruff_bump
  • ruff_up
  • ruff_update
  • screenshots_trminus
  • scrollable
  • scrollable_annotations
  • scrollable_bar
  • scrollable_bug
  • scrollable_listbox
  • scrollbar-always-visible
  • scrollbar-cursor-coords
  • scrollbar-end-markers
  • scrollbar-zero-rows
  • scrollbar_estimated_size
  • security_rules
  • select-nav-wrap-around
  • select-navigation
  • selectable_icon
  • setuptools_scm_api
  • sgrmouse_shift_handle
  • shard_body_row_fix
  • shards-zero-row
  • shards_inconsistency
  • signals_subclass_abc
  • sigstp
  • simplify_code
  • sizing_columns
  • sizing_container_list_contents
  • sizing_fixes
  • slots-safe-places
  • special_case_empty_columns_pile
  • sphinx_build_gh_pages_ready
  • split_widget_enums
  • static_check_fix
  • static_checks
  • static_fix
  • static_fixes
  • static_update
  • stop_monkeypatch
  • str_optimise
  • strict_mypy
  • strict_typing
  • subiquity-inspired-bugfixes
  • support_sync_output
  • symbols_use_dataclass
  • table
  • terminal-demo-mouse
  • terminal-modified-keys
  • terminal-mouse-forwarding
  • terminfo-colors
  • terminfo-device-safety
  • test_req_fix
  • test_tree
  • test_vterm
  • testing-module
  • tests
  • tests_display_restart
  • tests_explicit_encoding
  • tests_org
  • tests_organisation
  • tests_windows
  • text-layout-cache-thread-safety
  • text_fixed_api
  • text_layout
  • text_layout_encoding
  • text_pack
  • tox_envs
  • tree
  • tree-navigation-helpers
  • tree_undeprecate
  • treetools_coverage
  • treetools_regression
  • trio_typing
  • type_annotations_trivial
  • typing
  • typing-delegate-mixin
  • typing_
  • typing_attr_map
  • typing_attr_wrap
  • typing_bar_graph
  • typing_big_text_progress_bar
  • typing_canvas
  • typing_containders
  • typing_display
  • typing_errors
  • typing_escape
  • typing_event_loop
  • typing_examples
  • typing_filler_
  • typing_fixes
  • typing_generic
  • typing_glib_loop
  • typing_issues
  • typing_listbox
  • typing_literal_constants
  • typing_monitored_list
  • typing_part_listbox
  • typing_polish
  • typing_radiobutton_checkbox
  • typing_silence
  • typing_split_repr-command_map
  • typing_text
  • typing_util_part_canvas
  • typing_widget
  • typing_widget_decoration
  • typing_widget_vterm_edit
  • typing_wimp
  • typo_job_name
  • un-deprecate_user_arg
  • unfocused-focus-attr
  • unicode_line_breaks
  • unicode_table
  • unicode_win
  • unwarn_escape
  • update-static-checkers
  • update_black
  • update_checkers
  • update_screenshots
  • upload_download_artifact
  • use_base_class_for_row_display
  • uuid_as_signal_key
  • vterm-alt-screen-kitty-keys
  • watch_pipe_implicit_none
  • wcwidth_unicode_auto
  • web_display
  • web_display_fixes
  • web_display_id
  • web_display_init
  • web_encoding_handling
  • web_resize
  • weight_float
  • wheels_only_upstream
  • widget-disable-toggle
  • widget_like
  • widget_mouse_keypress
  • widget_type
  • win_support_mark
  • window_resize_trottle
  • windows_asyncio
  • windows_curses
  • windows_event_debug
  • windows_garbage_commands
  • windows_last_line
  • windows_use_unicode_input
  • workflow_labeler
  • wsl_fix
  • zmq_loop_async

20 Oct 2026 09:51AM UTC coverage: 90.263% (+0.2%) from 90.064%
39403873969

push

github

penguinolog
Add CommandMap.bind() that refuses a key bound twice

- CommandMap.bind(command, *keys) binds keys to a command.
- It raises ValueError when a key is already bound to a different command, and leaves the map unchanged.
- A key already bound to the same command is accepted.
- Item assignment remains the way to rebind a key on purpose.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

5276 of 6036 branches covered (87.41%)

Branch coverage included in aggregate %.

7 of 7 new or added lines in 1 file covered. (100.0%)

271 existing lines in 16 files now uncovered.

13291 of 14534 relevant lines covered (91.45%)

14.42 hits per line

Relevant lines Covered
Build:
Build:
14534 RELEVANT LINES 13291 COVERED LINES
14.42 HITS PER LINE
Source Files on command-map-help
  • Tree
  • List 71
  • Changed 29
  • Source Changed 25
  • Coverage Changed 27
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
39403873969 command-map-help Add CommandMap.bind() that refuses a key bound twice - CommandMap.bind(command, *keys) binds keys to a command. - It raises ValueError when a key is already bound to a different command, and leaves the map unchanged. - A key already bound to the ... push 20 Oct 2026 09:53AM UTC penguinolog github
90.26
38928333495 command-map-help Add CommandMap help text, categories and key check CommandMap can now describe each command for a keyboard help screen. - CommandInfo holds a command's help text and category; every standard Command has one. - CommandMap.register() describes a c... push 16 Oct 2026 04:00PM UTC penguinolog github
90.06
See All Builds (1024)

Badge your Repo: urwid

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc