FunDI

FunDI — Lightweight dependency injection library for functional programming. It helps inject dependencies in simple and declarative way.


🔥 Features

  • Simple syntax — define dependency with from_()

  • Flexible dependency resolving algorithm

  • Dependency overriding support

  • Inspired by FastAPI dependency injection

  • Built-in dependency mocking

🚀 Quick Start

from fundi import scan, from_, inject, Scope


def require_user():
    return "Alice"


def greet(user: str = from_(require_user)):
    print(f"Hello, {user}!")


inject(Scope(), scan(greet))

📚 Contents