Skip to main content

Echion

Near-zero-overhead, in-process CPython frame stack sampler with async support

Synopsis

Echion is an in-process CPython frame stack sampler. It can achieve near-zero-overhead, similar to Austin, by sampling the frame stack of each thread without holding the GIL. Native stacks can be sampled too, but the overhead is higher.

Echion is also the first example of a high-performance sampling async profiler for CPython.

Installation

Currently Echion is available to install from PyPI with

pip install echion

Alternativey, if a wheel is not available for your combination of platform and architecture, it can be installed from sources with

pip install git+https://github.com/p403n1x87/echion

Compilation requires a C++ compiler and static versions of the libunwind and lzma libraries.

Usage

The following is the output of the echion --help command.

usage: echion [-h] [-i INTERVAL] [-c] [-n] [-o OUTPUT] [-s] [-w] [-v] [-V] ...

In-process CPython frame stack sampler

positional arguments:
  command               Command string to execute.

options:
  -h, --help            show this help message and exit
  -i INTERVAL, --interval INTERVAL
                        sampling interval in microseconds
  -c, --cpu             sample on-CPU stacks only
  -x EXPOSURE, --exposure EXPOSURE
                        exposure time, in seconds
  -m, --memory          Collect memory allocation events
  -n, --native          sample native stacks
  -o OUTPUT, --output OUTPUT
                        output location (can use %(pid) to insert the process ID)
  -p PID, --pid PID     Attach to the process with the given PID
  -s, --stealth         stealth mode (sampler thread is not accounted for)
  -w WHERE, --where WHERE
                        where mode: display thread stacks of the given process
  -v, --verbose         verbose logging
  -V, --version         show program's version number and exit

The output is written to a file specified with the --output option. Curretly, this is in the format of the normal Austin format, that is collapsed stacks with metadata at the top. This makes it easy to re-use existing visualisation tools, like the Austin VS Code extension.

Compatibility

Supported platforms: Linux (amd64, i686), Darwin (amd64, aarch64)

Supported interpreters: CPython 3.8-3.13

Notes

Attaching to a process (including in where mode) requires extra permissions. On Unix, you can attach to a running process with sudo. On Linux, one may also set the ptrace scope to 0 with sudo sysctl kernel.yama.ptrace_scope=0 to allow attaching to any process. However, this is not recommended for security reasons.

Where mode

The where mode is similar to Austin's where mode, that is Echion will dump the stacks of all running threads to standard error. This is useful for debugging deadlocks and other issues that may occur in a running process.

When running or attaching to a process, you can also send a SIGQUIT signal to dump the stacks of all running threads. The result is similar to the where mode. You can normally send a SIGQUIT signal with the CTRL+\ key combination.

Memory mode

Besides wall time and CPU time, Echion can be used to profile memory allocations. In this mode, Echion tracks the Python memory domain allocators and accounts for each single event. Because of the tracing nature, this mode introduces considerable overhead, but gives pretty accurate results that can be used to investigate potential memory leaks. To fully understand that data that is collected in this mode, one should be aware of how Echion tracks allocations and deallocations. When an allocation is made, Echion records the frame stack that was involved and maps it to the returned memory address. When a deallocation for a tracked memory address is made, the freed memory is accounted for the same stack. Therefore, objects that are allocated and deallocated during the tracking period account for a total of 0 allocated bytes. This means that all the non-negative values reported by Echion represent memory that was still allocated by the time the tracking ended.

Since Echion 0.3.0.

Why Echion?

Sampling in-process comes with some benefits. One has easier access to more information, like thread names, and potentially the task abstraction of async frameworks, like asyncio, gevent, ... . Also available is more accurate per-thread CPU timing information.

Currently, Echion supports sampling asyncio-based applications, but not in native mode. This makes Echion the very first example of an async profiler for CPython.

Echion relies on some assumptions to collect and sample all the running threads without holding the GIL. This makes Echion very similar to tools like Austin. However, some features, like multiprocess support, are more complicated to handle and would require the use of e.g. IPC solutions. Furthermore, Echion normally requires that you install it within your environment, wheareas Austin can be installed indepdendently.

How it works

On a fundamental level, there is one key assumption that Echion relies upon:

The interpreter state object lives as long as the CPython process itself.

All unsafe memory reads are performed indirectly via copies of data structure obtained with the use of system calls like process_vm_readv. This is essentially what allows Echion to run its sampling thread without the GIL.

As for attaching to a running process, we make use of the hypno library to inject Python code that bootstraps Echion into the target process.

Metadata

Release files for echion 0.3.5

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

Source distribution (sdist)

Source distribution for echion 0.3.5
File Size Uploaded Provenance
echion-0.3.5.tar.gz 725.6 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for echion 0.3.5
File
echion-0.3.5-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
echion-0.3.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
echion-0.3.5-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
echion-0.3.5-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
echion-0.3.5-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
echion-0.3.5-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
echion-0.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
echion-0.3.5-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
echion-0.3.5-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
echion-0.3.5-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
echion-0.3.5-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
echion-0.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
echion-0.3.5-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
echion-0.3.5-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
echion-0.3.5-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
echion-0.3.5-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
echion-0.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
echion-0.3.5-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
echion-0.3.5-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
echion-0.3.5-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details
echion-0.3.5-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
echion-0.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
echion-0.3.5-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
echion-0.3.5-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details
echion-0.3.5-cp39-cp39-macosx_10_9_universal2.whl CPython 3.9 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) Details
echion-0.3.5-cp38-cp38-musllinux_1_2_x86_64.whl CPython 3.8 CPython 3.8 Linux musl 1.2+ x86-64 Details
echion-0.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
echion-0.3.5-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
echion-0.3.5-cp38-cp38-macosx_10_9_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.9+ x86-64 Details
echion-0.3.5-cp38-cp38-macosx_10_9_universal2.whl CPython 3.8 CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 25.6 MB

Release files / echion-0.3.5.tar.gz

Download URL echion-0.3.5.tar.gz
Size 725.6 kB
Tags Source
SHA-256 checksum
How to use checksums
79d4a3d15be7fdf97c53fbd4aa71207daf89473c3a5dc1a52e8b385ff11e29cd
BLAKE2b-256 checksum
How to use checksums
2bbdc57a8e1247e0ddd967f086d54155135747a047354aaf3154153349ab5485
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL echion-0.3.5-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
3fc6cf2eb62f0e6069c5cca9727d8b660a815c28e630ce51f35dfe087915a56a
BLAKE2b-256 checksum
How to use checksums
e0564abd1c3a2745b7191b052f226e688bf3f1271e9694e98746396516a26868
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL echion-0.3.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
79aff65a27e85eacdf3ef57a49831f6d2dca7d793c655af279b049d0fc1f30db
BLAKE2b-256 checksum
How to use checksums
86e33cf179efd92d0b3549d39ab46efdd035b98808e356b52f0387737d6dd9ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp313-cp313-macosx_11_0_arm64.whl

Download URL echion-0.3.5-cp313-cp313-macosx_11_0_arm64.whl
Size 128.7 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dae14681d08acd540fcb215eb721dc1722ed6b94d86f1cf49b8f6520150a309f
BLAKE2b-256 checksum
How to use checksums
2a562361ebd8bda5120d4f12876faed448d43ffb64563d4da508affb50c4a2ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp313-cp313-macosx_10_13_x86_64.whl

Download URL echion-0.3.5-cp313-cp313-macosx_10_13_x86_64.whl
Size 135.0 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
fd02adef723fe6c1b3ef223b2a1127215691332cac8e4c2261b289415d63722c
BLAKE2b-256 checksum
How to use checksums
99e3e2072d44226b693a8bd79bf2db6aee4273c06009070f13b4d9cd96de9986
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp313-cp313-macosx_10_13_universal2.whl

Download URL echion-0.3.5-cp313-cp313-macosx_10_13_universal2.whl
Size 205.4 kB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
852f28c6823b37c926a6459c8e082aa15fa6b0a74c51a5ae9ec3c9fdcdad204f
BLAKE2b-256 checksum
How to use checksums
60dd17b8daebf9ff9b28a73bdc669c9486c2741284ca3b03d47b40a318f48429
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL echion-0.3.5-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.4 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
96339509ac1722082bea66c88efd925c39ca003b64b8343cc506939a07f71073
BLAKE2b-256 checksum
How to use checksums
964fc642f1c8f73593a1a62850d89da0720caba21170886255a41ab7f6ceab19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL echion-0.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c13ef50363dd0d0d870aaee885c5c357cd1c14496461d31bf88994c8c1310e3d
BLAKE2b-256 checksum
How to use checksums
5321faf1bf35951dfda9912a9fd7a1cdd36667886eede1fc23a9c38053bf337b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp312-cp312-macosx_11_0_arm64.whl

Download URL echion-0.3.5-cp312-cp312-macosx_11_0_arm64.whl
Size 128.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2548277ca98cc5865a3486c78a3194fa6126154762d8735ca1fc4e1b01a70370
BLAKE2b-256 checksum
How to use checksums
6437a0dc9e42c3226f1407a85945d6cf18c3e9ca083d0d06c7cd5e8bc065f570
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp312-cp312-macosx_10_13_x86_64.whl

Download URL echion-0.3.5-cp312-cp312-macosx_10_13_x86_64.whl
Size 134.9 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
0d625ce1c92aef138cee5a5a1e939ebd8fab45ad30685fd7ef6eb01778d6d590
BLAKE2b-256 checksum
How to use checksums
6eaf95a68c7f6effa7e7c5c72585667b9518c6f36057cb9ccda2b71af5374cb7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp312-cp312-macosx_10_13_universal2.whl

Download URL echion-0.3.5-cp312-cp312-macosx_10_13_universal2.whl
Size 205.2 kB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
30c91b5e625c1ab0c40b555044f09e363f3da270c147ff72fe9363893f2ac2fb
BLAKE2b-256 checksum
How to use checksums
09b439f7ab9437e96ad244d095a5cd4c006e84e030f904e692eff3995757770c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL echion-0.3.5-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
60f196cf62ca7734de2f02d40f1b7e344a3e2694667b95801a2b40328c04223f
BLAKE2b-256 checksum
How to use checksums
081b1c2f9ea14f76121d19ef49b0534ac624fefd1b683f55de9fb4352aca7dc2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL echion-0.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.4 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1d729630c3799c421d0a8947268a7075b02b32d0b24c70dbb2b72aa873b4dca4
BLAKE2b-256 checksum
How to use checksums
1f490e825b5b30aa9489eb51fc0cff17086390b8a949478d27f6892f0703196e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp311-cp311-macosx_11_0_arm64.whl

Download URL echion-0.3.5-cp311-cp311-macosx_11_0_arm64.whl
Size 127.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c235cf53c73d00ba5a05b26638e7d8ec52b535beefee37076540f4a6ae0da37c
BLAKE2b-256 checksum
How to use checksums
c2c54ac605706e68646484c0d95eb47d5f2845fa2e1acbb61cb272e867def3f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp311-cp311-macosx_10_9_x86_64.whl

Download URL echion-0.3.5-cp311-cp311-macosx_10_9_x86_64.whl
Size 133.8 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
332516590ef75b940701d8c874a9569f962c89d2bffe08203f1ebacc05ece4e1
BLAKE2b-256 checksum
How to use checksums
49c6d9261e12d9f4fb9f368ff20b9fe86d382f3fbb41ee1e266bd598cd1dd50c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp311-cp311-macosx_10_9_universal2.whl

Download URL echion-0.3.5-cp311-cp311-macosx_10_9_universal2.whl
Size 203.1 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
8e49c37c17f45358ce09589b7bf5fec1d0e9e7cbba7b5f1b3c089976c53e2ecc
BLAKE2b-256 checksum
How to use checksums
bc0564161b9110e60039784a8dfa8fa4e3b3392da490fd50e918e1ff3bb621cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL echion-0.3.5-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bf99e3a5747c3f49f70a809388f1e6d8fb05b2f52aa7a60522690957148ee48a
BLAKE2b-256 checksum
How to use checksums
1c16e6ae21ae095ab8c55743aaa27f6e1f2e8a1f0621267f2433e865dd74bf01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL echion-0.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
542f82a6c5073a31977c517ff87041423fd1c5e3788f6baaece672c7d4c51b94
BLAKE2b-256 checksum
How to use checksums
5a3ef7af622486f5289dcf2419d6ccc1d55da208380ca291fcb7f178309462fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp310-cp310-macosx_11_0_arm64.whl

Download URL echion-0.3.5-cp310-cp310-macosx_11_0_arm64.whl
Size 125.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0177d405a83216529a3576e7d8ffdca3f5609b2f22fbc62a1b0ee70075c847b9
BLAKE2b-256 checksum
How to use checksums
52a4613f4044d97ac55da8a948cfa3d27793b34978f48e255c364ce4803660db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp310-cp310-macosx_10_9_x86_64.whl

Download URL echion-0.3.5-cp310-cp310-macosx_10_9_x86_64.whl
Size 131.9 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
5be5e2aa17656b381f3022a540c0bbd3d42a2c380cd4c475b05fd558031fb6a7
BLAKE2b-256 checksum
How to use checksums
b449ad37f1264ce03c40e08009496a034c12b1cd0cda93490087c0375c79bf83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp310-cp310-macosx_10_9_universal2.whl

Download URL echion-0.3.5-cp310-cp310-macosx_10_9_universal2.whl
Size 199.5 kB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
f34773d1785752732a7402f4a67545803b45fc343be635279066954d7c624454
BLAKE2b-256 checksum
How to use checksums
e299447b0b1d6f3e2d028b30ece63cce9f874c5a06f4d3b1c378e159aa346cde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL echion-0.3.5-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
fd597da32c6aa2e89bd1e5e41b1f6a20e51d7d4c2bbf697195c19b6bd710dd0f
BLAKE2b-256 checksum
How to use checksums
db1621bb292fc2fd0d08a530a17efd5109aab095be7b167791bdc33d6a52ec25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL echion-0.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5578f8e092517304a413986f877dfe813d7a5e717585deb02623640f0f9e6abd
BLAKE2b-256 checksum
How to use checksums
ea03c3df01bc8bce9f77dcdf31cbd33aa1bbfe153720c74a1dca347c6f8de60c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp39-cp39-macosx_11_0_arm64.whl

Download URL echion-0.3.5-cp39-cp39-macosx_11_0_arm64.whl
Size 125.7 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
583fc76a64db947a1d3e4f0f957f36c48eb7cc61aba9ac4073164baebc2273b2
BLAKE2b-256 checksum
How to use checksums
cba00d5c4bc90a43d2ececc46cb206ee5dc7a9f9ceeb78ad83ed8635b5aa9afa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp39-cp39-macosx_10_9_x86_64.whl

Download URL echion-0.3.5-cp39-cp39-macosx_10_9_x86_64.whl
Size 131.8 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
58a5736044e42e2dc45ca8d17a808af779aa500b9f1ad86490d4636984bf0068
BLAKE2b-256 checksum
How to use checksums
c33314e4dacaa7e7045f41ab8d88e79b17738db39be9fc65892042aa7c60f47b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp39-cp39-macosx_10_9_universal2.whl

Download URL echion-0.3.5-cp39-cp39-macosx_10_9_universal2.whl
Size 199.4 kB
Tags CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
2061cbd3cd60413da5debbc6fecbfba948a32406aef7953aa9f385713eea585f
BLAKE2b-256 checksum
How to use checksums
223312e81eb49a6135cdee1e9d1a5d8de78ce54de3ae79651fdcd607db2c5169
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp38-cp38-musllinux_1_2_x86_64.whl

Download URL echion-0.3.5-cp38-cp38-musllinux_1_2_x86_64.whl
Size 2.3 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b4ec8ac826e7fa700d2effc9b1fcb1e35a7ece2c0c07895c2e6127677ad3a656
BLAKE2b-256 checksum
How to use checksums
ed89d875e145178ff579720cb0b457a89bbbcf442aace276fdd36b8aaafefff5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL echion-0.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.3 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e2e659be92454b15425b342de0c34cd510d11d68fef75cfe1114f555915a57f7
BLAKE2b-256 checksum
How to use checksums
625a783258d84cfd4112f4d31a93d0c1a6cb228478abe4881f5cd8cfae0ad4af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp38-cp38-macosx_11_0_arm64.whl

Download URL echion-0.3.5-cp38-cp38-macosx_11_0_arm64.whl
Size 125.5 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
25fc5bd822e03b7e139087e73c6a5bdae6a1e92a414d5abea50c15474edd3976
BLAKE2b-256 checksum
How to use checksums
0ac04686bee61dc69756645b4dcf0f82021c12b3aa1c8cc522b3b6ef21e35194
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp38-cp38-macosx_10_9_x86_64.whl

Download URL echion-0.3.5-cp38-cp38-macosx_10_9_x86_64.whl
Size 131.6 kB
Tags CPython 3.8 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
4ae6425de74ea6c9c6ebbf43c4f3c8af27743db03f8580f1dd2479b2de33ba7b
BLAKE2b-256 checksum
How to use checksums
02b887f6eea41abb12445e3469c25743e776603f77e999aa6dc5add74ff6f83b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Release files / echion-0.3.5-cp38-cp38-macosx_10_9_universal2.whl

Download URL echion-0.3.5-cp38-cp38-macosx_10_9_universal2.whl
Size 199.2 kB
Tags CPython 3.8 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
aae5efdfd9ed7fc5b617f2bd3621a7c8693e04bdcbf51d04ca9be2083bf3e3e7
BLAKE2b-256 checksum
How to use checksums
5dba4fbadb1d639f692c778f7a4058659aff74957f309f94fe30a068f79f4cf8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

Security for echion 0.3.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 31 files in this release have been uploaded with provenance metadata.

Select from 31 files

Attestation for echion-0.3.5.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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