CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-rodi

Implementation of dependency injection for Python 3

Overall
score

92%

Overview
Eval results
Files

Evaluation results

70%

-30%

User Service Manager

Service Provider - Build provider and resolve services

Criteria
Without context
With context

Container instantiation

100%

100%

Service registration

100%

100%

Provider building

100%

100%

Service resolution

100%

0%

Availability check

100%

0%

Dependency injection

100%

100%

100%

25%

Application Configuration Manager { .spec }

Service Registration - Singleton services

Criteria
Without context
With context

Container creation

100%

100%

add_instance() usage

0%

100%

Service class registration

100%

100%

Provider building

100%

100%

Service resolution

100%

100%

Dependency injection

100%

100%

Singleton verification

100%

100%

100%

Event Handler System

Function Execution with Dependency Injection - Execute functions with auto-injected parameters

Criteria
Without context
With context

Uses provider.exec()

100%

100%

Handles sync/async

100%

100%

Type hint resolution

100%

100%

Provider initialization

100%

100%

100%

Service Configuration with Factory Registration

Factory-Based Registration - Transient, scoped, and singleton factories

Criteria
Without context
With context

Container Creation

100%

100%

Singleton Factory Registration

100%

100%

Scoped Factory Registration

100%

100%

Transient Factory Registration

100%

100%

Factory Return Types

100%

100%

100%

1%

Plugin System with Interchangeable DI Containers

ContainerProtocol Interface - Generic DI container protocol for interoperability

Criteria
Without context
With context

Protocol Definition

100%

100%

Protocol Validation

100%

100%

Container Abstraction

100%

100%

rodi Integration

93%

100%

Alternative Implementation

100%

100%

Plugin Registration

100%

100%

45%

-5%

Service Dependency Configuration Validator

Service Provider - Check service availability

Criteria
Without context
With context

Container import

0%

0%

Container storage

100%

100%

Service availability check

50%

37%

Service class resolution

0%

0%

Multiple service checks

100%

100%

Accurate result reporting

100%

100%

100%

28%

User Profile Service

Dataclass Support - Seamless integration with @dataclass decorator

Criteria
Without context
With context

Import rodi Components

100%

100%

Use @inject() Decorator

0%

100%

Register Singleton Services

80%

100%

Register Dataclass Services

100%

100%

Build Provider

100%

100%

Resolve Services

100%

100%

Verify Dependency Injection

100%

100%

100%

User Profile Service

Type Resolution - By type hints (constructor parameters)

Criteria
Without context
With context

Container instantiation

100%

100%

Service registration

100%

100%

Type hints in constructors

100%

100%

Provider building

100%

100%

Service resolution

100%

100%

Dependency chain

100%

100%

100%

30%

Configuration Manager with Type-Safe Collections

Generic Type Support - List[T], Dict[K,V], Optional[T], custom generics

Criteria
Without context
With context

List[T] Factory Registration

100%

100%

Dict[K,V] Factory Registration

100%

100%

Optional[T] Factory Registration

0%

100%

Type-Annotated Constructor

100%

100%

Service Class Registration

100%

100%

Provider Build and Resolution

0%

100%

Correct Generic Types

50%

100%

100%

Configuration Management System

ClassVar and Initialized Attribute Filtering - Intelligent injection exclusion

Criteria
Without context
With context

Container Setup

100%

100%

ClassVar Usage

100%

100%

Initialized Attributes

100%

100%

Class Annotations

100%

100%

Service Resolution

100%

100%

Verification

100%

100%

Install with Tessl CLI

npx tessl i tessl/pypi-rodi
Evaluated
Agent
Codex

Table of Contents