Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Oct 2025 08:29:42 GMT
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: e906db806b9d - main - devel/py-rodi: New port: Implementation of dependency injection for Python 3
Message-ID:  <202510060829.5968TguX042728@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e906db806b9dec09119a35dc91f3992d93367a0a

commit e906db806b9dec09119a35dc91f3992d93367a0a
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-10-06 07:44:13 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-10-06 08:25:51 +0000

    devel/py-rodi: New port: Implementation of dependency injection for Python 3
---
 devel/Makefile          |  1 +
 devel/py-rodi/Makefile  | 28 ++++++++++++++++++++++++++++
 devel/py-rodi/distinfo  |  3 +++
 devel/py-rodi/pkg-descr | 15 +++++++++++++++
 4 files changed, 47 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index da7719f27c21..593087000117 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5911,6 +5911,7 @@
     SUBDIR += py-robotframework-seleniumlibrary
     SUBDIR += py-robotframework-stacktrace
     SUBDIR += py-robotremoteserver
+    SUBDIR += py-rodi
     SUBDIR += py-rope
     SUBDIR += py-rose
     SUBDIR += py-rpcq
diff --git a/devel/py-rodi/Makefile b/devel/py-rodi/Makefile
new file mode 100644
index 000000000000..411ae96a4ff7
--- /dev/null
+++ b/devel/py-rodi/Makefile
@@ -0,0 +1,28 @@
+PORTNAME=	rodi
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.0.8
+CATEGORIES=	devel python
+#MASTER_SITES=	PYPI # no tests
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Implementation of dependency injection for Python 3
+WWW=		https://github.com/Neoteroi/rodi
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	${PYTHON_PKGNAMEPREFIX}hatchling>0:devel/py-hatchling@${PY_FLAVOR}
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR}
+
+USES=		python
+USE_PYTHON=	pep517 autoplist pytest
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	Neoteroi
+
+TEST_ENV=	${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
+
+# tests as of 2.0.8: 177 passed in 2.73s
+
+.include <bsd.port.mk>
diff --git a/devel/py-rodi/distinfo b/devel/py-rodi/distinfo
new file mode 100644
index 000000000000..46aaac66fb94
--- /dev/null
+++ b/devel/py-rodi/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1759700640
+SHA256 (Neoteroi-rodi-v2.0.8_GH0.tar.gz) = 19fb03d6992b70c19b84e596fe39db9168e5101db27fe647bbdb73383f2dd551
+SIZE (Neoteroi-rodi-v2.0.8_GH0.tar.gz) = 26780
diff --git a/devel/py-rodi/pkg-descr b/devel/py-rodi/pkg-descr
new file mode 100644
index 000000000000..84d3ace3916b
--- /dev/null
+++ b/devel/py-rodi/pkg-descr
@@ -0,0 +1,15 @@
+RODI is a dependency injection library for Python 3, providing a lightweight
+and fast implementation of the dependency injection pattern. It supports
+both synchronous and asynchronous dependency resolution.
+
+Key features:
+* Fast dependency injection container
+* Support for singleton and transient lifetimes
+* Automatic dependency resolution
+* Support for factory functions
+* Decorator-based service registration
+* Type hints support for automatic registration
+* Compatible with async/await patterns
+
+RODI is designed to be simple, fast, and easy to integrate into existing
+Python applications, particularly web frameworks and applications.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202510060829.5968TguX042728>