@@ -84,6 +84,7 @@ def __init__(
8484 output : Optional [Any ] = None ,
8585 metadata : Optional [Any ] = None ,
8686 environment : Optional [str ] = None ,
87+ release : Optional [str ] = None ,
8788 version : Optional [str ] = None ,
8889 level : Optional [SpanLevel ] = None ,
8990 status_message : Optional [str ] = None ,
@@ -104,6 +105,7 @@ def __init__(
104105 output: Output data from the span (any JSON-serializable object)
105106 metadata: Additional metadata to associate with the span
106107 environment: The tracing environment
108+ release: Release identifier for the application
107109 version: Version identifier for the code or component
108110 level: Importance level of the span (info, warning, error)
109111 status_message: Optional status message for the span
@@ -130,6 +132,12 @@ def __init__(
130132 LangfuseOtelSpanAttributes .ENVIRONMENT , self ._environment
131133 )
132134
135+ self ._release = release or self ._langfuse_client ._release
136+ if self ._release is not None :
137+ self ._otel_span .set_attribute (
138+ LangfuseOtelSpanAttributes .RELEASE , self ._release
139+ )
140+
133141 # Handle media only if span is sampled
134142 if self ._otel_span .is_recording ():
135143 media_processed_input = self ._process_media_and_apply_mask (
@@ -907,6 +915,7 @@ def start_observation(
907915 output = output ,
908916 metadata = metadata ,
909917 environment = self ._environment ,
918+ release = self ._release ,
910919 version = version ,
911920 level = level ,
912921 status_message = status_message ,
@@ -927,6 +936,7 @@ def start_observation(
927936 "otel_span" : new_otel_span ,
928937 "langfuse_client" : self ._langfuse_client ,
929938 "environment" : self ._environment ,
939+ "release" : self ._release ,
930940 "input" : input ,
931941 "output" : output ,
932942 "metadata" : metadata ,
@@ -1181,6 +1191,7 @@ def __init__(
11811191 output : Optional [Any ] = None ,
11821192 metadata : Optional [Any ] = None ,
11831193 environment : Optional [str ] = None ,
1194+ release : Optional [str ] = None ,
11841195 version : Optional [str ] = None ,
11851196 level : Optional [SpanLevel ] = None ,
11861197 status_message : Optional [str ] = None ,
@@ -1194,6 +1205,7 @@ def __init__(
11941205 output: Output data from the span (any JSON-serializable object)
11951206 metadata: Additional metadata to associate with the span
11961207 environment: The tracing environment
1208+ release: Release identifier for the application
11971209 version: Version identifier for the code or component
11981210 level: Importance level of the span (info, warning, error)
11991211 status_message: Optional status message for the span
@@ -1206,6 +1218,7 @@ def __init__(
12061218 output = output ,
12071219 metadata = metadata ,
12081220 environment = environment ,
1221+ release = release ,
12091222 version = version ,
12101223 level = level ,
12111224 status_message = status_message ,
@@ -1576,6 +1589,7 @@ def create_event(
15761589 output = output ,
15771590 metadata = metadata ,
15781591 environment = self ._environment ,
1592+ release = self ._release ,
15791593 version = version ,
15801594 level = level ,
15811595 status_message = status_message ,
@@ -1600,6 +1614,7 @@ def __init__(
16001614 output : Optional [Any ] = None ,
16011615 metadata : Optional [Any ] = None ,
16021616 environment : Optional [str ] = None ,
1617+ release : Optional [str ] = None ,
16031618 version : Optional [str ] = None ,
16041619 level : Optional [SpanLevel ] = None ,
16051620 status_message : Optional [str ] = None ,
@@ -1619,6 +1634,7 @@ def __init__(
16191634 output: Output from the generation (e.g., completions)
16201635 metadata: Additional metadata to associate with the generation
16211636 environment: The tracing environment
1637+ release: Release identifier for the application
16221638 version: Version identifier for the model or component
16231639 level: Importance level of the generation (info, warning, error)
16241640 status_message: Optional status message for the generation
@@ -1637,6 +1653,7 @@ def __init__(
16371653 output = output ,
16381654 metadata = metadata ,
16391655 environment = environment ,
1656+ release = release ,
16401657 version = version ,
16411658 level = level ,
16421659 status_message = status_message ,
@@ -1661,6 +1678,7 @@ def __init__(
16611678 output : Optional [Any ] = None ,
16621679 metadata : Optional [Any ] = None ,
16631680 environment : Optional [str ] = None ,
1681+ release : Optional [str ] = None ,
16641682 version : Optional [str ] = None ,
16651683 level : Optional [SpanLevel ] = None ,
16661684 status_message : Optional [str ] = None ,
@@ -1674,6 +1692,7 @@ def __init__(
16741692 output: Output from the event
16751693 metadata: Additional metadata to associate with the generation
16761694 environment: The tracing environment
1695+ release: Release identifier for the application
16771696 version: Version identifier for the model or component
16781697 level: Importance level of the generation (info, warning, error)
16791698 status_message: Optional status message for the generation
@@ -1686,6 +1705,7 @@ def __init__(
16861705 output = output ,
16871706 metadata = metadata ,
16881707 environment = environment ,
1708+ release = release ,
16891709 version = version ,
16901710 level = level ,
16911711 status_message = status_message ,
0 commit comments