Skip to content

Releases: AgentOps-AI/agentops

0.4.4

17 Mar 21:07
c9faca8
Compare
Choose a tag to compare

Changelog

  • Reduce the delay of span export from five seconds to one second to avoid orphaned spans during unexpected system exits (not necessarily exceptions but explicit exits from other applications). Expose this configuration parameter as an environment variable
  • Fixes #838 @the-praxs
  • Fixes #710 @tcdent
  • Restores support for Python 3.9 which has not yet reached EOL
  • Crew released version 105 which interacts with the legacy public API in a different manner. AgentOps is now integrated as a separate [module] (https://github.com/crewAIInc/crewAI/blob/main/src/crewai/utilities/events/third_party/agentops_listener.py) and we have included support for this refactor here.
  • Versions less than 105 were mostly covered by the existing implementation is also supported in this PR.
  • Tested with openai-agents to verify span export

Tests

  • Implements tests/unit/test_session_legacy.py to verify full backwards compatibility with CrewAI's and other libs
  • Removes deprecated failing tests:
    • test_insturmentation.py
    • test_instrumentation_errors.py
    • test_core.py
  • Favors test_decorators.py
  • Adds an implementation of crew AI testing in test/unit/test_session_legacy.py

0.4.3

14 Mar 17:35
e47b894
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.4.2...0.4.3

0.4.2

13 Mar 16:55
d0b8f8a
Compare
Choose a tag to compare

fixes compatibility with crewAI.

0.4.1

13 Mar 16:28
49665e4
Compare
Choose a tag to compare
Remove dotenv, version bump. (#822)

0.4.0

13 Mar 11:23
ef381d2
Compare
Choose a tag to compare
[RELEASE] `v0.4.0`  (#820)

* agentops.start_session: accept **kwargs

Signed-off-by: Teo <teocns@gmail.com>

* tests: isolate session fixtures

Signed-off-by: Teo <teocns@gmail.com>

* tests: session fixture - introduce kwargs marker

Signed-off-by: Teo <teocns@gmail.com>

* session: add auto_start property

Signed-off-by: Teo <teocns@gmail.com>

* move default_config from session->config

Signed-off-by: Teo <teocns@gmail.com>

* session/state

Signed-off-by: Teo <teocns@gmail.com>

* session: dict() and json()

Signed-off-by: Teo <teocns@gmail.com>

* session: use slots

Signed-off-by: Teo <teocns@gmail.com>

* session: improve fields

Signed-off-by: Teo <teocns@gmail.com>

* session: general improvements

Signed-off-by: Teo <teocns@gmail.com>

* telemetry/helpers: dict_to_span_attributes

Signed-off-by: Teo <teocns@gmail.com>

* cleanup

Signed-off-by: Teo <teocns@gmail.com>

* test: add tests for Session serialization and encoding

* session._tracer -> session.telemetry

Signed-off-by: Teo <teocns@gmail.com>

* save

Signed-off-by: Teo <teocns@gmail.com>

* session: logger improvements, comments

Signed-off-by: Teo <teocns@gmail.com>

* Create auto instrumentation features

Signed-off-by: Teo <teocns@gmail.com>

* Move session_generator under tests/fixtures/session.py

Signed-off-by: Teo <teocns@gmail.com>

* ++context

Signed-off-by: Teo <teocns@gmail.com>

* integration tests refactor TOOD move

Signed-off-by: Teo <teocns@gmail.com>

* telemetry: -context

Signed-off-by: Teo <teocns@gmail.com>

* Move openai instrumentation to third_party/

Signed-off-by: Teo <teocns@gmail.com>

* cleanup test_session.py

Signed-off-by: Teo <teocns@gmail.com>

* chore(pyproject): add third_party

Signed-off-by: Teo <teocns@gmail.com>

* add logging to instrumentation/__init__.py

Signed-off-by: Teo <teocns@gmail.com>

* cleanup telemetry/mixin

Signed-off-by: Teo <teocns@gmail.com>

* test client instrumentation

Signed-off-by: Teo <teocns@gmail.com>

* _singleton.py

Signed-off-by: Teo <teocns@gmail.com>

* +exceptions.py

Signed-off-by: Teo <teocns@gmail.com>

* +fixtures/config.py

Signed-off-by: Teo <teocns@gmail.com>

* cleanup tests/fixtures/event,py

Signed-off-by: Teo <teocns@gmail.com>

* cleanup tests/unit/conftest.py

Signed-off-by: Teo <teocns@gmail.com>

* test_config.py: -test_invalid_parent_key

Signed-off-by: Teo <teocns@gmail.com>

* config: +auto_init

Signed-off-by: Teo <teocns@gmail.com>

* cleanup __init__.py

Signed-off-by: Teo <teocns@gmail.com>

* client: improvements, auto start, conditional_singleton

Signed-off-by: Teo <teocns@gmail.com>

* cleanups

Signed-off-by: Teo <teocns@gmail.com>

* config / logger setup improvements

Signed-off-by: Teo <teocns@gmail.com>

* save

Signed-off-by: Teo <teocns@gmail.com>

* Update instrumentation/README.md

Signed-off-by: Teo <teocns@gmail.com>

* instrumentation: use global tracer_provider

Signed-off-by: Teo <teocns@gmail.com>

* instrumentation/openai: add copyrights - NOTICE.md, LICENSE

Signed-off-by: Teo <teocns@gmail.com>

* tests/unit/test_client.py

Signed-off-by: Teo <teocns@gmail.com>

* tests/unit/test_client.py: add session-related tests

Signed-off-by: Teo <teocns@gmail.com>

* Added Anthropic Provider

* Added Cohere Provider

* Added Groq Provider

* Added Haystack Provider

* Added Mistralai Provider

* Added Ollama Provider

* Added Crewai Provider

* Added implementation

* Removed third_party

* use `mistralai<1.0.0` for instrumentation

* chore(pyproject.toml): update mistralai version constraint to >=0.2.0,<1.0.0 according to instrumentation/mistralai `_instruments`

* config: explode kwargs, add processor & exporter

Signed-off-by: Teo <teocns@gmail.com>

* agentops/telemetry/session: hook up with config params

Signed-off-by: Teo <teocns@gmail.com>

* test_client: +exporter, processor args tests

Signed-off-by: Teo <teocns@gmail.com>

* config: dict() and json() methods

Signed-off-by: Teo <teocns@gmail.com>

* refactor(session): update config serialization method

* tests: isolate reset_instrumentation fixture

Signed-off-by: Teo <teocns@gmail.com>

* cleanup tests

Signed-off-by: Teo <teocns@gmail.com>

* agentops.init(): add tags to **kwargs, merge with default_tags

* remove parent_key concept

Signed-off-by: Teo <teocns@gmail.com>

* config: use slots

Signed-off-by: Teo <teocns@gmail.com>

* cleanup tests

Signed-off-by: Teo <teocns@gmail.com>

* tests/fixtures/instrumentation: use InMemorySpanExporter

Signed-off-by: Teo <teocns@gmail.com>

* refactor(tests): simplify mock client implementation

* Squash merge redesign-client into redesign

Signed-off-by: Teo <teocns@gmail.com>

* feat(types): add ISOTimeStamp type annotation

* refactor(session_tracer): update timestamp type annotations

* refactor session+telemetry modules structure

Signed-off-by: Teo <teocns@gmail.com>

* refactor(session): rename telemetry to mixin and update code

* session/tracer: refactor and remove concept of nonrecordingspan

Signed-off-by: Teo <teocns@gmail.com>

* remove _ession_id fallback

Signed-off-by: Teo <teocns@gmail.com>

* merge Session w/ SessionTelemetryMixin

Signed-off-by: Teo <teocns@gmail.com>

* add test.py

Signed-off-by: Teo <teocns@gmail.com>

* save

Signed-off-by: Teo <teocns@gmail.com>

* Squash merge redesign-session-client-remove-signals into redesign-old

Signed-off-by: Teo <teocns@gmail.com>

* Client HTTP Module Refactoring and Test Fixes (#714)

Client HTTP Module Refactoring and Test Fixes #714

* tests_http_client: adapt mock call assertions to client redesign

Signed-off-by: Teo <teocns@gmail.com>

* session: remove signals

Signed-off-by: Teo <teocns@gmail.com>

* remove session complexities

Signed-off-by: Teo <teocns@gmail.com>

* Move session tracer init behavior

Signed-off-by: Teo <teocns@gmail.com>

* SessionTelemetryMixin._span

Signed-off-by: Teo <teocns@gmail.com>

* move client/exporters to session/exporters

Signed-off-by: Teo <teocns@gmail.com>

* feat(config): add exporter_endpoint to configuration options

* feat(tracer): update OTLP exporter endpoint configuration

* feat(config): set default exporter endpoint value

* build: update opentelemetry dependencies in pyproject.toml

* test: replace authentication test with OpenAI test

* test_session_config

Signed-off-by: Teo <teocns@gmail.com>

* session(config) param

* test

Signed-off-by: Teo <teocns@gmail.com>

* BatchSpanProcessor

Signed-off-by: Teo <teocns@gmail.com>

* x-alex

Signed-off-by: Teo <teocns@gmail.com>

* Update .cursor/rules

Signed-off-by: Teo <teocns@gmail.com>

* Improve agentops_config, introduce root tests

Signed-off-by: Teo <teocns@gmail.com>

* Consolidate initialization and kwargs passing for AgentOps client (#729)

* Consolidate initialization and kwargs passing for AgentOps client (#721)

- Add support for custom exporters and exporter endpoints in agentops.init()
- Ensure kwargs are correctly passed downstream to Session and its components
- Update SessionTracer to handle custom exporters and endpoints
- Add tests for custom exporter configuration

Co-Authored-By: Constantin-Doru Teodorescu <teo@agentops.ai>

* Fix syntax errors in agentops/__init__.py

Co-Authored-By: Constantin-Doru Teodorescu <teo@agentops.ai>

* Fix syntax errors and address PR feedback

Co-Authored-By: Constantin-Doru Teodorescu <teo@agentops.ai>

* Fix syntax errors and address PR feedback for custom exporter support

Co-Authored-By: Constantin-Doru Teodorescu <teo@agentops.ai>

* Add validation for configure() function to prevent silently ignoring misspelled parameters

Co-Authored-By: Constantin-Doru Teodorescu <teo@agentops.ai>

* Fix syntax errors in core modules

- Fix import error in client/__init__.py for SessionState
- Fix property decorator error in session/__init__.py
- Fix enum errors in session/state.py with custom StrEnum implementation

Co-Authored-By: Constantin-Doru Teodorescu <teo@agentops.ai>

* feat: add ClassPropertyDescriptor and classproperty function

* Session.current

Signed-off-by: Teo <teocns@gmail.com>

* -test_cusotm_exporter.py

Signed-off-by: Teo <teocns@gmail.com>

* test: add unit tests for agentops.init function

* save

Signed-off-by: Teo <teocns@gmail.com>

* raise NoApiKeyException if no api key

Signed-off-by: Teo <teocns@gmail.com>

* agentops.init() to call agentops._client.init()

Signed-off-by: Teo <teocns@gmail.com>

* +InvalidApiKeyException

Signed-off-by: Teo <teocns@gmail.com>

* config: only raise InvalidApiKey if not TESTING

Signed-off-by: Teo <teocns@gmail.com>

* upgrade tests/fixtures/client.py

Signed-off-by: Teo <teocns@gmail.com>

* tests/fixtures/config.py: +mock_env, etc | Improve clean Config

Signed-off-by: Teo <teocns@gmail.com>

* tests/fixtures/config.py: +marker

Signed-off-by: Teo <teocns@gmail.com>

* tests/fixtures/config.py | fix priority order issues

Signed-off-by: Teo <teocns@gmail.com>

* test_agentops_init

Signed-off-by: Teo <teocns@gmail.com>

---------

Signed-off-by: Teo <teocns@gmail.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Constantin-Doru Teodorescu <teo@agentops.ai>
Co-authored-by: Teo <teocns@gmail.com>

* Add CI python-tests from main

Signed-off-by: Teo <teocns@gmail.com>

* AgentOps Decorators Implementation (#747)

* Added semconv for Semantic Conventions for AgentOps-specific span types

* Implement decorators for agent, tool, and general span tracking

* Ensure spans are created as children of the current active span

* Refactor semantic conventions: Remove unused attributes and simplify semconv modules

* Remove unused Status and AgentStatus imports from semconv module

* test agentops.decorators (#748)

* Added semconv for Semantic Conventions for AgentOps-specific span types

* Implement decorators for agent, tool, and general span tracking

* Ensure spans are created as children of the current active span

* Added comprehensive decorators example and expanded decorator tests.

* Refactor semantic conventions: Remove unused attributes and simplify semconv modules

* Remove unused Status and AgentStatus imports from semconv module

* Remove hardcoded API key from comprehensive decorators example

* bye entelligence-ai-pr-reviews

Signed-off-by: Teo <teocns@gmail.com>

* Don't override endpoint URL on config init.

* Get tests passing (#750)

* Allow installing `test` and `dev` dependencies.

* Tox config. Preserve AGENTOPS_API_KEY in tests.

* Allow passing args to tox.

* Suppress otel shutdown log messages in testing.

* Make `test_no_api_key_raises_exception` pass.

* Make `test_invalid_api_key` pass.

* Revert "Allow installing `test` and `dev` dependencies."

This reverts commit 154f6d850b252630f29864838a0fd4116758d9f7.

* Add placholder API key (valid UUID) to unit test config.

* Remove tox.

* Revert "Suppress otel shutdown log messages in testing."

This reverts commit 8e0a95076ec5a17edbd1e2b23ee465c13c2ca884.

* feat: Session ending via `__del__` method and `LiveSpanProcessor` class to ensure span export during exits (#742)

* remove cursor rules

* add `inFlightSpanProcessor` to properly export spans

* add use of `InFlightSpanProcessor` to `SessionTracer` class

* add tests

* Simplify Session class by removing setters/getters for status checking

* flush span processor if available

* use thread lock in registry

* remove `force_export` method from processor

* end the span in session

* Integrate session lifecycle and span status tests into test_session.py

* Remove span property usage in favor of direct _span attribute access

* improve tests

* fix context management in multi-threaded scenarios using thread-local storage

* fix comments

* add some more tests

* fix imports

* revert to using `hasattr`

* revert old code

* remove unused code

* remove unused exception

* remove comments

* remove cursor rules

* add `inFlightSpanProcessor` to properly export spans

* add use of `InFlightSpanProcessor` to `SessionTracer` class

* add tests

* Simplify Session class by removing setters/getters for status checking

* flush span processor if available

* use thread lock in registry

* remove `force_export` method from processor

* end the span in session

* Integrate session lifecycle and span status tests into test_session.py

* Remove span property usage in favor of direct _span attribute access

* improve tests

* fix context management in multi-threaded scenarios using thread-local storage

* fix comments

* add some more tests

* fix imports

* revert to using `hasattr`

* revert old code

* remove unused code

* remove unused exception

* remove comments

* remove `hasattr` in `telemetry.py`

* modify to `LiveSpanProcessor`

* Revert "modify to `LiveSpanProcessor`"

This reverts commit 0b80d26befa4b38f8f713ec1424f954d32784414.

* modify to `LiveSpanProcessor`

* forward telemetry calls to mixin

* return none if span not present

* use try-except block for errors

* remove `hasattr` in `session.py`

* add global level module fixture

* rename test file

* Revert "remove cursor rules"

This reverts commit 9515be960f7dbf452a0a62902a6cf9643b17fe4f.

* reset .cursor/rules/testing.mdc

Signed-off-by: Teo <teocns@gmail.com>

* force_export -> force_flush

Signed-off-by: Teo <teocns@gmail.com>

* tests/unit/test_live_span_processor.py: fix isinstance @ threading.Lock

Signed-off-by: Teo <teocns@gmail.com>

---------

Signed-off-by: Teo <teocns@gmail.com>
Co-authored-by: Teo <teocns@gmail.com>

* fix minor test warning not passing

Signed-off-by: Teo <teocns@gmail.com>

* Redesign session registry mixin (#762)

* SessionRegistryMixin

Signed-off-by: Teo <teocns@gmail.com>

* agentops.session.session + SessionRegistryMixin, delegate actions to super [start | end]

Signed-off-by: Teo <teocns@gmail.com>

A

Signed-off-by: Teo <teocns@gmail.com>

* test_session_registry

Signed-off-by: Teo <teocns@gmail.com>

---------

Signed-off-by: Teo <teocns@gmail.com>

* Session: migrate telemetry lifecycle into mixin away from session impl

* StateSessionMixin

Signed-off-by: Teo <teocns@gmail.com>

* SessionBase: remove abstractmethod from start/end (linter)

Signed-off-by: Teo <teocns@gmail.com>

* save

Signed-off-by: Teo <teocns@gmail.com>

* SessionStateProperty

Signed-off-by: Teo <teocns@gmail.com>

* SessionStatemixin

Signed-off-by: Teo <teocns@gmail.com>

* Explicit calls to the super start/end methods is one way to make this clearer. Minor fixes. Tests pass.

* I think explicitly named methods is actually clearer.

* Allow passing arbitrary states to Client; parsing happens upstream.

* Mixin doesn't need to inherit from base class.

* Restore abstract decorators.

* Add docstrings

Signed-off-by: Teo <teocns@gmail.com>

* session/README.md

Signed-off-by: Teo <teocns@gmail.com>

* proposal

Signed-off-by: Teo <teocns@gmail.com>

* todos

Signed-off-by: Teo <teocns@gmail.com>

* SDK

Signed-off-by: Teo <teocns@gmail.com>

* +decorators, + spans

Signed-off-by: Teo <teocns@gmail.com>

* tests/unit/sdk

Signed-off-by: Teo <teocns@gmail.com>

* fix: span kind super call

Signed-off-by: Teo <teocns@gmail.com>

* Remove LLMSpan

Signed-off-by: Teo <teocns@gmail.com>

* Pass all tests

Signed-off-by: Teo <teocns@gmail.com>

* New Examples

Signed-off-by: Teo <teocns@gmail.com>

New Examples

Signed-off-by: Teo <teocns@gmail.com>

* delete irrelevant test file

Signed-off-by: Teo <teocns@gmail.com>

* Squash merge tracing-dev-instrumentor into tracing

Signed-off-by: Teo <teocns@gmail.com>

* refactoring tests

Signed-off-by: Teo <teocns@gmail.com>

* Squash merge tracing-use-ao-spanattrs into tracing

Signed-off-by: Teo <teocns@gmail.com>

* add pytest-inline

Signed-off-by: Teo <teocns@gmail.com>

* test_instrumentation: use semconv and better evaluation

Signed-off-by: Teo <teocns@gmail.com>

* Revert "add pytest-inline" - causes weird deps issue

This reverts commit 6e76e25c588918d479a82f5d9736292855698c2b.

* test_instrumentation_errors: use agentops.semconv

Signed-off-by: Teo <teocns@gmail.com>

* Remove legacy session, migrate towards new sdk

Signed-off-by: Teo <teocns@gmail.com>

sdk.context decl

Signed-off-by: Teo <teocns@gmail.com>

* config.auto_start_session = False

Signed-off-by: Teo <teocns@gmail.com>

* simplify config tests

Signed-off-by: Teo <teocns@gmail.com>

* remove init tests

Signed-off-by: Teo <teocns@gmail.com>

* Merge agentops/instrumentation/__init__.py from commit 191e057adba8e335976fb06b6a97f7a3148da26c

* decorators: correctly make use of session span context

Signed-off-by: Teo <teocns@gmail.com>

* test_decorators: +tests for context propagation

Signed-off-by: Teo <teocns@gmail.com>

* delete test_integration

Signed-off-by: Teo <teocns@gmail.com>

* feat: add authenticated exporter support for tracing core

* Make HttpClient store _project_id

Signed-off-by: Teo <teocns@gmail.com>

* agentops.semconv.resource

Signed-off-by: Teo <teocns@gmail.com>

* Client init() -> prefetch JWT -> TracingCore.init -> AuthenticatedOTLPExporter

* draft

Signed-off-by: Teo <teocns@gmail.com>

* fix decorators context mgmt

Signed-off-by: Teo <teocns@gmail.com>

* examples

Signed-off-by: Teo <teocns@gmail.com>

* examples 2

Signed-off-by: Teo <teocns@gmail.com>

* utils

Signed-off-by: Teo <teocns@gmail.com>

* ++ utils

Signed-off-by: Teo <teocns@gmail.com>

* + test span utils

Signed-off-by: Teo <teocns@gmail.com>

* Rewrite testing rules

Signed-off-by: Teo <teocns@gmail.com>

* + testing rule

Signed-off-by: Teo <teocns@gmail.com>

* refactor span tests

Signed-off-by: Teo <teocns@gmail.com>

* isolate instrumentation

Signed-off-by: Teo <teocns@gmail.com>

* reuse instrumentation fixture

Signed-off-by: Teo <teocns@gmail.com>

* cleanup span utils

Signed-off-by: Teo <teocns@gmail.com>

* Deprecate immediate span processor

Signed-off-by: Teo <teocns@gmail.com>

* agent: use semconv

Signed-off-by: Teo <teocns@gmail.com>

* test_spans: update semconv

Signed-off-by: Teo <teocns@gmail.com>

* cleanup test instrumentation

Signed-off-by: Teo <teocns@gmail.com>

* test decorators: move to pytest

Signed-off-by: Teo <teocns@gmail.com>

* migrate test_factory to pytest

Signed-off-by: Teo <teocns@gmail.com>

* test_core: migrate to pytest

Signed-off-by: Teo <teocns@gmail.com>

* test_spanned: migrate to pytest

Signed-off-by: Teo <teocns@gmail.com>

* test_spans: migrate to pytest

Signed-off-by: Teo <teocns@gmail.com>

* Fix "Overriding of current TracerProvider is not allowed"

Signed-off-by: Teo <teocns@gmail.com>

* update basic_usage with agentops.init()

Signed-off-by: Teo <teocns@gmail.com>

* TracingCore.initialize_from_config: accept **kwargs

* Have AgentOps' Client() initialize TracingCore

Signed-off-by: Teo <teocns@gmail.com>

* Remove grpc client

Signed-off-by: Teo <teocns@gmail.com>

* Consolidate auth manager

Signed-off-by: Teo <teocns@gmail.com>

* uv.lock

Signed-off-by: Teo <teocns@gmail.com>

* cleanup

Signed-off-by: Teo <teocns@gmail.com>

* BatchSpanProcessor instead of LiveSpanProcessor

Signed-off-by: Teo <teocns@gmail.com>

* Change test.py with agentops.init()

Signed-off-by: Teo <teocns@gmail.com>

* Improve exporter authentication method

Signed-off-by: Teo <teocns@gmail.com>

* Configure logging in init

Signed-off-by: Teo <teocns@gmail.com>

* flowchart

Signed-off-by: Teo <teocns@gmail.com>

* fix markdown

Signed-off-by: Teo <teocns@gmail.com>

* grouped components better

* semconv

Signed-off-by: Teo <teocns@gmail.com>

* Processor: use basic InFlight

Signed-off-by: Teo <teocns@gmail.com>

* Spanned: use semconv

Signed-off-by: Teo <teocns@gmail.com>

* processor: accept **kwargs

Signed-off-by: Teo <teocns@gmail.com>

* DEBUG logging in pytest

Signed-off-by: Teo <teocns@gmail.com>

* LiveSpanProcessor to use CoreAttribute

Signed-off-by: Teo <teocns@gmail.com>

* Merge spanned into traced

Signed-off-by: Teo <teocns@gmail.com>

* update imports

Signed-off-by: Teo <teocns@gmail.com>

* finalize readme and tests

Signed-off-by: Teo <teocns@gmail.com>

* merge test spanned -> traced

Signed-off-by: Teo <teocns@gmail.com>

* convert to pytest

Signed-off-by: Teo <teocns@gmail.com>

* Squash merge dev-ctx-attach: Improve decorators context management

Signed-off-by: Teo <teocns@gmail.com>

* test auth flow example

Signed-off-by: Teo <teocns@gmail.com>

* delete old examples

Signed-off-by: Teo <teocns@gmail.com>

* new examples

Signed-off-by: Teo <teocns@gmail.com>

* ADD FIXME warning

Signed-off-by: Teo <teocns@gmail.com>

* streamline project_id parsing in Client

Signed-off-by: Teo <teocns@gmail.com>

* Squash merge dev-no-reauth into dev

Signed-off-by: Teo <teocns@gmail.com>

* remove api key param from examples

Signed-off-by: Teo <teocns@gmail.com>

* converters: uuid <> int converters

Signed-off-by: Teo <teocns@gmail.com>

* trace_id: keep as int, add trace_uuid

Signed-off-by: Teo <teocns@gmail.com>

* spans: +logger.debug

Signed-off-by: Teo <teocns@gmail.com>

* remove import for livespanprocessor

Signed-off-by: Teo <teocns@gmail.com>

* remove test spans/traced

Signed-off-by: Teo <teocns@gmail.com>

* change default exporter endpoint

Signed-off-by: Teo <teocns@gmail.com>

* add load dotenv

Signed-off-by: Teo <teocns@gmail.com>

* Agents SDK (#800)

* Agents SDK

* Update OpenTelemetry instrumentation to use AgentOps semconv

* Added Agents SDK Examples

* update example adding openai trace

Signed-off-by: Teo <teocns@gmail.com>

* opentelemetry: setup metrics

Signed-off-by: Teo <teocns@gmail.com>

* feat(span_kinds): add SESSION span kind to SpanKind class

* ye (#803)

* delete alpha spanning

Signed-off-by: Teo <teocns@gmail.com>

* utility base

Signed-off-by: Teo <teocns@gmail.com>

Base util

Signed-off-by: Teo <teocns@gmail.com>

* add decorators

Signed-off-by: Teo <teocns@gmail.com>

* client.__instance

Signed-off-by: Teo <teocns@gmail.com>

* Chop down decorators to session, agents, operation

Signed-off-by: Teo <teocns@gmail.com>

* Remove old examples

Signed-off-by: Teo <teocns@gmail.com>

* examples

Signed-off-by: Teo <teocns@gmail.com>

* rename to record

Signed-off-by: Teo <teocns@gmail.com>

* simplify decos

Signed-off-by: Teo <teocns@gmail.com>

* basic

Signed-off-by: Teo <teocns@gmail.com>

* fix imports

Signed-off-by: Teo <teocns@gmail.com>

* basic test

Signed-off-by: Teo <teocns@gmail.com>

* draft

Signed-off-by: Teo <teocns@gmail.com>

* uv lock

Signed-off-by: Teo <teocns@gmail.com>

* set current span context to parent

Signed-off-by: Teo <teocns@gmail.com>

* Rename AgentOpsSpanKind -> SpanKind

Signed-off-by: Teo <teocns@gmail.com>

---------

Signed-off-by: Teo <teocns@gmail.com>

* fix imports

Signed-off-by: Teo <teocns@gmail.com>

* spankinds

Signed-off-by: Teo <teocns@gmail.com>

* Noops for compatibility with older implementations. (#801)

* Cleanup unused functions. (#804)

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Intercept OTEL log messages and redirect to DEBUG. (#805)

Logging interception for otel messages.

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* CrewAI example. (#806)

* CrewAI example.

* Remove crew dep installation from crew example.

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Rename `compat`. Delete `end_all_sessions`.  Default log level.  (#808)

* Set default log level. Lower instrumenation log levels. Rename compat to _compat. Remove crew dep installation from crew example.

* Remove unimplemented end_all_sessions.

* Add Streaming support for AgentsInstrumentor and update SpanKind definitions (#810)

* Add AgentsInstrumentor and update SpanKind definitions

* Added support for Agents SDK streaming

* Remove monkey patching of shutdown method from AgentsInstrumentor

* Remove debug print statement from AgentsInstrumentor and clean up initialization code

* Refactor logging in AgentsInstrumentor to use warning level for error messages and remove debug statements. This change enhances log clarity by reducing verbosity and ensuring that important warnings are highlighted.

* Added Examples for OpenAI (#811)

* Added Examples for OpenAI

* Update OpenAI examples to reference 'trace url' instead of 'session url' for tracking runs in AgentOps.

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Added Examples for CrewAI (#812)

* Added Examples for CrewAI

* Update .gitignore to include .db files and remove obsolete SQLite and binary files from examples/crewai_examples/db directory.

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* Remove instrumentor support for Ollama and Haystack (#814)

* remove haystack support

* Delete groq_examples directory

* removed ollama support

* commands (#813)

* commands mod

Signed-off-by: Teo <teocns@gmail.com>

* start_span, end_span commands

Signed-off-by: Teo <teocns@gmail.com>

* Move compat to legacy

Signed-off-by: Teo <teocns@gmail.com>

* legacy: start/end session

Signed-off-by: Teo <teocns@gmail.com>

* commands: move session-related to legacy

Signed-off-by: Teo <teocns@gmail.com>

* Move facade to context

Signed-off-by: Teo <teocns@gmail.com>

* Client: auto_start_session configured with legacy

Signed-off-by: Teo <teocns@gmail.com>

* commands: start_span to implement auto init

Signed-off-by: Teo <teocns@gmail.com>

* core: refactor, remove .start_session() methods, improve exceptions

Signed-off-by: Teo <teocns@gmail.com>

* adapt examples

Signed-off-by: Teo <teocns@gmail.com>

---------

Signed-off-by: Teo <teocns@gmail.com>

* refactor: rename uuid_to_hex_int to uuid_to_int16

* add InternalSpanProcessor

Signed-off-by: Teo <teocns@gmail.com>

* Squash merge dev-internal-processor into dev

Signed-off-by: Teo <teocns@gmail.com>

* Added Anthropic examples (#817)

* Added Examples for Anthropic

* Refactor Anthropic example notebook by removing verbose debug output and updating execution count to null for cleaner presentation.

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* fix: checks for `dev` before release (#818)

* remove unnecessary instrumentations

* move `test_auth_flow` to `tests/integraiton`

* remove cursor rules

* remove incomplete instrumentations from the sdk

* ignore .cursorrules

* remove `autogen` instrumentation

* ruff format code

* ruff format examples

* Added Agents SDK Examples (#819)

* Added Agents Example

* remove init from agents examples

---------

Co-authored-by: Pratyush Shukla <ps4534@nyu.edu>

* clean the scripts to fix ruff formatting

* ruff format

---------

Co-authored-by: Dwij <96073160+Dwij1704@users.noreply.github.com>

* add missing anthropic example

* remove test file

* update version

* update `vcrpy` dep version

* ruff ignore E731

* update `uv.lock`

* fix video rendering

---------

Signed-off-by: Teo <teocns@gmail.com>
Co-authored-by: Teo <teocns@gmail.com>
Co-authored-by: Dwij Patel <dwijpatel1704@gmail.com>
Co-authored-by: teocns <59549574+teocns@users.noreply.github.com>
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Constantin-Doru Teodorescu <teo@agentops.ai>
Co-authored-by: Dwij <96073160+Dwij1704@users.noreply.github.com>
Co-authored-by: Travis Dent <tcdent@gmail.com>

0.3.26

24 Jan 23:43
f0dd27e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.3.25...0.3.26

0.3.25

22 Jan 10:42
15f54ad
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.3.24...0.3.25

0.3.24

18 Jan 19:07
6888ac7
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.3.23...0.3.24

0.3.23

12 Jan 02:11
81c60c6
Compare
Choose a tag to compare

What's Changed

  • Hatchling packaging and UV Release workflow by @teocns in #641

Full Changelog: 0.3.22...0.3.23

0.3.22

11 Jan 03:21
828aa21
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.3.21...0.3.22