summaryrefslogtreecommitdiff
path: root/python-injectable.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-injectable.spec')
-rw-r--r--python-injectable.spec174
1 files changed, 174 insertions, 0 deletions
diff --git a/python-injectable.spec b/python-injectable.spec
new file mode 100644
index 0000000..ce4ae5e
--- /dev/null
+++ b/python-injectable.spec
@@ -0,0 +1,174 @@
+%global _empty_manifest_terminate_build 0
+Name: python-injectable
+Version: 3.4.7
+Release: 1
+Summary: Dependency Injection for Humansβ„’
+License: MIT
+URL: https://github.com/allrod5/injectable
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/d0/b9/b065c53f3c2b1faa4634c49888440aedc1db29f82d83d70901fde918c135/injectable-3.4.7.tar.gz
+BuildArch: noarch
+
+Requires: python3-lazy-object-proxy
+Requires: python3-pycollect
+Requires: python3-parameters-validation
+Requires: python3-cached-property
+Requires: python3-typing-inspect
+Requires: python3-dataclasses
+
+%description
+`Usage Examples 🚩 <https://injectable.readthedocs.io/en/latest/usage/index.html>`_ | `Developer Reference πŸ‘©β€πŸ’» <https://injectable.readthedocs.io/en/latest/reference/index.html>`_ | `Authors πŸ‘« <https://injectable.readthedocs.io/en/latest/authors.html>`_
+**Injectable** is an elegant and simple Dependency Injection framework built with Heart
+and designed for Humans.
+ * - .. code:: python
+ from injectable import Autowired, autowired
+ from typing import List
+ from models import Database
+ from messaging import Broker
+ class Service:
+ @autowired
+ def __init__(
+ self,
+ database: Autowired(Database),
+ message_brokers: Autowired(List[Broker]),
+ ):
+ pending = database.get_pending_messages()
+ for broker in message_brokers:
+ broker.send_pending(pending)
+ from abc import ABC
+ class Broker(ABC):
+ def send_pending(messages):
+ - .. code:: python
+ from injectable import injectable
+ @injectable
+ class Database:
+ from messaging import Broker
+ from injectable import injectable
+ @injectable
+ class KafkaProducer(Broker):
+ from messaging import Broker
+ from injectable import injectable
+ @injectable
+ class SQSProducer(Broker):
+
+%package -n python3-injectable
+Summary: Dependency Injection for Humansβ„’
+Provides: python-injectable
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-injectable
+`Usage Examples 🚩 <https://injectable.readthedocs.io/en/latest/usage/index.html>`_ | `Developer Reference πŸ‘©β€πŸ’» <https://injectable.readthedocs.io/en/latest/reference/index.html>`_ | `Authors πŸ‘« <https://injectable.readthedocs.io/en/latest/authors.html>`_
+**Injectable** is an elegant and simple Dependency Injection framework built with Heart
+and designed for Humans.
+ * - .. code:: python
+ from injectable import Autowired, autowired
+ from typing import List
+ from models import Database
+ from messaging import Broker
+ class Service:
+ @autowired
+ def __init__(
+ self,
+ database: Autowired(Database),
+ message_brokers: Autowired(List[Broker]),
+ ):
+ pending = database.get_pending_messages()
+ for broker in message_brokers:
+ broker.send_pending(pending)
+ from abc import ABC
+ class Broker(ABC):
+ def send_pending(messages):
+ - .. code:: python
+ from injectable import injectable
+ @injectable
+ class Database:
+ from messaging import Broker
+ from injectable import injectable
+ @injectable
+ class KafkaProducer(Broker):
+ from messaging import Broker
+ from injectable import injectable
+ @injectable
+ class SQSProducer(Broker):
+
+%package help
+Summary: Development documents and examples for injectable
+Provides: python3-injectable-doc
+%description help
+`Usage Examples 🚩 <https://injectable.readthedocs.io/en/latest/usage/index.html>`_ | `Developer Reference πŸ‘©β€πŸ’» <https://injectable.readthedocs.io/en/latest/reference/index.html>`_ | `Authors πŸ‘« <https://injectable.readthedocs.io/en/latest/authors.html>`_
+**Injectable** is an elegant and simple Dependency Injection framework built with Heart
+and designed for Humans.
+ * - .. code:: python
+ from injectable import Autowired, autowired
+ from typing import List
+ from models import Database
+ from messaging import Broker
+ class Service:
+ @autowired
+ def __init__(
+ self,
+ database: Autowired(Database),
+ message_brokers: Autowired(List[Broker]),
+ ):
+ pending = database.get_pending_messages()
+ for broker in message_brokers:
+ broker.send_pending(pending)
+ from abc import ABC
+ class Broker(ABC):
+ def send_pending(messages):
+ - .. code:: python
+ from injectable import injectable
+ @injectable
+ class Database:
+ from messaging import Broker
+ from injectable import injectable
+ @injectable
+ class KafkaProducer(Broker):
+ from messaging import Broker
+ from injectable import injectable
+ @injectable
+ class SQSProducer(Broker):
+
+%prep
+%autosetup -n injectable-3.4.7
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-injectable -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 3.4.7-1
+- Package Spec generated