gnu: Add python-rodi.

* gnu/packages/python-xyz.scm (python-rodi): New variable.

Change-Id: I72d04e61b7286047906d303af03e91696d6a66c0
Modified-by: Sharlatan Hellseher <sharlatanus@gmail.com>
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
wrobell 2025-06-18 19:55:20 +01:00 committed by Sharlatan Hellseher
parent e619542671
commit bdde705c8c
No known key found for this signature in database
GPG key ID: 76D727BFF62CD2B5

View file

@ -25318,6 +25318,41 @@ GraphQL schema describes your data model, and provides a GraphQL server with
an associated set of resolve methods that know how to fetch data.")
(license license:expat)))
(define-public python-rodi
(package
(name "python-rodi")
(version "2.0.8")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Neoteroi/rodi")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kf98yjllrq7vqcp07r2gmkqcviqglsnai3sdigdsrwrfc0b44yp"))))
(build-system pyproject-build-system)
(native-inputs
(list python-hatchling
python-pytest
python-pytest-asyncio))
(home-page "https://github.com/Neoteroi/rodi")
(synopsis "Dependency injection framework for Python")
(description
"Rodi is a dependency injection framework for Python applications.
Its features include
@itemize
@item Type resolution by signature types annotations.
@item Type resolution by class annotations.
@item Type resolution by names and aliases.
@item Build graph of objects without the need for source code changes.
@item Minimum overhead to obtain services, once the objects graph is built.
@item Support for singleton, transient, and scoped services.
@end itemize")
(license license:expat)))
;; XXX: The last time updated in 2015, consider to remove it when nothing is
;; depend on it.
(define-public python-snowballstemmer