evidentlyai / evidently

Evidently is ​​an open-source ML and LLM observability framework. Evaluate, test, and monitor any AI-powered system or data pipeline. From tabular data to Gen AI. 100+ metrics.
https://www.evidentlyai.com/evidently-oss
Apache License 2.0
5.27k stars 594 forks source link

evidently collector service #1024

Open kumbhar99973 opened 7 months ago

kumbhar99973 commented 7 months ago

when i start evidently collector service i get below error

{ "detail": "Not Found" }

Apachaika commented 7 months ago

I got another issue with collector when ran version 0.4.16

(pythonProject3) PS F:\Work\evedentlyai> evidently collector
Anonimous usage reporting is enabled. To disable it, set env variable DO_NOT_TRACK to any value ╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮ │ C:\Users\apach\anaconda3\envs\pythonProject3\Lib\site-packages\evidently\cli\collector.py:19 in │ │ collector │ │ │ │ 16 │ from evidently.collector.app import run │ │ 17 │ from evidently.collector.config import CONFIG_PATH │ │ 18 │ │ │ ❱ 19 │ run(host, port, config_path or CONFIG_PATH, secret) │ │ 20 │ │ │ │ ╭────────────────────── locals ──────────────────────╮ │ │ │ config_path = None │ │ │ │ CONFIG_PATH = 'collector_config.json' │ │ │ │ host = '0.0.0.0' │ │ │ │ port = 8001 │ │ │ │ run = <function run at 0x000002270E8A1800> │ │ │ │ secret = None │ │ │ ╰────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\apach\anaconda3\envs\pythonProject3\Lib\site-packages\evidently\collector\app.py:193 in │ │ run │ │ │ │ 190 │ │ if not connection.scope["auth"]["authenticated"]: │ │ 191 │ │ │ raise NotAuthorizedException() │ │ 192 │ │ │ ❱ 193 │ app = Litestar( │ │ 194 │ │ route_handlers=[ │ │ 195 │ │ │ create_collector, │ │ 196 │ │ │ get_collector, │ │ │ │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │ │ │ auth_middleware_factory = <function run..auth_middleware_factory at │ │ │ │ 0x000002270E8A2660> │ │ │ │ config_path = 'collector_config.json' │ │ │ │ host = '0.0.0.0' │ │ │ │ is_authenticated = <function run..is_authenticated at 0x000002270E8A2700> │ │ │ │ port = 8001 │ │ │ │ secret = None │ │ │ │ security = <evidently.ui.security.no_security.NoSecurityService object at │ │ │ │ 0x000002270E915410> │ │ │ │ service = CollectorServiceConfig( │ │ │ │ │ check_interval=1.0, │ │ │ │ │ collectors={}, │ │ │ │ │ storage=InMemoryStorage( │ │ │ │ │ │ type='evidently.collector.storage.InMemoryStorage', │ │ │ │ │ │ max_log_events=10 │ │ │ │ │ ) │ │ │ │ ) │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\apach\anaconda3\envs\pythonProject3\Lib\site-packages\litestar\app.py:468 in init │ │ │ │ 465 │ │ ) │ │ 466 │ │ │ │ 467 │ │ for route_handler in config.route_handlers: │ │ ❱ 468 │ │ │ self.register(route_handler) │ │ 469 │ │ │ │ 470 │ │ if self.logging_config: │ │ 471 │ │ │ self.get_logger = self.logging_config.configure() │ │ │ │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │ │ │ _starlette_exception_handler = <function _starlette_exception_handler at 0x000002270E92DDA0> │ │ │ │ after_exception = None │ │ │ │ after_request = None │ │ │ │ after_response = None │ │ │ │ allowed_hosts = None │ │ │ │ before_request = None │ │ │ │ before_send = None │ │ │ │ cache_control = None │ │ │ │ compression_config = None │ │ │ │ config = AppConfig( │ │ │ │ │ after_exception=[], │ │ │ │ │ after_request=None, │ │ │ │ │ after_response=None, │ │ │ │ │ allowed_hosts=[], │ │ │ │ │ before_request=None, │ │ │ │ │ before_send=[], │ │ │ │ │ cache_control=None, │ │ │ │ │ compression_config=None, │ │ │ │ │ cors_config=None, │ │ │ │ │ csrf_config=None, │ │ │ │ │ debug=False, │ │ │ │ │ dependencies={ │ │ │ │ │ │ 'security': <litestar.di.Provide object at │ │ │ │ 0x000002270E85A1F0>, │ │ │ │ │ │ 'service': <litestar.di.Provide object at │ │ │ │ 0x000002270E85A340>, │ │ │ │ │ │ 'storage': <litestar.di.Provide object at │ │ │ │ 0x000002270E85A2D0> │ │ │ │ │ }, │ │ │ │ │ dto=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ etag=None, │ │ │ │ │ event_emitter_backend=<class │ │ │ │ 'litestar.events.emitter.SimpleEventEmitter'>, │ │ │ │ │ exception_handlers={ │ │ │ │ │ │ <class 'starlette.exceptions.HTTPException'>: │ │ │ │ <function _starlette_exception_handler at 0x000002270E92DDA0> │ │ │ │ │ }, │ │ │ │ │ guards=[ │ │ │ │ │ │ <function run..is_authenticated at │ │ │ │ 0x000002270E8A2700> │ │ │ │ │ ], │ │ │ │ │ include_in_schema=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ lifespan=[], │ │ │ │ │ listeners=[], │ │ │ │ │ logging_config=LoggingConfig( │ │ │ │ │ │ version=1, │ │ │ │ │ │ incremental=False, │ │ │ │ │ │ disable_existing_loggers=False, │ │ │ │ │ │ filters=None, │ │ │ │ │ │ propagate=True, │ │ │ │ │ │ formatters={ │ │ │ │ │ │ │ 'standard': { │ │ │ │ │ │ │ │ 'format': '%(levelname)s - %(asctime)s - │ │ │ │ %(name)s - %(module)s - %(message)s' │ │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ handlers={ │ │ │ │ │ │ │ 'console': { │ │ │ │ │ │ │ │ 'class': 'logging.StreamHandler', │ │ │ │ │ │ │ │ 'level': 'DEBUG', │ │ │ │ │ │ │ │ 'formatter': 'standard' │ │ │ │ │ │ │ }, │ │ │ │ │ │ │ 'queue_listener': { │ │ │ │ │ │ │ │ 'class': │ │ │ │ 'litestar.logging.standard.QueueListenerHandler', │ │ │ │ │ │ │ │ 'level': 'DEBUG', │ │ │ │ │ │ │ │ 'formatter': 'standard' │ │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ loggers={ │ │ │ │ │ │ │ 'litestar': { │ │ │ │ │ │ │ │ 'level': 'INFO', │ │ │ │ │ │ │ │ 'handlers': ['queue_listener'], │ │ │ │ │ │ │ │ 'propagate': False │ │ │ │ │ │ │ } │ │ │ │ │ │ }, │ │ │ │ │ │ root={ │ │ │ │ │ │ │ 'handlers': ['queue_listener'], │ │ │ │ │ │ │ 'level': 'INFO' │ │ │ │ │ │ }, │ │ │ │ │ │ configure_root_logger=True, │ │ │ │ │ │ log_exceptions='debug', │ │ │ │ │ │ traceback_line_limit=20, │ │ │ │ │ │ exception_logging_handler=<function │ │ │ │ _default_exception_logging_handler_factory.._default… │ │ │ │ at 0x000002270E8A2A20> │ │ │ │ │ ), │ │ │ │ │ middleware=[ │ │ │ │ │ │ <function run..auth_middleware_factory at │ │ │ │ 0x000002270E8A2660> │ │ │ │ │ ], │ │ │ │ │ on_shutdown=[], │ │ │ │ │ on_startup=[], │ │ │ │ │ openapi_config=OpenAPIConfig( │ │ │ │ │ │ title='Litestar API', │ │ │ │ │ │ version='1.0.0', │ │ │ │ │ │ create_examples=False, │ │ │ │ │ │ openapi_controller=<class │ │ │ │ 'litestar.openapi.controller.OpenAPIController'>, │ │ │ │ │ │ contact=None, │ │ │ │ │ │ description=None, │ │ │ │ │ │ external_docs=None, │ │ │ │ │ │ license=None, │ │ │ │ │ │ security=None, │ │ │ │ │ │ components=Components( │ │ │ │ │ │ │ schemas={}, │ │ │ │ │ │ │ responses=None, │ │ │ │ │ │ │ parameters=None, │ │ │ │ │ │ │ examples=None, │ │ │ │ │ │ │ request_bodies=None, │ │ │ │ │ │ │ headers=None, │ │ │ │ │ │ │ security_schemes=None, │ │ │ │ │ │ │ links=None, │ │ │ │ │ │ │ callbacks=None, │ │ │ │ │ │ │ path_items=None │ │ │ │ │ │ ), │ │ │ │ │ │ servers=[ │ │ │ │ │ │ │ Server( │ │ │ │ │ │ │ │ url='/', │ │ │ │ │ │ │ │ description=None, │ │ │ │ │ │ │ │ variables=None │ │ │ │ │ │ │ ) │ │ │ │ │ │ ], │ │ │ │ │ │ summary=None, │ │ │ │ │ │ tags=None, │ │ │ │ │ │ terms_of_service=None, │ │ │ │ │ │ use_handler_docstrings=False, │ │ │ │ │ │ webhooks=None, │ │ │ │ │ │ root_schema_site='redoc', │ │ │ │ │ │ enabled_endpoints={ │ │ │ │ │ │ │ 'redoc', │ │ │ │ │ │ │ 'openapi.yml', │ │ │ │ │ │ │ 'openapi.json', │ │ │ │ │ │ │ 'oauth2-redirect.html', │ │ │ │ │ │ │ 'swagger', │ │ │ │ │ │ │ 'elements', │ │ │ │ │ │ │ 'rapidoc', │ │ │ │ │ │ │ 'openapi.yaml' │ │ │ │ │ │ }, │ │ │ │ │ │ operation_id_creator=<function │ │ │ │ default_operation_id_creator at 0x00000227580DA520>, │ │ │ │ │ │ path=None │ │ │ │ │ ), │ │ │ │ │ opt={}, │ │ │ │ │ parameters={}, │ │ │ │ │ pdb_on_exception=False, │ │ │ │ │ plugins=[ │ │ │ │ │ │ <litestar.plugins.core.MsgspecDIPlugin object at │ │ │ │ 0x000002270E9159D0>, │ │ │ │ │ │ <litestar.contrib.pydantic.PydanticPlugin object at │ │ │ │ 0x000002270E905E70>, │ │ │ │ │ │ │ │ │ │ <litestar.contrib.pydantic.pydantic_di_plugin.PydanticDIPlug… │ │ │ │ object at 0x000002270E915990>, │ │ │ │ │ │ │ │ │ │ <litestar.contrib.attrs.attrs_schema_plugin.AttrsSchemaPlugin │ │ │ │ object at 0x000002270E916C10>, │ │ │ │ │ │ <litestar._openapi.plugin.OpenAPIPlugin object at │ │ │ │ 0x000002270E915200>, │ │ │ │ │ │ │ │ │ │ <litestar._openapi.schema_generation.plugins.pagination.Pagi… │ │ │ │ object at 0x0000022758631AD0>, │ │ │ │ │ │ │ │ │ │ <litestar._openapi.schema_generation.plugins.struct.StructSc… │ │ │ │ object at 0x0000022758632090>, │ │ │ │ │ │ │ │ │ │ <litestar._openapi.schema_generation.plugins.dataclass.Datac… │ │ │ │ object at 0x0000022758631CD0>, │ │ │ │ │ │ │ │ │ │ <litestar._openapi.schema_generation.plugins.typed_dict.Type… │ │ │ │ object at 0x0000022758631B10>, │ │ │ │ │ │ │ │ │ │ <litestar.contrib.pydantic.pydantic_init_plugin.PydanticInit… │ │ │ │ object at 0x000002270E904850>, │ │ │ │ │ │ ... +2 │ │ │ │ │ ], │ │ │ │ │ request_class=None, │ │ │ │ │ response_class=None, │ │ │ │ │ response_cookies=[], │ │ │ │ │ response_headers=[], │ │ │ │ │ response_cache_config=ResponseCacheConfig( │ │ │ │ │ │ default_expiration=60, │ │ │ │ │ │ key_builder=<function default_cache_key_builder at │ │ │ │ 0x00000227584D1A80>, │ │ │ │ │ │ store='response_cache', │ │ │ │ │ │ cache_response_filter=<function │ │ │ │ default_do_cache_predicate at 0x00000227584D1B20> │ │ │ │ │ ), │ │ │ │ │ return_dto=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ route_handlers=[ │ │ │ │ │ │ <litestar.handlers.http_handlers.decorators.post │ │ │ │ object at 0x000002270CA83E20>, │ │ │ │ │ │ <litestar.handlers.http_handlers.decorators.get │ │ │ │ object at 0x000002270CA84050>, │ │ │ │ │ │ <litestar.handlers.http_handlers.decorators.post │ │ │ │ object at 0x000002270CA800E0>, │ │ │ │ │ │ <litestar.handlers.http_handlers.decorators.post │ │ │ │ object at 0x000002270CA84280>, │ │ │ │ │ │ <litestar.handlers.http_handlers.decorators.get │ │ │ │ object at 0x000002270CA846E0>, │ │ │ │ │ │ <class │ │ │ │ 'litestar.openapi.controller.OpenAPIController'> │ │ │ │ │ ], │ │ │ │ │ security=[], │ │ │ │ │ signature_namespace={}, │ │ │ │ │ signature_types=[], │ │ │ │ │ state=<litestar.datastructures.state.State object at │ │ │ │ 0x000002270E927D80>, │ │ │ │ │ static_files_config=[], │ │ │ │ │ stores=None, │ │ │ │ │ tags=[], │ │ │ │ │ template_config=None, │ │ │ │ │ type_encoders={ │ │ │ │ │ │ <class 'pydantic.networks.EmailStr'>: <class 'str'>, │ │ │ │ │ │ <class 'pydantic.networks.NameEmail'>: <class 'str'>, │ │ │ │ │ │ <class 'pydantic.types.ByteSize'>: <function │ │ │ │ at 0x000002270E8A3BA0>, │ │ │ │ │ │ <class 'pydantic.main.BaseModel'>: <function │ │ │ │ PydanticInitPlugin._create_pydantic_v1_encoders..<la… │ │ │ │ at 0x000002270E92CAE0>, │ │ │ │ │ │ <class 'pydantic.types.SecretField'>: <class 'str'>, │ │ │ │ │ │ <class 'pydantic.types.StrictBool'>: <class 'int'>, │ │ │ │ │ │ <class 'pydantic.color.Color'>: <class 'str'>, │ │ │ │ │ │ <class 'pydantic.types.ConstrainedBytes'>: <function │ │ │ │ PydanticInitPlugin._create_pydantic_v1_encoders..<la… │ │ │ │ at 0x000002270E92CB80>, │ │ │ │ │ │ <class 'pydantic.types.ConstrainedDate'>: <function │ │ │ │ PydanticInitPlugin._create_pydantic_v1_encoders..<la… │ │ │ │ at 0x000002270E92CD60>, │ │ │ │ │ │ <class 'pydantic.networks.AnyUrl'>: <class 'str'> │ │ │ │ │ }, │ │ │ │ │ type_decoders=[ │ │ │ │ │ │ ( │ │ │ │ │ │ │ <function is_pydantic_v1_model_class at │ │ │ │ 0x000002270E8A3CE0>, │ │ │ │ │ │ │ <function _dec_pydantic_v1 at 0x000002270E8A3920> │ │ │ │ │ │ ), │ │ │ │ │ │ ( │ │ │ │ │ │ │ <function _is_pydantic_v1_uuid at │ │ │ │ 0x000002270E8A3B00>, │ │ │ │ │ │ │ <function _dec_pydantic_uuid at │ │ │ │ 0x000002270E8A3A60> │ │ │ │ │ │ ) │ │ │ │ │ ], │ │ │ │ │ websocket_class=None, │ │ │ │ │ multipart_form_part_limit=1000, │ │ │ │ │ experimental_features=[] │ │ │ │ ) │ │ │ │ cors_config = None │ │ │ │ csrf_config = None │ │ │ │ debug = False │ │ │ │ dependencies = { │ │ │ │ │ 'security': <litestar.di.Provide object at │ │ │ │ 0x000002270E85A1F0>, │ │ │ │ │ 'service': <litestar.di.Provide object at │ │ │ │ 0x000002270E85A340>, │ │ │ │ │ 'storage': <litestar.di.Provide object at │ │ │ │ 0x000002270E85A2D0> │ │ │ │ } │ │ │ │ dto = <_EmptyEnum.EMPTY: 0> │ │ │ │ etag = None │ │ │ │ event_emitter_backend = <class 'litestar.events.emitter.SimpleEventEmitter'> │ │ │ │ exception_handlers = None │ │ │ │ experimental_features = None │ │ │ │ guards = [ │ │ │ │ │ <function run..is_authenticated at │ │ │ │ 0x000002270E8A2700> │ │ │ │ ] │ │ │ │ handler = <bound method PydanticInitPlugin.on_app_init of │ │ │ │ <litestar.contrib.pydantic.pydantic_init_plugin.PydanticInit… │ │ │ │ object at 0x000002270E904850>> │ │ │ │ include_in_schema = <_EmptyEnum.EMPTY: 0> │ │ │ │ lifespan = None │ │ │ │ listeners = None │ │ │ │ logging_config = LoggingConfig( │ │ │ │ │ version=1, │ │ │ │ │ incremental=False, │ │ │ │ │ disable_existing_loggers=False, │ │ │ │ │ filters=None, │ │ │ │ │ propagate=True, │ │ │ │ │ formatters={ │ │ │ │ │ │ 'standard': { │ │ │ │ │ │ │ 'format': '%(levelname)s - %(asctime)s - %(name)s │ │ │ │ - %(module)s - %(message)s' │ │ │ │ │ │ } │ │ │ │ │ }, │ │ │ │ │ handlers={ │ │ │ │ │ │ 'console': { │ │ │ │ │ │ │ 'class': 'logging.StreamHandler', │ │ │ │ │ │ │ 'level': 'DEBUG', │ │ │ │ │ │ │ 'formatter': 'standard' │ │ │ │ │ │ }, │ │ │ │ │ │ 'queue_listener': { │ │ │ │ │ │ │ 'class': │ │ │ │ 'litestar.logging.standard.QueueListenerHandler', │ │ │ │ │ │ │ 'level': 'DEBUG', │ │ │ │ │ │ │ 'formatter': 'standard' │ │ │ │ │ │ } │ │ │ │ │ }, │ │ │ │ │ loggers={ │ │ │ │ │ │ 'litestar': { │ │ │ │ │ │ │ 'level': 'INFO', │ │ │ │ │ │ │ 'handlers': ['queue_listener'], │ │ │ │ │ │ │ 'propagate': False │ │ │ │ │ │ } │ │ │ │ │ }, │ │ │ │ │ root={'handlers': ['queue_listener'], 'level': 'INFO'}, │ │ │ │ │ configure_root_logger=True, │ │ │ │ │ log_exceptions='debug', │ │ │ │ │ traceback_line_limit=20, │ │ │ │ │ exception_logging_handler=<function │ │ │ │ _default_exception_logging_handler_factory.._default… │ │ │ │ at 0x000002270E8A2A20> │ │ │ │ ) │ │ │ │ middleware = [ │ │ │ │ │ <function run..auth_middleware_factory at │ │ │ │ 0x000002270E8A2660> │ │ │ │ ] │ │ │ │ multipart_form_part_limit = 1000 │ │ │ │ on_app_init = None │ │ │ │ on_shutdown = None │ │ │ │ on_startup = None │ │ │ │ openapi_config = OpenAPIConfig( │ │ │ │ │ title='Litestar API', │ │ │ │ │ version='1.0.0', │ │ │ │ │ create_examples=False, │ │ │ │ │ openapi_controller=<class │ │ │ │ 'litestar.openapi.controller.OpenAPIController'>, │ │ │ │ │ contact=None, │ │ │ │ │ description=None, │ │ │ │ │ external_docs=None, │ │ │ │ │ license=None, │ │ │ │ │ security=None, │ │ │ │ │ components=Components( │ │ │ │ │ │ schemas={}, │ │ │ │ │ │ responses=None, │ │ │ │ │ │ parameters=None, │ │ │ │ │ │ examples=None, │ │ │ │ │ │ request_bodies=None, │ │ │ │ │ │ headers=None, │ │ │ │ │ │ security_schemes=None, │ │ │ │ │ │ links=None, │ │ │ │ │ │ callbacks=None, │ │ │ │ │ │ path_items=None │ │ │ │ │ ), │ │ │ │ │ servers=[ │ │ │ │ │ │ Server(url='/', description=None, variables=None) │ │ │ │ │ ], │ │ │ │ │ summary=None, │ │ │ │ │ tags=None, │ │ │ │ │ terms_of_service=None, │ │ │ │ │ use_handler_docstrings=False, │ │ │ │ │ webhooks=None, │ │ │ │ │ root_schema_site='redoc', │ │ │ │ │ enabled_endpoints={ │ │ │ │ │ │ 'redoc', │ │ │ │ │ │ 'openapi.yml', │ │ │ │ │ │ 'openapi.json', │ │ │ │ │ │ 'oauth2-redirect.html', │ │ │ │ │ │ 'swagger', │ │ │ │ │ │ 'elements', │ │ │ │ │ │ 'rapidoc', │ │ │ │ │ │ 'openapi.yaml' │ │ │ │ │ }, │ │ │ │ │ operation_id_creator=<function │ │ │ │ default_operation_id_creator at 0x00000227580DA520>, │ │ │ │ │ path=None │ │ │ │ ) │ │ │ │ opt = None │ │ │ │ parameters = None │ │ │ │ pdb_on_exception = False │ │ │ │ plugins = None │ │ │ │ request_class = None │ │ │ │ response_cache_config = None │ │ │ │ response_class = None │ │ │ │ response_cookies = None │ │ │ │ response_headers = None │ │ │ │ return_dto = <_EmptyEnum.EMPTY: 0> │ │ │ │ route_handler = <litestar.handlers.http_handlers.decorators.post object at │ │ │ │ 0x000002270CA83E20> │ │ │ │ route_handlers = [ │ │ │ │ │ <litestar.handlers.http_handlers.decorators.post object │ │ │ │ at 0x000002270CA83E20>, │ │ │ │ │ <litestar.handlers.http_handlers.decorators.get object at │ │ │ │ 0x000002270CA84050>, │ │ │ │ │ <litestar.handlers.http_handlers.decorators.post object │ │ │ │ at 0x000002270CA800E0>, │ │ │ │ │ <litestar.handlers.http_handlers.decorators.post object │ │ │ │ at 0x000002270CA84280>, │ │ │ │ │ <litestar.handlers.http_handlers.decorators.get object at │ │ │ │ 0x000002270CA846E0> │ │ │ │ ] │ │ │ │ security = None │ │ │ │ self = <litestar.app.Litestar object at 0x000002270E88CA40> │ │ │ │ signature_namespace = None │ │ │ │ signature_types = None │ │ │ │ StarletteHTTPException = <class 'starlette.exceptions.HTTPException'> │ │ │ │ state = None │ │ │ │ static_files_config = None │ │ │ │ stores = None │ │ │ │ tags = None │ │ │ │ template_config = None │ │ │ │ type_decoders = None │ │ │ │ type_encoders = None │ │ │ │ websocket_class = None │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\apach\anaconda3\envs\pythonProject3\Lib\site-packages\litestar\app.py:655 in register │ │ │ │ 652 │ │ │ │ route_handler.on_registration(self) │ │ 653 │ │ │ │ │ 654 │ │ │ if isinstance(route, HTTPRoute): │ │ ❱ 655 │ │ │ │ route.create_handler_map() │ │ 656 │ │ │ │ │ 657 │ │ │ elif isinstance(route, WebSocketRoute): │ │ 658 │ │ │ │ route.handler_parameter_model = route.create_handler_kwargs_model(route. │ │ │ │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │ │ │ route = <litestar.routes.http.HTTPRoute object at 0x000002270E85BDF0> │ │ │ │ route_handler = <litestar.handlers.http_handlers.base.HTTPRouteHandler object at │ │ │ │ 0x000002270A51EAE0> │ │ │ │ route_handlers = [ │ │ │ │ │ <litestar.handlers.http_handlers.decorators.post object at │ │ │ │ 0x000002270CA86350>, │ │ │ │ │ <litestar.handlers.http_handlers.base.HTTPRouteHandler object at │ │ │ │ 0x000002270A51EAE0> │ │ │ │ ] │ │ │ │ routes = [<litestar.routes.http.HTTPRoute object at 0x000002270E85BDF0>] │ │ │ │ self = <litestar.app.Litestar object at 0x000002270E88CA40> │ │ │ │ value = <litestar.handlers.http_handlers.decorators.post object at │ │ │ │ 0x000002270CA83E20> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\apach\anaconda3\envs\pythonProject3\Lib\site-packages\litestar\routes\http.py:99 in │ │ create_handler_map │ │ │ │ 96 │ │ http- methods and route handlers. │ │ 97 │ │ """ │ │ 98 │ │ for route_handler in self.route_handlers: │ │ ❱ 99 │ │ │ kwargs_model = self.create_handler_kwargs_model(route_handler=route_handler) │ │ 100 │ │ │ for http_method in route_handler.http_methods: │ │ 101 │ │ │ │ if self.route_handler_map.get(http_method): │ │ 102 │ │ │ │ │ raise ImproperlyConfiguredException( │ │ │ │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │ │ │ route_handler = <litestar.handlers.http_handlers.decorators.post object at │ │ │ │ 0x000002270CA86350> │ │ │ │ self = <litestar.routes.http.HTTPRoute object at 0x000002270E85BDF0> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\apach\anaconda3\envs\pythonProject3\Lib\site-packages\litestar\routes\base.py:135 in │ │ create_handler_kwargs_model │ │ │ │ 132 │ │ │ │ raise ImproperlyConfiguredException(f"Duplicate parameter '{param.name}' │ │ 133 │ │ │ path_parameters.add(param.name) │ │ 134 │ │ │ │ ❱ 135 │ │ return KwargsModel.create_for_signature_model( │ │ 136 │ │ │ signature_model=route_handler.signature_model, │ │ 137 │ │ │ parsed_signature=route_handler.parsed_fn_signature, │ │ 138 │ │ │ dependencies=route_handler.resolve_dependencies(), │ │ │ │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │ │ │ param = PathParameterDefinition( │ │ │ │ │ name='id', │ │ │ │ │ full='id:str', │ │ │ │ │ type=<class 'str'>, │ │ │ │ │ parser=None │ │ │ │ ) │ │ │ │ path_parameters = {'id'} │ │ │ │ route_handler = <litestar.handlers.http_handlers.decorators.post object at │ │ │ │ 0x000002270CA86350> │ │ │ │ self = <litestar.routes.http.HTTPRoute object at 0x000002270E85BDF0> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\apach\anaconda3\envs\pythonProject3\Lib\site-packages\litestar_kwargs\kwargs_model.py: │ │ 282 in create_for_signature_model │ │ │ │ 279 │ │ │ │ 280 │ │ field_definitions = signature_model._fields │ │ 281 │ │ │ │ ❱ 282 │ │ cls._validate_raw_kwargs( │ │ 283 │ │ │ path_parameters=path_parameters, │ │ 284 │ │ │ dependencies=dependencies, │ │ 285 │ │ │ field_definitions=field_definitions, │ │ │ │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │ │ │ cls = <class 'litestar._kwargs.kwargs_model.KwargsModel'> │ │ │ │ dependencies = { │ │ │ │ │ 'security': <litestar.di.Provide object at 0x000002270E85A1F0>, │ │ │ │ │ 'service': <litestar.di.Provide object at 0x000002270E85A340>, │ │ │ │ │ 'storage': <litestar.di.Provide object at 0x000002270E85A2D0> │ │ │ │ } │ │ │ │ field_definitions = { │ │ │ │ │ 'id': FieldDefinition( │ │ │ │ │ │ raw=typing.Annotated[str, ParameterKwarg(examples=None, │ │ │ │ external_docs=None, content_encoding=None, default=<_EmptyEnum.EMPTY: │ │ │ │ 0>, title=None, description='Collector ID', const=None, gt=None, │ │ │ │ ge=None, lt=None, le=None, multiple_of=None, min_items=None, │ │ │ │ max_items=None, min_length=None, max_length=None, pattern=None, │ │ │ │ lower_case=None, upper_case=None, format=None, enum=None, │ │ │ │ read_only=None, annotation=<_EmptyEnum.EMPTY: 0>, header=None, │ │ │ │ cookie=None, query='id', required=None)], │ │ │ │ │ │ annotation=<class 'str'>, │ │ │ │ │ │ type_wrappers={<class 'typing.Annotated'>}, │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=ParameterKwarg( │ │ │ │ │ │ │ examples=None, │ │ │ │ │ │ │ external_docs=None, │ │ │ │ │ │ │ content_encoding=None, │ │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ title=None, │ │ │ │ │ │ │ description='Collector ID', │ │ │ │ │ │ │ const=None, │ │ │ │ │ │ │ gt=None, │ │ │ │ │ │ │ ge=None, │ │ │ │ │ │ │ lt=None, │ │ │ │ │ │ │ le=None, │ │ │ │ │ │ │ multiple_of=None, │ │ │ │ │ │ │ min_items=None, │ │ │ │ │ │ │ max_items=None, │ │ │ │ │ │ │ min_length=None, │ │ │ │ │ │ │ max_length=None, │ │ │ │ │ │ │ pattern=None, │ │ │ │ │ │ │ lower_case=None, │ │ │ │ │ │ │ upper_case=None, │ │ │ │ │ │ │ format=None, │ │ │ │ │ │ │ enum=None, │ │ │ │ │ │ │ read_only=None, │ │ │ │ │ │ │ annotation=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ header=None, │ │ │ │ │ │ │ cookie=None, │ │ │ │ │ │ │ query='id', │ │ │ │ │ │ │ required=None │ │ │ │ │ │ ), │ │ │ │ │ │ name='id' │ │ │ │ │ ), │ │ │ │ │ 'data': FieldDefinition( │ │ │ │ │ │ raw=<class 'evidently.collector.config.CollectorConfig'>, │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.config.CollectorConfig'>, │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ name='data' │ │ │ │ │ ), │ │ │ │ │ 'service': FieldDefinition( │ │ │ │ │ │ raw=<class │ │ │ │ 'evidently.collector.config.CollectorServiceConfig'>, │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.config.CollectorServiceConfig'>, │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ name='service' │ │ │ │ │ ), │ │ │ │ │ 'storage': FieldDefinition( │ │ │ │ │ │ raw=<class 'evidently.collector.storage.CollectorStorage'>, │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.storage.CollectorStorage'>, │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ name='storage' │ │ │ │ │ ) │ │ │ │ } │ │ │ │ layered_parameters = {} │ │ │ │ parsed_signature = ParsedSignature( │ │ │ │ │ parameters={ │ │ │ │ │ │ 'id': FieldDefinition( │ │ │ │ │ │ │ raw=typing.Annotated[str, ParameterKwarg(examples=None, │ │ │ │ external_docs=None, content_encoding=None, default=<_EmptyEnum.EMPTY: │ │ │ │ 0>, title=None, description='Collector ID', const=None, gt=None, │ │ │ │ ge=None, lt=None, le=None, multiple_of=None, min_items=None, │ │ │ │ max_items=None, min_length=None, max_length=None, pattern=None, │ │ │ │ lower_case=None, upper_case=None, format=None, enum=None, │ │ │ │ read_only=None, annotation=<_EmptyEnum.EMPTY: 0>, header=None, │ │ │ │ cookie=None, query='id', required=None)], │ │ │ │ │ │ │ annotation=<class 'str'>, │ │ │ │ │ │ │ type_wrappers={<class 'typing.Annotated'>}, │ │ │ │ │ │ │ origin=None, │ │ │ │ │ │ │ args=(), │ │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ extra={}, │ │ │ │ │ │ │ kwarg_definition=ParameterKwarg( │ │ │ │ │ │ │ │ examples=None, │ │ │ │ │ │ │ │ external_docs=None, │ │ │ │ │ │ │ │ content_encoding=None, │ │ │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ │ title=None, │ │ │ │ │ │ │ │ description='Collector ID', │ │ │ │ │ │ │ │ const=None, │ │ │ │ │ │ │ │ gt=None, │ │ │ │ │ │ │ │ ge=None, │ │ │ │ │ │ │ │ lt=None, │ │ │ │ │ │ │ │ le=None, │ │ │ │ │ │ │ │ multiple_of=None, │ │ │ │ │ │ │ │ min_items=None, │ │ │ │ │ │ │ │ max_items=None, │ │ │ │ │ │ │ │ min_length=None, │ │ │ │ │ │ │ │ max_length=None, │ │ │ │ │ │ │ │ pattern=None, │ │ │ │ │ │ │ │ lower_case=None, │ │ │ │ │ │ │ │ upper_case=None, │ │ │ │ │ │ │ │ format=None, │ │ │ │ │ │ │ │ enum=None, │ │ │ │ │ │ │ │ read_only=None, │ │ │ │ │ │ │ │ annotation=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ │ header=None, │ │ │ │ │ │ │ │ cookie=None, │ │ │ │ │ │ │ │ query='id', │ │ │ │ │ │ │ │ required=None │ │ │ │ │ │ │ ), │ │ │ │ │ │ │ name='id' │ │ │ │ │ │ ), │ │ │ │ │ │ 'data': FieldDefinition( │ │ │ │ │ │ │ raw=<class 'evidently.collector.config.CollectorConfig'>, │ │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.config.CollectorConfig'>, │ │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ │ origin=None, │ │ │ │ │ │ │ args=(), │ │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ extra={}, │ │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ │ name='data' │ │ │ │ │ │ ), │ │ │ │ │ │ 'service': FieldDefinition( │ │ │ │ │ │ │ raw=<class │ │ │ │ 'evidently.collector.config.CollectorServiceConfig'>, │ │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.config.CollectorServiceConfig'>, │ │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ │ origin=None, │ │ │ │ │ │ │ args=(), │ │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ extra={}, │ │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ │ name='service' │ │ │ │ │ │ ), │ │ │ │ │ │ 'storage': FieldDefinition( │ │ │ │ │ │ │ raw=<class 'evidently.collector.storage.CollectorStorage'>, │ │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.storage.CollectorStorage'>, │ │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ │ origin=None, │ │ │ │ │ │ │ args=(), │ │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ extra={}, │ │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ │ name='storage' │ │ │ │ │ │ ) │ │ │ │ │ }, │ │ │ │ │ return_type=FieldDefinition( │ │ │ │ │ │ raw=<class 'evidently.collector.config.CollectorConfig'>, │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.config.CollectorConfig'>, │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ name='' │ │ │ │ │ ), │ │ │ │ │ original_signature=<Signature (id: typing.Annotated[str, │ │ │ │ ParameterKwarg(examples=None, external_docs=None, │ │ │ │ content_encoding=None, default=<_EmptyEnum.EMPTY: 0>, title=None, │ │ │ │ description='Collector ID', const=None, gt=None, ge=None, lt=None, │ │ │ │ le=None, multiple_of=None, min_items=None, max_items=None, │ │ │ │ min_length=None, max_length=None, pattern=None, lower_case=None, │ │ │ │ upper_case=None, format=None, enum=None, read_only=None, │ │ │ │ annotation=<_EmptyEnum.EMPTY: 0>, header=None, cookie=None, query='id', │ │ │ │ required=None)], data: evidently.collector.config.CollectorConfig, │ │ │ │ service: evidently.collector.config.CollectorServiceConfig, storage: │ │ │ │ evidently.collector.storage.CollectorStorage) -> │ │ │ │ evidently.collector.config.CollectorConfig> │ │ │ │ ) │ │ │ │ path_parameters = {'id'} │ │ │ │ signature_model = <class 'evidently.collector.app.create_collector_signature_model'> │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │ │ │ │ C:\Users\apach\anaconda3\envs\pythonProject3\Lib\site-packages\litestar_kwargs\kwargs_model.py: │ │ 466 in _validate_raw_kwargs │ │ │ │ 463 │ │ │ or dependency_keys.intersection(parameter_names) │ │ 464 │ │ ): │ │ 465 │ │ │ if intersection: │ │ ❱ 466 │ │ │ │ raise ImproperlyConfiguredException( │ │ 467 │ │ │ │ │ f"Kwarg resolution ambiguity detected for the following keys: {', '. │ │ 468 │ │ │ │ │ f"Make sure to use distinct keys for your dependencies, path paramet │ │ 469 │ │ │ │ ) │ │ │ │ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │ │ │ cls = <class 'litestar._kwargs.kwargs_model.KwargsModel'> │ │ │ │ dependencies = { │ │ │ │ │ 'security': <litestar.di.Provide object at 0x000002270E85A1F0>, │ │ │ │ │ 'service': <litestar.di.Provide object at 0x000002270E85A340>, │ │ │ │ │ 'storage': <litestar.di.Provide object at 0x000002270E85A2D0> │ │ │ │ } │ │ │ │ dependency_keys = {'security', 'storage', 'service'} │ │ │ │ field_definitions = { │ │ │ │ │ 'id': FieldDefinition( │ │ │ │ │ │ raw=typing.Annotated[str, ParameterKwarg(examples=None, │ │ │ │ external_docs=None, content_encoding=None, default=<_EmptyEnum.EMPTY: │ │ │ │ 0>, title=None, description='Collector ID', const=None, gt=None, │ │ │ │ ge=None, lt=None, le=None, multiple_of=None, min_items=None, │ │ │ │ max_items=None, min_length=None, max_length=None, pattern=None, │ │ │ │ lower_case=None, upper_case=None, format=None, enum=None, │ │ │ │ read_only=None, annotation=<_EmptyEnum.EMPTY: 0>, header=None, │ │ │ │ cookie=None, query='id', required=None)], │ │ │ │ │ │ annotation=<class 'str'>, │ │ │ │ │ │ type_wrappers={<class 'typing.Annotated'>}, │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=ParameterKwarg( │ │ │ │ │ │ │ examples=None, │ │ │ │ │ │ │ external_docs=None, │ │ │ │ │ │ │ content_encoding=None, │ │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ title=None, │ │ │ │ │ │ │ description='Collector ID', │ │ │ │ │ │ │ const=None, │ │ │ │ │ │ │ gt=None, │ │ │ │ │ │ │ ge=None, │ │ │ │ │ │ │ lt=None, │ │ │ │ │ │ │ le=None, │ │ │ │ │ │ │ multiple_of=None, │ │ │ │ │ │ │ min_items=None, │ │ │ │ │ │ │ max_items=None, │ │ │ │ │ │ │ min_length=None, │ │ │ │ │ │ │ max_length=None, │ │ │ │ │ │ │ pattern=None, │ │ │ │ │ │ │ lower_case=None, │ │ │ │ │ │ │ upper_case=None, │ │ │ │ │ │ │ format=None, │ │ │ │ │ │ │ enum=None, │ │ │ │ │ │ │ read_only=None, │ │ │ │ │ │ │ annotation=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ │ header=None, │ │ │ │ │ │ │ cookie=None, │ │ │ │ │ │ │ query='id', │ │ │ │ │ │ │ required=None │ │ │ │ │ │ ), │ │ │ │ │ │ name='id' │ │ │ │ │ ), │ │ │ │ │ 'data': FieldDefinition( │ │ │ │ │ │ raw=<class 'evidently.collector.config.CollectorConfig'>, │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.config.CollectorConfig'>, │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ name='data' │ │ │ │ │ ), │ │ │ │ │ 'service': FieldDefinition( │ │ │ │ │ │ raw=<class │ │ │ │ 'evidently.collector.config.CollectorServiceConfig'>, │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.config.CollectorServiceConfig'>, │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ name='service' │ │ │ │ │ ), │ │ │ │ │ 'storage': FieldDefinition( │ │ │ │ │ │ raw=<class 'evidently.collector.storage.CollectorStorage'>, │ │ │ │ │ │ annotation=<class │ │ │ │ 'evidently.collector.storage.CollectorStorage'>, │ │ │ │ │ │ type_wrappers=set(), │ │ │ │ │ │ origin=None, │ │ │ │ │ │ args=(), │ │ │ │ │ │ metadata=(), │ │ │ │ │ │ instantiable_origin=None, │ │ │ │ │ │ safe_generic_origin=None, │ │ │ │ │ │ inner_types=(), │ │ │ │ │ │ default=<_EmptyEnum.EMPTY: 0>, │ │ │ │ │ │ extra={}, │ │ │ │ │ │ kwarg_definition=None, │ │ │ │ │ │ name='storage' │ │ │ │ │ ) │ │ │ │ } │ │ │ │ intersection = 'id' │ │ │ │ layered_parameters = {} │ │ │ │ parameter_names = {'id'} │ │ │ │ path_parameters = {'id'} │ │ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ImproperlyConfiguredException: 500: Kwarg resolution ambiguity detected for the following keys: i, d. Make sure to use distinct keys for your dependencies, path parameters and aliased parameters.

c0t0ber commented 7 months ago

@Apachaika Fixes are implemented in the context of https://github.com/evidentlyai/evidently/issues/1012