Skip to main content

Pure Python procps "watch" replacement

Project description

py-proc-watch

PyPI version Downloads Supported Python versions Poetry

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 screen
  • py-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:

  1. simple
  2. fast for very long output of executed command
  3. easily tested for correct behavior
  4. pure Python to maximize the amount of supported systems
  5. 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 sane
  • black for enforcing a consistent code style
  • ruff for linting
  • mypy for type checking
  • pytest for running test
  • mockito for mocks in unit tests
  • poethepoet 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

py_proc_watch-0.2.2.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

py_proc_watch-0.2.2-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file py_proc_watch-0.2.2.tar.gz.

File metadata

  • Download URL: py_proc_watch-0.2.2.tar.gz
  • Upload date:
  • Size: 8.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for py_proc_watch-0.2.2.tar.gz
Algorithm Hash digest
SHA256 f5419502cc8cd6ec0fc51c71237c5f234fb96e7442a4af0ff18b54257d3b6735
MD5 54c0da086f9ae309c77eec01301bf20c
BLAKE2b-256 d04393c43a71c92260b576453694334828b7e9a1c6a7d9788f65661a4702744d

See more details on using hashes here.

File details

Details for the file py_proc_watch-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: py_proc_watch-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Windows/11

File hashes

Hashes for py_proc_watch-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 006d624c2009e0e0266520df601ce37923f059eb376ddbd7db578854a94718a5
MD5 9d497158cf19e9ff03e76972cbd56020
BLAKE2b-256 c977cbfed50808d65231a82e57035a779110727b2f5079c2574421fb8d9bca81

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page