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:
Logging within a single process.
Causal tracing across a distributed system.
Scientific computing, with built-in support for NumPy and Dask.
Asyncio and Trio coroutines and the Twisted networking framework.
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.9-3.13, as well as PyPy3. It is maintained by Itamar Turner-Trauring, and released under the Apache 2.0 License.
Download from PyPI or conda-forge.
Need help or have any questions? File an issue on GitHub.
Commercial support is available from Python⇒Speed.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eliot-1.17.5.tar.gz.
File metadata
- Download URL: eliot-1.17.5.tar.gz
- Upload date:
- Size: 160.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b3b17c60d8cbb9285369b61601bc5554aad023a153fc7bccadb1538968ea767
|
|
| MD5 |
a8a2f9930141a0c3c1af65d154117f9b
|
|
| BLAKE2b-256 |
5ac9c901e6dd3933fa2363b15725dd5f257c42e7c666f0e14774ea53e34c1652
|
Provenance
The following attestation bundles were made for eliot-1.17.5.tar.gz:
Publisher:
publish.yml on itamarst/eliot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eliot-1.17.5.tar.gz -
Subject digest:
6b3b17c60d8cbb9285369b61601bc5554aad023a153fc7bccadb1538968ea767 - Sigstore transparency entry: 175507124
- Sigstore integration time:
-
Permalink:
itamarst/eliot@5777a808a263eccf61809a21c792e5aecde64268 -
Branch / Tag:
refs/tags/1.17.5 - Owner: https://github.com/itamarst
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5777a808a263eccf61809a21c792e5aecde64268 -
Trigger Event:
release
-
Statement type:
File details
Details for the file eliot-1.17.5-py3-none-any.whl.
File metadata
- Download URL: eliot-1.17.5-py3-none-any.whl
- Upload date:
- Size: 113.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f93991fb8b853e82ef892618a09dfe285a3f6b9d2b3448a34cdc3f0ae6d47635
|
|
| MD5 |
276193011804d6aba758f32bd7664bd9
|
|
| BLAKE2b-256 |
3e6e1489a1dc489d080798b9e36e850f60e70061db671ffbebd56b503b63c102
|
Provenance
The following attestation bundles were made for eliot-1.17.5-py3-none-any.whl:
Publisher:
publish.yml on itamarst/eliot
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eliot-1.17.5-py3-none-any.whl -
Subject digest:
f93991fb8b853e82ef892618a09dfe285a3f6b9d2b3448a34cdc3f0ae6d47635 - Sigstore transparency entry: 175507126
- Sigstore integration time:
-
Permalink:
itamarst/eliot@5777a808a263eccf61809a21c792e5aecde64268 -
Branch / Tag:
refs/tags/1.17.5 - Owner: https://github.com/itamarst
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@5777a808a263eccf61809a21c792e5aecde64268 -
Trigger Event:
release
-
Statement type: