skillfed

cursor

A small Python package to hide or show the terminal cursor

cursor v1.3.5 465.0K downloads/30d#6,512 on PyPI39
Copyleft license Abandoned released

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 cursor

uv

uv add cursor

poetry

poetry add cursor

Installing 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

Intended Audience :: DevelopersLicense :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: OS IndependentProgramming Language :: Python :: 2.7Programming Language :: Python :: 3

Tags

hide terminal cursor pythonshow cursor terminalcursor visibility controlterminal cursor managementcross-platform cursor controlcursor hide showterminal cursor toggle
terminal-controlcursor-managementabandoned

More Terminals packages