Skip to main content

Urwid

current version on PyPi Documentation Status Gitter CI status pre-commit test coverage

About

Urwid is a console user interface library for Python on Linux, OSX, Cygwin or other unix-like OS and partially supports Windows OS (see below).

It includes many features useful for text console application developers including:

  • Applications resize quickly and smoothly

  • Automatic, programmable text alignment and wrapping

  • Simple markup for setting text attributes within blocks of text

  • Powerful list box with programmable content for scrolling all widget types

  • Your choice of event loops: Twisted, Glib, Tornado, asyncio, trio, ZeroMQ or select-based loop

  • Pre-built widgets include edit boxes, buttons, check boxes and radio buttons

  • Display modules include raw, curses, and experimental LCD and web displays

  • Support for UTF-8, simple 8-bit and CJK encodings

  • 24-bit (true color), 256 color, and 88 color mode support

  • Compatible with Python 3.9+ and PyPy

Home Page:

http://urwid.org/

Installation

To install using pip

pip install urwid

For advanced functionality extra requirements need to be installed. Example for ZeroMQ event loop and LCD display:

pip install urwid[serial,zmq]

Alternatively if you are on Debian or Ubuntu

apt-get install python3-urwid

Windows support notes

Windows support is limited to the Windows 10+ due to ANSI support requirement.

  • Not supported:

  1. Terminal widget and all related render API (TermCanvas, TermCharset, TermModes, TermScroller)

  2. Any file descriptors except sockets (Windows OS limitation)

  3. ZMQEventLoop.

  • Special requirements:

  1. Extra libraries required for curses display support:

pip install urwid[curses]
  • CursesDisplay incorrectly handles mouse input in case of fast actions.

  • Only UTF-8 mode is supported.

Testing

To run tests locally, install & run tox. You must have appropriate Python versions installed to run tox for each of them.

To test code in all Python versions:

tox                     # Test all versions specified in tox.ini:
tox -e py39             # Test Python 3.9 only
tox -e py39,py10,pypy3  # Test Python 3.9, Python 3.10 & pypy3

Supported Python versions

  • 3.9

  • 3.10

  • 3.11

  • 3.12

  • 3.13

  • 3.14

  • pypy3

Authors

Creator

wardi

Maintainers

and3rson, tonycpsu, ulidtko, penguinolog

Contributors

1in7billion, abadger, agrenott, akorb, alethiophile, aleufroy, alobbs, amjltc295, and-semakin, andrewshadura, andy-z, anttin2020, Apteryks, Arfrever, AutoAwesome, belak, berney, bk2204, BkPHcgQL3V, bwesterb, carlos-jenkins, Certseeds, Chipsterjulien, chrisspen, cltrudeau, Codeberg-AsGithubAlternative-buhtz, cortesi, d0c-s4vage, derdon, dholth, dimays, dlo, dnaeon, doddo, douglas-larocca, drestebon, dsotr, dwf, EdwardBetts, elenril, EnricoBilla, extempore, fabiand, floppym, flowblok, fmoreau, goncalopp, Gordin, GregIngelmo, grzaks, gurupras, HarveyHunt, Hoolean, hukka, hydratim, ids1024, imrek, isovector, itaisod, ixxra, jeblair, johndeaton, jonblack, jspricke, kedder, Kelketek, KennethNielsen, kesipyc, kkrolczyk, Kwpolska, Lahorde, laike9m, larsks, lfam, lgbaldoni, lighth7015, livibetter, Lothiraldan, Mad-ness, madebr, magniff, marlox-ouda, mattymo, mdtrooper, mgk, mimi1vx, mobyte0, MonAaraj, MonthlyPython, mountainstorm, mselee, mwhudson, naquad, nchavez324, neumond, nolash, ntamas, nyov, ocarneiro, okayzed, pquentin, rbanffy, ReddyKilowatt, regebro, renegarcia, rianhunter, roburban, RRMoelker, rwarren, scopatz, seanhussey, seonon, shadedKE, sithglan, Sjc1000, sporkexec, squrky, ssbr, techdragon, thehunmonkgroup, thisch, thornycrackers, TomasTomecek, tompickering, tony, ttanner, tu500, uSpike, vega0, vit1251, waveform80, Wesmania, xandfury, xndcn, zhongshangwu, zrax

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

urwid-4.0.9.tar.gz (880.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

urwid-4.0.9-py3-none-any.whl (306.8 kB view details)

Uploaded Python 3

File details

Details for the file urwid-4.0.9.tar.gz.

File metadata

  • Download URL: urwid-4.0.9.tar.gz
  • Upload date:
  • Size: 880.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for urwid-4.0.9.tar.gz
Algorithm Hash digest
SHA256 99bad59b4c7b5bf87bd86196be4554ef93a031947f2a84f0fb090d8162b6ffc5
MD5 315d7a98365582de6a4c0b0a0a04ee31
BLAKE2b-256 79ea0a61a054016f6592ac9a430723bdbcedbbca9630a2781e70d2df189afe84

See more details on using hashes here.

Provenance

The following attestation bundles were made for urwid-4.0.9.tar.gz:

Publisher: pythonpackage.yml on urwid/urwid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file urwid-4.0.9-py3-none-any.whl.

File metadata

  • Download URL: urwid-4.0.9-py3-none-any.whl
  • Upload date:
  • Size: 306.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for urwid-4.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 5d10610f4439042e7a6e38f7951e037b0df57c0d45685a7fc84487781afed12b
MD5 7b6cfc5168cf52fb4380e3d9e4f61ebc
BLAKE2b-256 df7932c264d137ed0f187692e3a0e0421d06bf54afa9ff2d6569c0ff1d04aa0a

See more details on using hashes here.

Provenance

The following attestation bundles were made for urwid-4.0.9-py3-none-any.whl:

Publisher: pythonpackage.yml on urwid/urwid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page