Beacon Python
beacon-otel is the main Beacon Python installation package. This source tree
builds the 1.1.0 release.
Install the main package together with the auto-instrumentation plugins required by your framework. For example, a FastAPI application can install the current stable version with:
pip install 'beacon-otel[fastapi]==1.1.0'
To enable profiling, install:
pip install 'beacon-otel[fastapi,profiling]==1.1.0'
Activate the virtual environment where Beacon is installed, configure the OTLP endpoint, and then start the application. You can also pass the full path of an executable in that virtual environment after beacon:
export OTEL_SERVICE_NAME=my-service
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
beacon uvicorn myapp:app
beacon --version displays the Beacon Python product version. Optional dependencies are currently provided for requests, flask, fastapi, and django; auto-instrumentation packages for other frameworks can be installed separately according to the official OpenTelemetry documentation. Package availability does not mean that every framework and runtime environment is supported by a stable Beacon release. Refer to the release notes and acceptance records for the supported scope of each version.
Optional dependencies install only the corresponding auto-instrumentation plugins; the application must install the framework itself. Do not install another profiling distribution that registers a conflicting auto-instrumentation entry point in the same Python environment.
By default, beacon selects the Beacon OpenTelemetry distro and configurator and uses the standard OTEL_* environment variables. Explicitly configured OTEL_PYTHON_DISTRO or OTEL_PYTHON_CONFIGURATOR values are not overwritten. Profiling is disabled by default; see the profiling documentation to enable it.
Beacon Security
Beacon Python 1.1.0 includes opt-in Beacon Security in the same beacon-otel
wheel and command. It does not require a second Security distribution or a
second version lifecycle.
Security currently supports standard-GIL CPython 3.11 through 3.14. The master switch enables its lifecycle and runtime SBOM; an application-module prefix is also required for modeled data-flow collection:
export BEACON_SECURITY_ENABLED=true
export BEACON_SECURITY_PYTHON_INCLUDE=orders
export OTEL_SERVICE_NAME=orders
export OTEL_RESOURCE_ATTRIBUTES=service.namespace=shop
export OTEL_LOGS_EXPORTER=otlp
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4317
beacon uvicorn orders.asgi:application --host 0.0.0.0 --port 8000
BEACON_SECURITY_PYTHON_INCLUDE contains Python module prefixes, not file-system
paths. Without it, the enabled lifecycle can report the runtime SBOM but does
not transform application code or collect findings. The runtime transforms only
included application modules and excludes the standard library, OpenTelemetry,
Beacon Security itself, and explicitly configured prefixes. Findings are
bounded modeled-flow observations or candidate risks, not confirmed
vulnerability reports.
Runtime SBOM collection is enabled by default only after Security itself is enabled. Findings and SBOM snapshots use the existing OpenTelemetry Logs pipeline. Local files are off by default:
| Environment variable | Default | Purpose |
|---|---|---|
BEACON_SECURITY_ENABLED |
false |
Enable the Security lifecycle and its runtime SBOM. |
BEACON_SECURITY_PYTHON_INCLUDE |
empty | Comma-separated application module prefixes required for finding collection. |
BEACON_SECURITY_PYTHON_EXCLUDE |
empty | Comma-separated exclusions, which take precedence. |
BEACON_SECURITY_SBOM_ENABLED |
true |
Enable runtime SBOM within an enabled lifecycle. |
BEACON_SECURITY_LOCAL_OUTPUT_ENABLED |
false |
Enable process-local diagnostic files. |
BEACON_SECURITY_OUTPUT |
./beacon-security-output/<instance-id> |
Diagnostic snapshot directory. |
BEACON_SECURITY_EVIDENCE_FILE |
unset | Optional diagnostic JSONL file. |
For local inspection without an OTLP backend, additionally set
BEACON_SECURITY_LOCAL_OUTPUT_ENABLED=true, choose the output paths, and set
OTEL_LOGS_EXPORTER=none. Local files are diagnostic evidence, not durable or
cluster-wide delivery.
Gunicorn must initialize OpenTelemetry after each worker fork. Do not prefix
this command with beacon or opentelemetry-instrument, and do not enable
preload_app:
gunicorn -c python:beacon_security.gunicorn orders.wsgi:application
For Kubernetes, bake the beacon-otel release into the application
image and use the checked-in Deployment example.
The example needs only the normal application command, environment variables,
and an OTLP Collector endpoint; it deliberately leaves local output disabled.
The language-neutral event, identity, configuration, fingerprint, and runtime
SBOM contract is maintained in
beacon-security-spec.
This wheel carries an immutable contract revision in
security-spec.properties.
Metadata
Release files for beacon-otel 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| beacon_otel-1.1.0.tar.gz | 146.7 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| beacon_otel-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 262.2 kB
Release files / beacon_otel-1.1.0.tar.gz
| Download URL | beacon_otel-1.1.0.tar.gz |
|---|---|
| Size | 146.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
032d9305a98f136a46628c09568f3b22a5782167b8382965a203582ff91ee007
|
|
BLAKE2b-256 checksum How to use checksums |
9c4ee9a9c6eecc606a084671f7015e44faeff923c15b7d3d53fc1ae454a190b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 3, 2026.
Transparency logRelease files / beacon_otel-1.1.0-py3-none-any.whl
| Download URL | beacon_otel-1.1.0-py3-none-any.whl |
|---|---|
| Size | 115.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db5700cdcdf3e335470ca28891a9694513ebff25722debe8b5fe2e04bbf3ab0e
|
|
BLAKE2b-256 checksum How to use checksums |
17dbcb11b4ae80c79eca60e54ce3d1b20bdc71932fa1a91c3a310616ac7132a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 3, 2026.
Transparency logSecurity for beacon-otel 1.1.0
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 2 files in this release have been uploaded with provenance metadata.
Attestation for beacon_otel-1.1.0.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 Oct 3, 2026.
Transparency logA 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.