Skip to main content

Essential functions to be easily reused across Python projects.

Project description

Python Essentials

PyPI PyPI - Python Version

  • Easily create a logger enhanced with rich logging handler
  • Traceback formatting that you can easily following via rich Traceback
  • Non-blocking hotkey monitoring via keyboard (e.g. enable debug logging on the fly)

Example Usage

Installing

essentialsx is registered on pypi and can be installed via pip

pip install essentialsx

Basic Setup

from essentialsx import Essentials

essentials = Essentials()

Logging

A simple wrapper for creating a logger (uses built-in logging module) was created which also adds in the rich logging handler for a beautiful logging experience. A couple optional parameters exist for this wrapper:

Parameter Functionality
name The name space to use for the logger. Uses root by default.
logfile Creates a file handler at this path and logs entries to this file in addition to the console handler.
loglevel The loglevel to be used (INFO, DEBUG, WARNING, ERROR, CRITICAL). Uses INFO by default.
# Create a basic logger with console handler
log = essentials.get_logger()
log.info('Logging to console works!')

# Create a logger with log file handler
log = essentials.get_logger(logfile='/tmp/logfile.log')
log.info('Logging to console and file works!')

Hotkeys

There are a few wrapper functions for the keyboard hotkey functions, this is to help keep track of hotkeys in use which gives us the opportunity to provide some predefined hotkeys. Hotkeys will need to be registered via the register_hotkey() function and will not be active (including the predefined hotkeys) until the enable_hotkeys() function is called. To disable hotkeys once they have been enabled, simply call the disable_hotkeys() function.

Predefined Hotkeys

Hotkey Functionality
ctrl+alt+d Toggles debug log level
ctrl+alt+l Lists all registered hotkeys

Registering Hotkeys

# Register a function with no arguments
def foo():
    print('bar')

essentials.register_hotkey('ctrl+f', foo)
>> bar

# Register a function with arguments
def bar(baz):
    print(baz)

essentials.register_hotkey('ctrl+b', bar, args=('baz',))
>> baz

Note: Registered hotkeys aren't active until enable_hotkeys() is called.

Enabling / Disabling Hotkeys

# Enable all registered hotkeys
essentials.enable_hotkeys()

# Disable all enabled hotkeys
essentials.disable_hotkeys()

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

essentialsx-0.0.2.tar.gz (4.5 kB view hashes)

Uploaded Source

Built Distribution

essentialsx-0.0.2-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

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