Metadata-Version: 2.5
Name: beacon-otel
Version: 1.0.1
Summary: Beacon Python auto-instrumentation distribution
Project-URL: Homepage, https://github.com/beacon-observability/beacon-python/tree/main/beacon-otel
Project-URL: Repository, https://github.com/beacon-observability/beacon-python
Author: Beacon Observability
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.10
Requires-Dist: opentelemetry-api==1.44.0
Requires-Dist: opentelemetry-exporter-otlp==1.44.0
Requires-Dist: opentelemetry-instrumentation==0.65b0
Requires-Dist: opentelemetry-sdk==1.44.0
Provides-Extra: fastapi
Requires-Dist: opentelemetry-instrumentation-fastapi==0.65b0; extra == 'fastapi'
Provides-Extra: flask
Requires-Dist: opentelemetry-instrumentation-flask==0.65b0; extra == 'flask'
Provides-Extra: profiling
Requires-Dist: beacon-profiling==1.0.1; extra == 'profiling'
Provides-Extra: requests
Requires-Dist: opentelemetry-instrumentation-requests==0.65b0; extra == 'requests'
Description-Content-Type: text/markdown

# Beacon Python

`beacon-otel` is the main Beacon Python installation package. The current stable version is `1.0.1`.

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:

```bash
pip install 'beacon-otel[fastapi]==1.0.1'
```

To enable profiling, install:

```bash
pip install 'beacon-otel[fastapi,profiling]==1.0.1'
```

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`:

```bash
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`, and `fastapi`; 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](../sdk-extension/beacon-profiling/README.rst) to enable it.
