skillfed

logfury

('Toolkit for responsible, low-boilerplate logging of library method calls',)

logfury v1.0.1 525.0K downloads/30d#6,186 on PyPI5
Permissive license BSD Abandoned released

What it is and what it does

Logfury is a logging instrumentation library designed for Python library maintainers who want to trace method calls without writing repetitive logging code. It provides two main mechanisms: a DefaultTraceMeta metaclass that automatically logs calls to public methods in decorated classes, and a trace_call decorator for individual functions. Both log method entry with full argument values, and support filtering sensitive arguments or limiting what gets logged.

The library uses a versioned import scheme (e.g., `from logfury.v1 import ...`) to allow the maintainer to evolve the API and default behavior without breaking existing code—users choose when to adopt incompatible changes by updating their import version. It has no runtime dependencies and supports Python 3.5 through 3.10, though development stopped after 2021-10-23.

Use it for:

  • Add call tracing to a library's public API for debugging without modifying method bodies.
  • Log function entry points with arguments in a decorator-based approach for specific functions.
  • Hide sensitive arguments from trace logs using the limit_trace_arguments decorator.
  • Inherit tracing behavior across class hierarchies to instrument entire object hierarchies automatically.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Logfury adds automatic method-call tracing to Python classes and functions via metaclasses and decorators, logging entry points with arguments to help library maintainers debug without boilerplate.

No. While logfury is lightweight and has no runtime dependencies, it has been abandoned since 2021-10-23 with no maintenance. For new projects, consider actively maintained alternatives. For existing codebases already using it, the permissive BSD license and lack of vulnerabilities mean it is safe to keep, but do not adopt it for new work.

Install

logfury on PyPI

pip

pip install logfury

uv

uv add logfury

poetry

poetry add logfury

Installing logfury

Before you install

Installation is straightforward with no runtime dependencies. However, the package has been abandoned since the last commit on 2021-10-23, so expect no maintenance, bug fixes, or compatibility improvements.

License in practice

BSD license is permissive, allowing use in both open-source and proprietary projects with minimal restrictions.

Quickstart

pip install logfury

import logging
from logfury.v1 import DefaultTraceMeta

logging.basicConfig()
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

@six.add_metaclass(DefaultTraceMeta)
class MyClass:
    def my_method(self, a, b):
        return a + b

The package uses an older metaclass pattern that may not align with modern Python conventions.

Verify before relying

  • Whether the package works reliably with Python 3.10 given its abandonment status.
  • Compatibility with async/await patterns or modern async libraries.
  • Performance impact of metaclass-based tracing on large codebases or high-call-volume scenarios.
  • Whether six is a runtime dependency despite not appearing in the deps list.

Package facts

License BSD (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,756 days since the last release
Last repo commit
First released
Downloads 524,974/month — #6,186 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: logfury-1.0.1-py3-none-any.whl

Keywords: logging, tracing

Development Status :: 6 - MatureIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Logging

Tags

method call tracing loggingautomatic function entry logginglibrary debugging instrumentationlow-boilerplate call tracingpython method call loggerdebug library method callstrace function arguments
abandonedmetaclass-basedargument-filtering

More Python Modules packages