Skip to main content
Help improve PyPI by participating in a 5-minute user interface 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.

Release history Release notifications

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
pytmux-0.1.0.tar.gz (8.8 kB) Copy SHA256 hash SHA256 Source None Mar 19, 2013

Supported by

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