Skip to main content

pytmux

This is a simple wrapper around tmux to allow you to define a session in a JSON file. This is to avoid having to do all the setup of making the session with a name, opening the windows with the right names and commands, and doing so in a consistent manner. Also, if the session already exists, it will just open it for you.

Installation

Simply install it from pypi:

pip install pytmux

or if you insist:

easy_install pytmux

Usage

To list all configs:

pytmux list

To run a config:

pytmux run <config>

To start a new configuration or edit an existing one:

pytmux edit <config>

To validate all of your configs:

pytmux doctor

Configs

JSON will be used for configs:

{
    "name": "sample",
    "directory": "~/devel/sample",
    "windows": [
        {
            "name": "dev server",
            "command": "./manage.py runserver"
        }, {
            "name": "some shell"
        }, {
            "command": "emacs"
        }, {}
    ]
}

Will open a tmux session named sample with 4 windows open. The first will be named dev server and will have ./manage.py runserver running in it. The second will be a window named some shell which will have the system default shell running in it. The third will default to using automatic-rename and will have emacs running in it. The final will be a window with automatic-rename and the system default shell.

Why

Honestly, I don’t want to build this, but none of the currently existing tmux wrappers seem interested in supporting not naming windows and letting tmux do its automatic-rename thing. Also they use YAML and I prefer JSON.

Prior Art

There are a couple that exist already but don’t make me happy.

History

0.1.0 (2013-03-19)

  • Support Python 3 (3.3 is was the tested version)

0.0.9 (2013-03-16)

  • Support setting default directory.

0.0.8 (2013-03-16)

  • Fixed initial call to Tmux.

0.0.7 (2013-03-15)

  • Rewrote the tmux calling code to be a little less verbose.

0.0.6 (2013-03-07)

  • Properly handle sessions with a dot in it.

0.0.5 (2013-03-06)

  • Added jsonschema to the requirements because I forgot it (thanks Andy McKay).

  • Added missing comma in core.py

0.0.4 (2013-03-06)

  • Added pytmux doctor command.

0.0.3 (2013-03-04)

  • Edit has a default config that it will add if you are making a new file.

0.0.2 (2013-03-03)

  • Run now has nicer error messages.

0.0.1 (2013-03-03)

  • Initial release.

Metadata

Release files for pytmux 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytmux 0.1.0
File Size Uploaded
pytmux-0.1.0.tar.gz 8.8 kB Details

Release files / pytmux-0.1.0.tar.gz

Download URL pytmux-0.1.0.tar.gz
Size 8.8 kB
Tags Source
SHA-256 checksum
How to use checksums
ff95846bf7a837bfc3f49768ba2c447ab38a48c0fbf100f0c0afcf54191d4c13
BLAKE2b-256 checksum
How to use checksums
2cc0021f7e2611ab414dc5b70b4bfb4ac817a2e262eec7732678d90074eb0020
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

1 release file

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page