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,111
Forks: 112
Open issues: 86
License: mit
Language: Python
Size: 4.18 MB
Dependencies parsed at: Pending
Created at: over 9 years ago
Updated at: 6 days ago
Pushed at: 5 days ago
Last synced at: 5 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
v0.31.0 - Command overhaul, renamings
v0.31.0
Cleanups (#527)
-
Streamline {Server,Session,Window,Pane}.cmd(), across all usages to:
- Use cmd: str as first positional
- Removed unused keyword arguments **kwargs
Renamings (#527)
- Session.attached_window renamed to Session.active_window()
- Session.attached_window deprecated
- Session.attached_pane renamed to Session.active_pane()
- Session.attached_pane deprecated
- Window.attached_pane renamed to Window.active_pane()
- Window.attached_pane deprecated
Improvements (#527)
Server.attached_windowsnow usersQueryList’s.filter()
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.30.2...v0.31.0
Download
v0.30.2: Bump `TMUX_MAX_VERSION`
v0.30.2
TMUX_MAX_VERSION: 3.3 -> 3.4
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.30.1...v0.30.2
Download
v0.30.1 - pytest plugin renamings
v0.30.1
- pytest plugin, test module: Update to renamed methods introduced in v0.30.0
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.30.0...v0.30.1
Download
v0.30.0 - Improved commands
v0.30.0
New and improved commands
by @tony in https://github.com/tmux-python/libtmux/pull/525
New commands
Pane.kill()
Renamed commands
Window.select_window()renamed toWindow.select()- Deprecated
Window.select_window()
- Deprecated
Pane.select_pane()renamed toPane.select()- Deprecated
Pane.pane_select()
- Deprecated
Session.attach_session()renamed toSession.attach()- Deprecated
Session.attach_session()
- Deprecated
Server.kill_server()renamed toServer.kill()- Deprecated
Server.kill_server()
- Deprecated
Session.kill_session()renamed toSession.kill()- Deprecated
Session.kill_session()
- Deprecated
Window.kill_window()renamed toWindow.kill()- Deprecated
Window.kill_window()
- Deprecated
Improved commands
-
Server.new_session(): Support environment variables -
Window.split_window(): Supportsizevia-lSupports columns/rows (
size=10) and percentage (size='10%')
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.29.0...v0.30.0
Download
v0.29.0 - `DeprecationWarning` improvements
v0.29.0
Develpment
- fix(warnings): Use
DeprecationWarningfor APIs being deprecated by @tony in https://github.com/tmux-python/libtmux/pull/526
Testing
- pytest: Ignore
DeprecationWarningin tests @tony in https://github.com/tmux-python/libtmux/pull/526
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.28.1...v0.29.0
Download
v0.28.1 - Maintenance release
v0.28.1
Maintenance only, no bug fixes or new features
Testing
- CI: Bump actions to node 20+ versions
Documentation
- Refine docs and add migration for v0.28.0
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.28.0...v0.28.1
Download
v0.28.0 - Refresh and resize improvements
v0.28.0
Breaking changes
Session.new_window() + Window.split_window(): No longer attaches by default
- 0.28 +: Now defaults to
attach=False. - 0.27.1 and before: defaults to
attach=True.
Pass attach=True for the old behavior.
Pane.resize_pane() renamed to Pane.resize(): (#523)
This convention will be more consistent with Window.resize().
Pane.resize_pane(): Params changed (#523)
- No longer accepts
-U,-D,-L,-Rdirectly, instead accepts
ResizeAdjustmentDirection.
New features
Pane.resize(): Improved param coverage (#523)
-
Learned to accept adjustments via
adjustment_directionw/
ResizeAdjustmentDirection+adjustment. -
Learned to accept manual
heightand / orwidth(columns/rows or percentage) -
Zoom (and unzoom)
Window.resize_window(): New Method (#523)
If Pane.resize_pane() (now Pane.resize()) didn’t work before, try resizing the window.
Bug fixes
Window.refresh() and Pane.refresh(): Refresh more underlying state (#523)
Obj._refresh: Allow passing args (#523)
e.g. -a (all) to list-panes and list-windows
Server.panes: Fix listing of panes (#523)
Would list only panes in attached session, rather than all in a server.
Improvements
- Pane, Window: Improve parsing of option values that return numbers
(#520) Obj._refresh: Allow passinglist_extra_argsto ensurelist-windowsand
list-panescan return more than the target (#523)
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.27.1...v0.28.0
Download
v0.27.1 - Packaging tweak
v0.27.1
What’s Changed
- pyproject: Include
MIGRATIONin sdist by @tony in https://github.com/tmux-python/libtmux/pull/517, for https://github.com/tmux-python/libtmux/issues/508
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.27.0...v0.27.1
Download
v0.27.0 - `QueryList` improvements
v0.27.0
Improvements
-
QueryList: Generic fixes by @tony in https://github.com/tmux-python/libtmux/pull/515
-
This improves the annotations in descendant objects such as:
Server.sessionsSession.windowsWindow.panes
-
Bolster tests (ported from
libvcs): doctests and pytests
-
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.26.0...v0.27.0
Download
v0.26.0 - Doc and linting improvements
v0.26.0
What’s Changed
Breaking change
get_by_id()(already deprecated) keyword argument renamed fromidto
Server.get_by_id(session_id),Session.get_by_id(window_id), andWindow.get_by_id(pane_id)(#514)
Documentation
- Various docstring fixes and tweaks (#514)
Development
-
Strengthen linting (#514)
-
Add flake8-commas (COM)
-
Add flake8-builtins (A)
-
Add flake8-errmsg (EM)
-
CI
- Move CodeQL from advanced configuration file to GitHub’s default
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.25.0...v0.26.0
Download