Manyterm
Spawn multiple terminals to print to (or get input from).
Or share terminals between python programs.
Compatible with Windows, Linux, and MacOS.
Installation
pip install manyterm or pip3 install manyterm
Usage
import manyterm
t1 = manyterm.Terminal() # make a new window
t1.print("Hello World") # print to the window
t1.print("supercalifragilisticexpialidocious", end="") # default end="\n"
t1.close() # close the window
To use a shared terminal, see demos/shared.py
Description
There are two types of terminals that can be made:
- One to Many
manyterm.Terminal():
- New terminals can printed to or be asked for input.
tests/print.pyis an example of how to use printing.tests/input.pyis an example of how to use input.
- Many to One
manyterm.SharedTerminal():
- Create a "shared" terminal that can be accessed from many independent python programs.
- Run several instances of
tests/shared.pyconcurrently to share one terminal. - Each instance will connect to the terminal based on the uid.
- Then run
tests/close_shared.pyto close the terminal.
Notes:
- Terminals are probably not thread safe.
- No errors will be thrown if trying to print to a closed terminal, however you can check the boolean return of print to see if it was successful.
- The title of the window can be changed in Linux with the
titleparameter. - The size of the window can be changed in Linux and Windows with the
colsandrowsparameter, unit is characters. - On Linux the terminal can be changed with the
terminalparameter, manyterm supportsgnome,kde/konsole,kitty, andalacritty.
How it works:
A server is used to print to client windows based on a uuid. When a new window object is made manyterm.Terminal() the program checks to make sure that the server is running, assigns itself a uuid, and then the program calls itself from a new terminal using the uuid as an argument. The new program contacts the server with its' uuid and the connection is made. For "Many to One" the window becomes the server and the user program becomes the client.
Windows 11
Linux (Mint 22.1)
MacOS Sonoma
Metadata
Release files for manyterm 2.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| manyterm-2.1.2.tar.gz | 9.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| manyterm-2.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.4 kB
Release files / manyterm-2.1.2.tar.gz
| Download URL | manyterm-2.1.2.tar.gz |
|---|---|
| Size | 9.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
84949617b21fffdf11368774e6371b3a8b8505d063456fa67558278c6aba6817
|
|
BLAKE2b-256 checksum How to use checksums |
e7e771c40480a79c966d351375b70a48cf7779d7213b7cdc2599ec4765b52eb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.7
|
Release files / manyterm-2.1.2-py3-none-any.whl
| Download URL | manyterm-2.1.2-py3-none-any.whl |
|---|---|
| Size | 8.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c48ce2c51c80962aaeaf065fcad652c36a74e3b3e7cfdda5e8424e6a27b53e67
|
|
BLAKE2b-256 checksum How to use checksums |
bd9c784bc21ac5f545bfc57786399478626730bb7fcb4a71b5735660ff087353
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.7
|