Skip to main content

A collection of small useful helpers

Project description

Personal collection of helpers and often-useful snippets for Python

Install the latest version with pip install -U “git+https://gitlab.com/hoverhell/pyaux.git#egg=pyaux”

Contains:

  • window: iterator over a ‘window’ of N adjacent elements

  • dotdict: attr→item dict subclass (e.g. for d.key instead of d[‘key’])

  • DebugPlug: recursive duck-object for debug and testing purposes

  • repr_call: convenient syntactically-appropriate representation of call arguments (also used in DebugPlug)

  • fxrange, frange, dxrange, drange: xrange() / range() equivalents for float (without error accumulation) and Decimal

  • dict_fget, dict_fsetdefault: versions of dict.get and dict.setdefault with lazy-computation of the default value

  • split_list: simple one-pass splitting of list into two by a condition

  • use_cdecimal: forced instance-wide use (by monkey-hack) of cdecimal instead of decimal (for performance)

  • use_exc_ipdb: set unhandled exception handler to run ipdb.pm()

  • use_exc_log: set unhandled exception handler to log (by logging) the exception and the stack trace including (when possible) the local variables.

  • use_colorer: monkey-patch logging for colored logging

  • obj2dict: recursive converter of tree-structure of classes into a tree-structure of dicts, e.g. for pretty-printing the result

  • mk_logging_property: make a property that debug-logs the value and caller info when set

  • Some other things that are too minor to be listed here.

Also, in separate submodules:

  • psql: helpers for saving Django ORM objects into an SQL ‘COPY’-like file and loading it in one SQL command (for high-performance loading of large amounts of data into the database)

  • lzmah: lzma compress (as function and as an executable file); also provides a function unjsllzma to stream-read (json) lines from a pylzma-compressed file

  • lzcat: lzcat for pylzma-specific format (as function and as an executale file)

  • runlib: various things for runscripts:

    • init_logging: logging.basicConfig with useful defaults (for development runscripts).

    • sigeventer: list-based signal handler for SIGINT and SIGTERM (for appending handler functions, similarly to atexit)

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

pyaux-5.0.0.tar.gz (84.6 kB view details)

Uploaded Source

Built Distribution

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

pyaux-5.0.0-py3-none-any.whl (97.6 kB view details)

Uploaded Python 3

File details

Details for the file pyaux-5.0.0.tar.gz.

File metadata

  • Download URL: pyaux-5.0.0.tar.gz
  • Upload date:
  • Size: 84.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for pyaux-5.0.0.tar.gz
Algorithm Hash digest
SHA256 8af39c6ef821aaabe97fdd7496bfa0b1bcf1a7f863089243bda460287ce30135
MD5 8e322babd8ee0f877d5aa7c4a11f665f
BLAKE2b-256 e8cdc9d0bd1f1c5a644a94cb2c8f5aee7d040fe2ec6e761d287a3773700611c3

See more details on using hashes here.

File details

Details for the file pyaux-5.0.0-py3-none-any.whl.

File metadata

  • Download URL: pyaux-5.0.0-py3-none-any.whl
  • Upload date:
  • Size: 97.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for pyaux-5.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60ff165163102825cae574b57091075fac7a3e181c1f4cdd8dffad6fe07a36b7
MD5 8f90cc77bb5c29b413a0b6c8c36f9d33
BLAKE2b-256 15864b217794b40f2004ad652e1a4fffced25a0a1f25b4882c04b8e1889142ad

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