An open API service providing repository metadata for many open source software ecosystems.

GitHub / tmux-python / libtmux

⚙️ Python API / wrapper for tmux

JSON API: http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tmux-python%2Flibtmux
PURL: pkg:github/tmux-python/libtmux

Stars: 1,106
Forks: 112
Open issues: 84

License: mit
Language: Python
Size: 4.21 MB
Dependencies parsed at: Pending

Created at: over 9 years ago
Updated at: 8 days ago
Pushed at: 8 days ago
Last synced at: 8 days ago

Commit Stats

Commits: 1770
Authors: 40
Mean commits per author: 44.25
Development Distribution Score: 0.102
More commit stats: https://commits.ecosyste.ms/hosts/GitHub/repositories/tmux-python/libtmux

Topics: api, cli, library, python, python-3, terminal, tmux

Releases
v0.46.2 - `start_directory` typing fix

v0.46.2

What’s Changed

New Contributors

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.46.1...v0.46.2

6 months ago
Download
v0.46.1 - Maintenance release

v0.46.1

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.46.0...v0.46.1

Changes

Feature branch at v0.46.x

v0.46.x will extend the life of v0.46.0 while new features are being developed for watching for changes within libtmux panes, windows, and sessions.

See:

Documentation

8 months ago
Download
v0.46.0 - Internal improvements

v0.46.0

Breaking Changes

  • Test Helper Imports Refactored: Direct imports from libtmux.test are no longer possible. You must now import from specific submodules (#580)

    # Before:
    from libtmux.test import namer
    # After: 
    from libtmux.test.named import namer
    
    # Before:
    from libtmux.test import RETRY_INTERVAL_SECONDS
    # After: 
    from libtmux.test.constants import RETRY_INTERVAL_SECONDS
    

Internal Improvements

  • Enhanced Test Utilities: The EnvironmentVarGuard now handles variable cleanup more reliably
  • Comprehensive Test Coverage: Added test suites for constants and environment utilities
  • Code Quality: Added proper coverage markers to exclude type checking blocks from coverage reports
  • Documentation: Improved docstrings and examples in the random module

These changes improve maintainability of test helpers both internally and for downstream packages that depend on libtmux.

What’s Changed

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.45.0...v0.46.0

9 months ago
Download
v0.45.0 - test helpers overhaul

v0.45.0

What’s Changed

Breaking Changes

Test helpers: Refactor

by @tony in https://github.com/tmux-python/libtmux/pull/578

Test helper functionality has been split into focused modules (#578):

  • libtmux.test module split into:
    • libtmux.test.constants: Test-related constants (TEST_SESSION_PREFIX, etc.)
    • libtmux.test.environment: Environment variable mocking
    • libtmux.test.random: Random string generation utilities
    • libtmux.test.temporary: Temporary session/window management

Breaking: Import paths have changed. Update imports:

# Old (0.44.x and earlier)
from libtmux.test import (
    TEST_SESSION_PREFIX,
    get_test_session_name,
    get_test_window_name,
    namer,
    temp_session,
    temp_window,
    EnvironmentVarGuard,
)
# New (0.45.0+)
from libtmux.test.constants import TEST_SESSION_PREFIX
from libtmux.test.environment import EnvironmentVarGuard
from libtmux.test.random import get_test_session_name, get_test_window_name, namer
from libtmux.test.temporary import temp_session, temp_window

Misc

CI

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.44.2...v0.45.0

9 months ago
Download
v0.44.2 - Bug fix, doc and test tweaks

v0.44.2

What’s Changed

Bug fixes

Documentation

Development

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.44.1...v0.44.2

9 months ago
Download
v0.44.1 - Maintenance release

v0.44.1

What’s Changed

Packaging

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.44.0...v0.44.1

9 months ago
Download
v0.44.0 - Context managers

v0.44.0

What’s Changed

Support for context managers

by @tony in https://github.com/tmux-python/libtmux/pull/566.

Added context manager support for all main tmux objects:

  • Server: Automatically kills the server when exiting the context
  • Session: Automatically kills the session when exiting the context
  • Window: Automatically kills the window when exiting the context
  • Pane: Automatically kills the pane when exiting the context

Example usage:

with Server() as server:
    with server.new_session() as session:
        with session.new_window() as window:
            with window.split() as pane:
                pane.send_keys('echo "Hello"')
                # Do work with the pane
                # Everything is cleaned up automatically when exiting contexts

This makes it easier to write clean, safe code that properly cleans up tmux resources.

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.43.0...v0.44.0

9 months ago
Download
v0.43.0 - `TestServer` pytest fixture

v0.43.0

What’s Changed

New feature

Documentation

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.42.1...v0.43.0

9 months ago
Download
v0.42.1 - Packaging fix

v0.42.1

Changes

Packaging: typing-extensions usage

Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.42.0...v0.42.1

9 months ago
Download