Skip to main content

pyaux

Project description

Collection of helpers and useful things for Python

pyaux

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:

  • bubble: syntactic sugar for super(…)

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

  • SmartDict: 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

  • interp, edi: two versions (simplified and format-supporting) of convenient string interpolation (or simplified templating)

  • 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)

    • make_manhole: init a Twisted SSH manhole with set up locals, key-based auth, etc.

  • twisted_aux: use_exc_log-equivalent for twisted (and a helper to remove the default logger).

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-2.11.0.tar.gz (86.6 kB view details)

Uploaded Source

Built Distribution

pyaux-2.11.0-py3-none-any.whl (101.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyaux-2.11.0.tar.gz
  • Upload date:
  • Size: 86.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.5

File hashes

Hashes for pyaux-2.11.0.tar.gz
Algorithm Hash digest
SHA256 d144e8efe55ed8ebfb34505effab44dd4f7cff81c4d01fc0e5e2810050d6f9b0
MD5 468ea49aa33814ffcd3f07919d1f8120
BLAKE2b-256 d3b679038ccaf95c6cd694654926a71ef07d378c9c0bc01f53d8bb3e88ba2f6a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyaux-2.11.0-py3-none-any.whl
  • Upload date:
  • Size: 101.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.20.1 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.5

File hashes

Hashes for pyaux-2.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13a6f115c22b26819b2e9cf7df1e04d97f3a6e72c4e20b4fd2944d45b840e954
MD5 887eb314f6acf19f93c64b08a9d4b7b4
BLAKE2b-256 571bce4f7c5ad7955444f09a34057a9c85956c6f2d8a8388b780225fd182dbff

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