semvec/pypi-packages huggingface dataset:
pytmux 0.1.0
A simple wrapper for tmux.
License: Apache License, Version 2.0

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.

- `tmuxinator <https://github.com/aziz/tmuxinator>`_
- `teamocil <https://github.com/remiprev/teamocil>`_


.. :changelog:

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.