Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

A simple wrapper for tmux.

Project description


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.


Simply install it from pypi:

pip install pytmux

or if you insist:

easy_install pytmux


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


JSON will be used for configs:

    "name": "sample",
    "directory": "~/devel/sample",
    "windows": [
            "name": "dev server",
            "command": "./ 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 ./ 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.


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.


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

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.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pytmux, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size pytmux-0.1.0.tar.gz (8.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page