Skip to main content

SSH, Proc, Multiproc, tail.py, log.py, stream.py, daemonize.py, etc.

Project description

reversefold.util

Available on pypi

This is a collection of various command-line scripts and libraries which have come in useful over the years I've worked with Python.

log.py

Captures stdout of a process and enables transformation the output (such as adding a timestamp to each line) and is compatible with external logrotate through WatchedFileHandler.

daemonize.py

Useful for daemonizing another process which either does not daemonize itself or for which you want to capture stdout and stderr to log files. Uses WatchedFileHandler for output to log files to allow for external log rotation.

stream.py

Similar to tail -f but with some more options for type of buffering and supports streaming the entire current contents of the file before then following the tail of the file.

reversefold.util

rate_limit_gen

A generator wrapper which rate-limits another generator. If the rate is exceeded, further values received within the period are discarded. Useful, for example, for making sure that the number of lines you display from a log file you're following don't cause your terminal to block while displaying a huge amount of output.

chunked

Breaks up an iterable into equal-sized chunks.

reversefold.util.ssh

SSHHost

A programmatic interface to ssh. Allows easily running a single command or a shell script or interactively sending input and displaying output. Originally written as a drop-in monkeypatch for fabric's use of paramiko.

reversefold.util.multiproc

run_subproc

Takes a subprocess as input and sets up threads for handling and displaying stdout and stderr from the process. Defaults to blocking until the process is finished but also supports immediately returning and including the threads in the return value. Also defaults to capturing the stdout and stderr and returning them as lists of lines.

reversefold.util.proc

Provides context managers to ensure that a process is sent a TERM or KILL signal (or both) to a process when the context block exits. Can optionally find child processes recursively and send the same signal(s) to them. Also provides functions for the same functionality.

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

reversefold.util-3.0.1.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reversefold.util-3.0.1-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file reversefold.util-3.0.1.tar.gz.

File metadata

  • Download URL: reversefold.util-3.0.1.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.15 CPython/3.7.2 Darwin/18.6.0

File hashes

Hashes for reversefold.util-3.0.1.tar.gz
Algorithm Hash digest
SHA256 f7df6584eec40add49f2f36b58690f9fa1b97978e0b06e8770a4c9722b19410a
MD5 f8e05df9e6a3eb2f403505578ec5ed36
BLAKE2b-256 18d0f4d43f410bb6e4368dae4d5b5a25db745457e5f09ee7856e4894f8a2d344

See more details on using hashes here.

File details

Details for the file reversefold.util-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: reversefold.util-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.15 CPython/3.7.2 Darwin/18.6.0

File hashes

Hashes for reversefold.util-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8379818eaab94c0be2a75620d1ac10561f7d59b105d3aa8bd0ea830c9918969c
MD5 abd84501404d1076c9b64ebabece7c96
BLAKE2b-256 d69977babe47d3bec07b00b3e9b7c429a2caf5265c1ad21a8370d2ac7791354f

See more details on using hashes here.

Supported by

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