Skip to main content

Dev Tools is a collection of utility tools for Python developers, designed to simplify debugging, logging, and monitoring tasks. This package includes custom logging handlers, decorators for measuring execution time, and a progress bar utility to enhance the development workflow.

Project description

Bosos Dev Tools

Python Versions Platform PypI Versions PyPI status Github Actions Test and Publish Status codecov License

Bosos Dev Tools is a collection of utility tools for Python developers, designed to simplify debugging, logging, and monitoring tasks. This package includes custom logging handlers, decorators for measuring execution time, and a progress bar utility to enhance the development workflow.

Features

  • Custom Logging Handlers: Log messages to various destinations, including databases, with customizable formats.
  • Timing Decorators: Easily measure the execution time of your functions with minimal code changes.
  • Progress Bar Utility: Visualize the progress of long-running operations in the console.
  • Debug Tools: Check if debug or timing modes are enabled via environment variables.

Installation

You can install the package via pip:

pip install bosos-dev-tools

Usage

Custom Logging Handler

The LogDBHandler allows you to log messages directly to a database.

import logging
from dev_tools.custom_handlers import LogDBHandler

logger = logging.getLogger('test_logger')
db_handler = LogDBHandler(db_table='test_table')
logger.addHandler(db_handler)
logger.setLevel(logging.INFO)

logger.info('This is a test log message.')

Timing Decorator

Use the timing_decorator to measure the execution time of functions.

from dev_tools.custom_decorators import timing_decorator

@timing_decorator
def example_function():
    for i in range(1000000):
        pass

example_function()

Progress Bar

Use the progress_bar to measure the execution time of functions.

from dev_tools.progress_bar import progress_bar

for item in progress_bar(range(10)):
    pass

Debug Tools

Check if debug or timing modes are enabled via environment variables. Use the logger_setup to set up your logging settings at the beginning of the script.

from dev_tools.debug_tools import is_debug_on, is_timing_on

print('Is debug on:', is_debug_on())
print('Is timing on:', is_timing_on())
from dev_tools.debug_tools import logger_setup

def main():
    logger_setup()

if __name__ == '__main__':
    main()

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Links

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

bosos_dev_tools-0.2.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

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

bosos_dev_tools-0.2.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file bosos_dev_tools-0.2.0.tar.gz.

File metadata

  • Download URL: bosos_dev_tools-0.2.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for bosos_dev_tools-0.2.0.tar.gz
Algorithm Hash digest
SHA256 52b01c07b04e80ae9f3384b14e8d44117a296c7dd4d88cbb19dee8cf77ee8895
MD5 6fe3746e1b1df07777f57222137c2c7c
BLAKE2b-256 60c1fd6115858044bba72a0b0073f5669298a51983490cf252640646fc9aebf4

See more details on using hashes here.

File details

Details for the file bosos_dev_tools-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bosos_dev_tools-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d1374412c5f13fed956599f27f5e80983325f781461ac71bd0953892968f5a9c
MD5 bbc9ab1045c19caeaf77bf591c8cc7a3
BLAKE2b-256 299b1cd13164544b8d40362c5ea4bb2a9c6a4c8cbc966820dbbfc94770681bb6

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