netra-sdk 0.1.37__tar.gz → 0.1.38__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of netra-sdk might be problematic. Click here for more details.

Files changed (56) hide show
  1. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/PKG-INFO +1 -1
  2. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/processors/instrumentation_span_processor.py +11 -8
  3. netra_sdk-0.1.38/netra/version.py +1 -0
  4. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/pyproject.toml +1 -1
  5. netra_sdk-0.1.37/netra/version.py +0 -1
  6. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/LICENCE +0 -0
  7. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/README.md +0 -0
  8. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/__init__.py +0 -0
  9. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/anonymizer/__init__.py +0 -0
  10. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/anonymizer/anonymizer.py +0 -0
  11. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/anonymizer/base.py +0 -0
  12. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/anonymizer/fp_anonymizer.py +0 -0
  13. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/config.py +0 -0
  14. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/decorators.py +0 -0
  15. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/exceptions/__init__.py +0 -0
  16. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/exceptions/injection.py +0 -0
  17. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/exceptions/pii.py +0 -0
  18. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/input_scanner.py +0 -0
  19. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/__init__.py +0 -0
  20. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/aiohttp/__init__.py +0 -0
  21. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/aiohttp/version.py +0 -0
  22. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/cohere/__init__.py +0 -0
  23. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/cohere/version.py +0 -0
  24. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/fastapi/__init__.py +0 -0
  25. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/fastapi/version.py +0 -0
  26. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/google_genai/__init__.py +0 -0
  27. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/google_genai/config.py +0 -0
  28. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/google_genai/utils.py +0 -0
  29. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/google_genai/version.py +0 -0
  30. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/httpx/__init__.py +0 -0
  31. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/httpx/version.py +0 -0
  32. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/instruments.py +0 -0
  33. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/litellm/__init__.py +0 -0
  34. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/litellm/version.py +0 -0
  35. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/litellm/wrappers.py +0 -0
  36. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/mistralai/__init__.py +0 -0
  37. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/mistralai/config.py +0 -0
  38. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/mistralai/utils.py +0 -0
  39. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/mistralai/version.py +0 -0
  40. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/openai/__init__.py +0 -0
  41. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/openai/version.py +0 -0
  42. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/openai/wrappers.py +0 -0
  43. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/pydantic_ai/__init__.py +0 -0
  44. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/pydantic_ai/utils.py +0 -0
  45. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/pydantic_ai/version.py +0 -0
  46. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/pydantic_ai/wrappers.py +0 -0
  47. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/weaviate/__init__.py +0 -0
  48. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/instrumentation/weaviate/version.py +0 -0
  49. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/pii.py +0 -0
  50. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/processors/__init__.py +0 -0
  51. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/processors/scrubbing_span_processor.py +0 -0
  52. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/processors/session_span_processor.py +0 -0
  53. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/scanner.py +0 -0
  54. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/session_manager.py +0 -0
  55. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/span_wrapper.py +0 -0
  56. {netra_sdk-0.1.37 → netra_sdk-0.1.38}/netra/tracer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: netra-sdk
3
- Version: 0.1.37
3
+ Version: 0.1.38
4
4
  Summary: A Python SDK for AI application observability that provides OpenTelemetry-based monitoring, tracing, and PII protection for LLM and vector database applications. Enables easy instrumentation, session tracking, and privacy-focused data collection for AI systems in production environments.
5
5
  License: Apache-2.0
6
6
  Keywords: netra,tracing,observability,sdk,ai,llm,vector,database
@@ -30,13 +30,15 @@ class InstrumentationSpanProcessor(SpanProcessor): # type: ignore[misc]
30
30
  if scope is not None:
31
31
  name = getattr(scope, "name", None)
32
32
  if isinstance(name, str) and name:
33
- # Normalize common pattern like 'opentelemetry.instrumentation.httpx' -> 'httpx'
34
- try:
35
- base = name.rsplit(".", 1)[-1].strip()
36
- if base:
37
- return base
38
- except Exception:
39
- pass
33
+ # Only truncate when coming from known namespaces
34
+ if name.startswith("opentelemetry.instrumentation.") or name.startswith("netra.instrumentation."):
35
+ try:
36
+ base = name.rsplit(".", 1)[-1].strip()
37
+ if base:
38
+ return base
39
+ except Exception:
40
+ pass
41
+ # Otherwise, return as-is
40
42
  return name
41
43
  return None
42
44
 
@@ -87,7 +89,8 @@ class InstrumentationSpanProcessor(SpanProcessor): # type: ignore[misc]
87
89
 
88
90
  # Set this span's instrumentation name
89
91
  name = self._detect_raw_instrumentation_name(span)
90
- if name and any(allowed in name for allowed in ALLOWED_INSTRUMENTATION_NAMES):
92
+ print(name)
93
+ if name in ALLOWED_INSTRUMENTATION_NAMES:
91
94
  span.set_attribute(f"{Config.LIBRARY_NAME}.instrumentation.name", name)
92
95
  except Exception:
93
96
  pass
@@ -0,0 +1 @@
1
+ __version__ = "0.1.38"
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [project]
6
6
  name = "netra-sdk"
7
- version = "0.1.37"
7
+ version = "0.1.38"
8
8
  description = "A Python SDK for AI application observability that provides OpenTelemetry-based monitoring, tracing, and PII protection for LLM and vector database applications. Enables easy instrumentation, session tracking, and privacy-focused data collection for AI systems in production environments."
9
9
  authors = [
10
10
  {name = "Sooraj Thomas",email = "sooraj@keyvalue.systems"}
@@ -1 +0,0 @@
1
- __version__ = "0.1.37"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes