Skip to main content

Dependency injection library

Project description

FunDI logo

# FunDI

Solution for problem no one had before

Fun stays for function(or for fun if you wish) and DI for Dependency Injection

This library provides fast(to write!) and convenient(to use!) Dependency Injection for functional programming on python.

Why?

This library was inspired by FastAPI's dependency injection. The reasons for its existence are simple:

  • A standalone dependency injection library. DI shouldn't be tied to a specific framework.
  • It simplifies code writing. Dependency injection reduces boilerplate and improves maintainability.
  • Lack of DI libraries for functional programming in Python. Or maybe I just didn't want to find one :3

No more words, let's try!

from fundi import scan, from_, inject


def require_user():
    return "Alice"


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


inject({}, scan(greet))

See the documentation to get more examples: https://fundi.readthedocs.io/en/latest/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fundi-1.3.7.tar.gz (36.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fundi-1.3.7-py3-none-any.whl (41.0 kB view details)

Uploaded Python 3

File details

Details for the file fundi-1.3.7.tar.gz.

File metadata

  • Download URL: fundi-1.3.7.tar.gz
  • Upload date:
  • Size: 36.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.1

File hashes

Hashes for fundi-1.3.7.tar.gz
Algorithm Hash digest
SHA256 8fabb006e801da8be20fe5420263494b914ed5116b86fee36588eb352d7d18ef
MD5 f8efb413116bfddcfb82823a690d3c74
BLAKE2b-256 9edac39d38de011c72d895fb7c8bbfe1f2a11a1234cfdf414c4feadbe384e1c5

See more details on using hashes here.

File details

Details for the file fundi-1.3.7-py3-none-any.whl.

File metadata

  • Download URL: fundi-1.3.7-py3-none-any.whl
  • Upload date:
  • Size: 41.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.1

File hashes

Hashes for fundi-1.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 0b43fec54c9c7810e40924ac39da85a70ddc18f4485dc025389cfa9ae281362d
MD5 3f76d2ae6c6c4e018d3c34f754aee1b9
BLAKE2b-256 6e0774a2e0443d901ad178395282d9adc71d0da34edad24c0f8da51a15545936

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page