Skip to main content

Logging library that tells you why it happened

Project description

Python’s built-in logging and other similar systems output a stream of factoids: they’re interesting, but you can’t really tell what’s going on.

  • Why is your application slow?

  • What caused this code path to be chosen?

  • Why did this error happen?

Standard logging can’t answer these questions.

But with a better model you could understand what and why things happened in your application. You could pinpoint performance bottlenecks, you could understand what happened when, who called what.

That is what Eliot does. eliot is a Python logging system that outputs causal chains of actions: actions can spawn other actions, and eventually they either succeed or fail. The resulting logs tell you the story of what your software did: what happened, and what caused it.

Eliot supports a range of use cases and 3rd party libraries:

Eliot is only used to generate your logs; you will might need tools like Logstash and ElasticSearch to aggregate and store logs if you are using multiple processes across multiple machines.

Eliot supports Python 3.10-3.14, as well as PyPy 3.11. It is maintained by Itamar Turner-Trauring, and released under the Apache 2.0 License.

Testimonials

“Eliot has made tracking down causes of failure (in complex external integrations and internal uses) tremendously easier. Our errors are logged to Sentry with the Eliot task UUID. That means we can go from a Sentry notification to a high-level trace of operations—with important metadata at each operation—in a few seconds. We immediately know which user did what in which part of the system.”

—Jonathan Jacobs

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

eliot-1.18.0.tar.gz (719.2 kB view details)

Uploaded Source

Built Distribution

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

eliot-1.18.0-py3-none-any.whl (114.2 kB view details)

Uploaded Python 3

File details

Details for the file eliot-1.18.0.tar.gz.

File metadata

  • Download URL: eliot-1.18.0.tar.gz
  • Upload date:
  • Size: 719.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eliot-1.18.0.tar.gz
Algorithm Hash digest
SHA256 249ee78966da740b664301688982e2692d9b57ac92d065c7e2abf66bac06932d
MD5 948b273f84012274ad08eec3cada17fc
BLAKE2b-256 36e6daf15619e6a4010ecfab1897dc2eece71a4ec7bf55fc4fe775bbe0cb03a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eliot-1.18.0.tar.gz:

Publisher: publish.yml on itamarst/eliot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eliot-1.18.0-py3-none-any.whl.

File metadata

  • Download URL: eliot-1.18.0-py3-none-any.whl
  • Upload date:
  • Size: 114.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for eliot-1.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5beb40bc84d040373694e8a9dba9c646ce2c25a21fd152ae8d0e3301fe94689
MD5 f140bee232ef2efdb17e81a50859d6d5
BLAKE2b-256 e98e3b2cc4895996a951498e47ced3bc2b384aadf4a3945faa5330e062c6ef10

See more details on using hashes here.

Provenance

The following attestation bundles were made for eliot-1.18.0-py3-none-any.whl:

Publisher: publish.yml on itamarst/eliot

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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