skillfed

Twiggy

a Pythonic logger

twiggy v0.5.1 167.6K downloads/30d#10,466 on PyPI48
Permissive license BSD Abandoned released

What it is and what it does

Twiggy is a structured logging library designed to make logging more Pythonic by supporting method chaining, named fields, and a fluent API. Instead of formatting log messages as strings upfront, you attach structured data (fields) to log entries and let the logger handle output formatting. It provides a quick-setup entry point for simple use and a more flexible configuration path for advanced scenarios.

The package depends only on six for Python 2/3 compatibility. It has been stable since its early releases and is classified as Production/Stable, but development stopped in 2021. The library is lightweight and installs with minimal friction, making it suitable for projects that value clean logging syntax but must accept the trade-off of no ongoing maintenance.

Use it for:

  • Add structured fields (like request IDs or user names) to log entries without manual string formatting.
  • Build readable log output by chaining method calls (e.g., log.name('module').fields(x=1).info('message')).
  • Replace Python's standard logging in small to medium projects where a simpler, more Pythonic API is preferred.
  • Emit logs with consistent, machine-parseable structure for downstream analysis or aggregation.

Worth the install?

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

Twiggy is a structured logging library that provides a Pythonic API for emitting log messages with named fields, formatting, and chaining.

Yes, if you are starting a new project and value a clean, Pythonic logging API and can accept that the package is no longer maintained. No, if you need active bug fixes, security updates, or compatibility with the latest Python versions—consider modern alternatives like structlog or loguru instead. The low install friction and permissive license make it a low-risk experiment for small codebases.

Install

twiggy on PyPI

pip

pip install twiggy

uv

uv add twiggy

poetry

poetry add twiggy

Installing Twiggy

Before you install

Installation is frictionless (pure Python wheel, single dependency on six). However, the package is abandoned—last commit was 2021-09-08, over four years ago, with no active maintenance. Use only if you accept the risk of unpatched issues.

License in practice

Licensed under BSD (permissive), so you can use, modify, and distribute Twiggy freely in commercial and open-source projects without significant legal restrictions.

Quickstart

pip install twiggy

from twiggy import quick_setup, log
quick_setup()
log.name('frank').fields(number=42).info('hello {who}', who='world')

Verify before relying

  • Whether Twiggy's API and output format remain compatible with modern Python logging ecosystems and third-party integrations.
  • Current test coverage and whether the codebase runs without warnings on Python 3.10+.

Package facts

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

Evidence: Twiggy-0.5.1-py3-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: System :: Logging

Tags

python structured loggingpythonic logger librarylog with named fieldschained logging apiformatted log messagespython logging alternativefield-based logging
structured-loggingabandoned-but-stable

More Logging packages