Pure Python procps "watch" replacement
Project description
py-proc-watch
Library and command line tool for watching process output. This is more or less a simpler version of watch
from procps.
The main differences come from defaults:
py-proc-watch
always trims long lines so they fit on the screenpy-proc-watch
respects color ANSI escape sequences (but strips the rest)- Python or C for the implementation
Design goals
py-proc-watch
library and tool should be:
- simple
- fast for very long output of executed command
- easily tested for correct behavior
- pure Python to maximize the amount of supported systems
- easy to use in other tools
Usage
pywatch
command line tool supports only a few command line options to keep it simple:
usage: pywatch.py [-h] [-n INTERVAL] [-p] [-v] command [command ...]
positional arguments:
command command to watch, can be specified as a quoted string or as a list (use -- to separate pywatch and command options)
options:
-h, --help show this help message and exit
-n INTERVAL, --interval INTERVAL
seconds to wait between command runs, positive floats and zero are accepted
-p, --precise try to run the command precisely at intervals
-v, --debug show debug information
py_proc_watch
can be used also as a Python module to provide "watch-like" functionality easily. The library is quite simple, so just read the source and tests.
Development
py-proc-watch
uses Python Poetry to manage dependencies, version 1.3.0 or later is required due to lock file format.
Used tools:
isort
for keeping imports saneblack
for enforcing a consistent code styleruff
for lintingmypy
for type checkingpytest
for running testpoethepoet
for easily running all of the above
The magic incantation:
poetry run poe check
will run all of the lint and test tools for you. During development running:
poetry run poe format
Will run isort
and black
to format the source code, ruff
and mypy
will be executed after code formatting to check for violations.
Contributing and reporting issues
Please use GitHub Issues and Pull requests. If you're contributing code please see Development section.
License
MIT, see LICENSE.md for full text. This is very permissive license, see following pages for more information:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file py_proc_watch-0.2.1.tar.gz
.
File metadata
- Download URL: py_proc_watch-0.2.1.tar.gz
- Upload date:
- Size: 8.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.0 CPython/3.12.0 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b69cefce883b1caa64ebdc704d9df04fe2007aded7cb7e56530414c37716cd7 |
|
MD5 | bdc701941c59dbf2b8df4e7fcd232b52 |
|
BLAKE2b-256 | 7f458475427ce49a81f356114e3482556d753aec1fee8fe91fc29145b0a658dc |
File details
Details for the file py_proc_watch-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: py_proc_watch-0.2.1-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.0 CPython/3.12.0 Windows/11
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eeac25b0eb1698f01a4bcd437800c6eceba6f282207d10ba80f296a1b6d790be |
|
MD5 | b2e667167462ee5ae5b17b392f616eac |
|
BLAKE2b-256 | 101bf720acf690987501d9fdb3f76968c989e78d2e299f150a5bd571bb6730d1 |