Skip to main content

Decorator functions to trace invocation of functions and class methods.

Project description

ftracer Package

ftracer - decorator functions to trace invocation of functions and class methods

DESCRIPTION

A Python module for tracing function and method invocations with detailed, customizable logging. The ftracer module provides tools for decorating individual functions, all functions in a module, and all methods in a class to log their invocation, arguments, and return values. This is particularly useful for debugging and understanding the flow of execution in your code.

ftracer allows developers to:

  • Decorate individual functions with the @trace decorator to log their calls.
  • Decorate entire classes with the @trace_methods decorator to trace all method calls within a class.
  • Automatically attach decorators to all functions or classes in a module using trace_all_functions and trace_all_classes.
  • Customize the tracing behavior, such as pretty-printing arguments and limiting list representations.

Key features:

  • Customizable pretty-printer for function arguments and return values.
  • Ability to apply tracing globally to all functions or classes in a module.
  • Optional debug mode for additional trace logs.

EXAMPLE

Tracing Individual Functions

from ftracer import trace

@trace
def add(a, b):
    return a + b

result = add(5, 3)
** add(a=5, b=3)

Tracing All Methods in a Class

from ftracer import trace_methods

@trace_methods
class Calculator:
    def multiply(self, x, y):
        return x * y

calc = Calculator()
calc.multiply(4, 7)
** multiply(self=<Calculator>, x=4, y=7)

Applying Traces Globally in a Module

from ftracer import trace_all_functions

trace_all_functions()

def greet(name):
    return f"Hello, {name}!"

greet("Alice")
** greet(name='Alice')

INSTALLATION

pip3 install ftracer

AVAILABILITY

The latest version of ftracer module is available at PyPI (https://pypi.org/project/ftracer/) .

SEE ALSO

AUTHOR

Hiroyuki Ohsaki <ohsaki[atmark]lsnl.jp>

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

ftracer-1.1.tar.gz (15.6 kB view details)

Uploaded Source

Built Distribution

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

ftracer-1.1-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file ftracer-1.1.tar.gz.

File metadata

  • Download URL: ftracer-1.1.tar.gz
  • Upload date:
  • Size: 15.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for ftracer-1.1.tar.gz
Algorithm Hash digest
SHA256 2b7ed0cf2b26bd792df3648ca5f2ae441508950702cc8e2e736af89daea7b7a8
MD5 41d149b6bd8bb072c8a3a7b25e248840
BLAKE2b-256 d69a9b7b4eac538a30e06a419ba0188618ca06fefc49c24a9a68b908c8191a1f

See more details on using hashes here.

File details

Details for the file ftracer-1.1-py3-none-any.whl.

File metadata

  • Download URL: ftracer-1.1-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for ftracer-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a5288c951dccd9c176a920c37ca2adacdfa643de4bf11e48381b95e685d20a00
MD5 45a4639c81d3a5e3bd4b38079c7308c7
BLAKE2b-256 8e9b0fd9907aec388b4d3519f6978a997f2a52b3c68dc87470868ea237dcad6d

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