Skip to main content

Eliot: Logging that tells you why it happened

Build Status

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 works well within a single process, but can also be used across multiple processes to trace causality across a distributed system. Eliot is only used to generate your logs; you will still need tools like Logstash and ElasticSearch to aggregate and store logs if you are using multiple processes.

Eliot supports Python 3.4, 3.5, 3.6, 3.7 and PyPy. It is maintained by Itamar Turner-Trauring, and released under the Apache 2.0 License.

Python 2.7 is currently supported but will be dropped from future releases; see here for details.

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

Metadata

Release files for eliot 1.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eliot 1.7.0
File Size Uploaded
eliot-1.7.0.tar.gz 152.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eliot 1.7.0
File Interpreter ABI Platform
eliot-1.7.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 270.1 kB

Release files / eliot-1.7.0.tar.gz

Download URL eliot-1.7.0.tar.gz
Size 152.5 kB
Tags Source
SHA-256 checksum
How to use checksums
68f3901211288c6c3cb2d05124069a42fa8d4635362dd4b3c6459f701cf39e7a
BLAKE2b-256 checksum
How to use checksums
fb21f327b4597c0f93abdc4d615a9b155d7543192ec391782f9902bdb48ae0cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/36.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

Release files / eliot-1.7.0-py2.py3-none-any.whl

Download URL eliot-1.7.0-py2.py3-none-any.whl
Size 117.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
816d2fd04f8b935c008f3cbeb75e1645e3fdf2ef58f1d16cf8cfc568a84a4173
BLAKE2b-256 checksum
How to use checksums
f4e6ed4f908789ff2251a6abab4eb8f5eedabb08374f8bfc3368c78d91b6c2b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.19.1 setuptools/36.6.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.8

Release history Release notifications | RSS feed

1.17.5

2 release files

1.16.0

2 release files

1.15.0

1 release file

1.14.0

2 release files

1.13.0

2 release files

1.12.0

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.0

2 release files

This release

1.7.0 This release

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

1 release file

0.3.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page