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,109
Forks: 112
Open issues: 86
License: mit
Language: Python
Size: 4.09 MB
Dependencies parsed at: Pending
Created at: over 9 years ago
Updated at: 1 day ago
Pushed at: about 9 hours ago
Last synced at: about 7 hours 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.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
v0.25.0 - doc and comparator improvements
v0.25.0
Changes
Comparator fixes
- Fixed
__eq__for windows. by @m1guelperez in https://github.com/tmux-python/libtmux/pull/505 - fix(pane,session,server): Return
Falseif type mismatched by @tony in https://github.com/tmux-python/libtmux/pull/510
Documentation
- ruff: Enable pydocstyle w/ numpy convention by @tony in https://github.com/tmux-python/libtmux/pull/509
New Contributors
- @m1guelperez made their first contribution in https://github.com/tmux-python/libtmux/pull/505
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.24.1...v0.25.0
Download
v0.24.1 - Packaging fixes
v0.24.1
What’s Changed
Packaging
- packaging: Remove requirements/ folder. Unused. by @tony in https://github.com/tmux-python/libtmux/pull/507
- pyproject: Add
gp-libstotestdependency group
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.24.0...v0.24.1
Download
v0.24.0 - Maintenance release
v0.24.0
Maintenance only, no bug fixes or new features
What’s Changed
Breaking changes
- Drop Python 3.7 by @tony in https://github.com/tmux-python/libtmux/pull/497
Packaging
-
packaging(pytest): Move configuration to pyproject.toml by @tony in https://github.com/tmux-python/libtmux/pull/499
-
Poetry: 1.5.1 -> 1.6.1 (#497), 1.6.1 -> 1.7.0 (direct to trunk)
See also: https://github.com/python-poetry/poetry/blob/1.7.0/CHANGELOG.md
-
Packaging (poetry): Fix development dependencies
Per Poetry’s docs on managing dependencies and
poetry check, we had it wrong: Instead of using extras, we should create these:[tool.poetry.group.group-name.dependencies] dev-dependency = "1.0.0"Which we now do.
Development
-
Formatting:
black->ruff formatby @tony in https://github.com/tmux-python/libtmux/pull/506 -
CI: Update action packages to fix warnings
- dorny/paths-filter: 2.7.0 -> 2.11.1
- codecov/codecov-action: 2 -> 3
Full Changelog: https://github.com/tmux-python/libtmux/compare/v0.23.2...v0.24.0
Download