cursor
A small Python package to hide or show the terminal cursor
What it is and what it does
cursor is a minimal terminal utility that toggles cursor visibility in Python scripts. It wraps platform-specific escape sequences to hide or show the cursor on Linux and Windows, supporting both Python 2 and Python 3. The package provides two main interfaces: direct function calls (cursor.hide() and cursor.show()) for immediate control, and a context manager (HiddenCursor) that guarantees the cursor is restored even if exceptions occur during execution.
The package is abandoned—its last commit was on 2022-06-16 and it has received no updates since. It has no runtime dependencies, making installation straightforward, but the lack of maintenance means compatibility with modern Python versions or terminal environments is not guaranteed. The GPLv3 license imposes copyleft obligations on any code that uses it.
Use it for:
- Hide the cursor while displaying terminal spinners or progress indicators in CLI applications.
- Manage cursor visibility in interactive terminal scripts where visual clarity is important.
- Ensure cursor is restored after script execution using the context manager to prevent terminal state corruption.
- Build command-line tools that need cross-platform cursor control without writing platform-specific code.
- Integrate cursor control into terminal UI libraries that need to manage cursor state during rendering.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Hides or shows the terminal cursor in Python scripts on Linux and Windows, with support for both Python 2 and Python 3.
No. The package is abandoned (last commit 2022-06-16, no updates since) and carries a GPLv3 copyleft license that restricts how you can use it. For simple cursor control, platform-specific escape sequences or modern terminal libraries are safer bets. Install only if you are maintaining legacy code already using it.
Install
cursor on PyPI
pip
pip install cursoruv
uv add cursorpoetry
poetry add cursorInstalling cursor
Before you install
High install friction: the package is abandoned as of 2022, with no updates since June 2022. No runtime dependencies, but the lack of active maintenance means bugs or compatibility issues are unlikely to be addressed.
License in practice
Licensed under GPLv3 (copyleft). Any code that imports and uses cursor must comply with GPLv3 terms, including potential source code disclosure obligations if you distribute your application.
Quickstart
pip install cursor
import cursor
cursor.hide() # Hide the cursor
cursor.show() # Show the cursor
# Or use context manager to ensure cursor is shown again:
with cursor.HiddenCursor():
print('Cursor is hidden')
Cursor state persists after script exit unless explicitly shown or managed via context manager or atexit handler.
Verify before relying
- Whether the package remains compatible with Python versions released after 2022.
- Whether terminal emulators beyond Linux and Windows (e.g., macOS) are actually supported despite the 'OS Independent' classifier.
Package facts
| License | not declared (copyleft) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,521 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 464,967/month — #6,512 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: cursor-1.3.5.tar.gz
Keywords: cursor, terminal, hide, show
Tags
More Terminals packages
Wraps any iterable to display a real-time…
copyleft · top 100 on PyPI
richRich renders styled text, tables, progress…
permissive · top 100 on PyPI
coloramaColorama makes ANSI escape sequences for…
permissive · top 100 on PyPI
wcwidthMeasures the displayed width of Unicode strings…
permissive · top 1,000 on PyPI
ptyprocessRun a subprocess in a pseudo terminal (pty) and…
permissive · top 1,000 on PyPI
pexpectPexpect spawns and controls interactive console…
permissive · top 1,000 on PyPI
ansiProvides ANSI escape codes for cursor movement…
permissive · top 15,000 on PyPI
yaspinYaspin displays an animated terminal spinner to…
permissive · top 5,000 on PyPI
PyAutoGUIPyAutoGUI programmatically controls the mouse…
permissive · top 5,000 on PyPI
blessingsBlessings provides a clean Python API for…
permissive · top 5,000 on PyPI
publicationPublication hides private implementation…
permissive · top 5,000 on PyPI
log-symbolsProvides colored Unicode symbols (✔, ℹ, ⚠, ✖)…
permissive · top 5,000 on PyPI
blessedBlessed provides a clean Python interface for…
permissive · top 5,000 on PyPI
sphinx-togglebuttonA Sphinx extension that adds collapsible toggle…
permissive · top 15,000 on PyPI
textual-autocompleteAdds fuzzy-matching autocomplete dropdowns to…
permissive · top 15,000 on PyPI