Dependency Injector
===================
.. image:: https://img.shields.io/appveyor/ci/zozzz/yapic-di/release.svg?label=windows&style=flat-square
:alt: AppVeyor
:target: https://ci.appveyor.com/project/zozzz/yapic-di
.. image:: https://img.shields.io/circleci/project/github/zozzz/yapic.di/release.svg?label=linux&style=flat-square
:alt: CircleCI
:target: https://circleci.com/gh/zozzz/yapic.di
.. image:: https://img.shields.io/travis/com/zozzz/yapic.di/release.svg?label=sdist&style=flat-square
:alt: Travis
:target: https://travis-ci.com/zozzz/yapic.di
.. image:: https://img.shields.io/pypi/dm/yapic.di.svg?style=flat-square
:alt: PyPI - Downloads
:target: https://pypi.org/project/yapic.di/
Very fast `Dependency Injection <https://en.wikipedia.org/wiki/Dependency_injection>`_
for Python, which is highly uses typing features. Sometimes faster
then similar call in Python.
Requirements
------------
- Only works with Python 3.7 or greater
- c++ 11 comaptible compiler. *(only if u want to build from source)*
Wheels provided for windows x86/x64 and linux x86/x64
Usage
~~~~~
.. code-block:: python
from typing import Generic, TypeVar
from yapic.di import *
T = TypeVar("T")
class Car(Generic[T]):
engine: T
def __init__(self, engine: T):
self.engine = engine
# simplified Car class
class Car(Generic[T]):
engine: Inject[T]
class Gasoline:
pass
class Diesel:
pass
class Electronic:
pass
class DieselCar(Car[Diesel]):
pass
ELECTRONIC_CAR = Token("ELECTRONIC_CAR")
injector = Injector()
injector.provide(Gasoline)
injector.provide(Diesel)
injector.provide(Electronic)
injector.provide(DieselCar)
injector.provide(ELECTRONIC_CAR, Car[Electronic])
diesel = injector[DieselCar]
assert isinstance(diesel, DieselCar)
assert isinstance(diesel.engine, Diesel)
electronic = injector[ELECTRONIC_CAR]
assert isinstance(electronic, Car)
assert isinstance(electronic.engine, Electronic)
def drive_diesel(car: DieselCar):
assert isinstance(car, DieselCar)
assert isinstance(car.engine, Diesel)
injector.exec(drive_diesel)
# you can set constant values, like a dict
MEANING_OF_LIFE = Token("MEANING_OF_LIFE")
injector[MEANING_OF_LIFE] = 42
assert injector[MEANING_OF_LIFE] == 42
def question(q: MEANING_OF_LIFE):
assert q == 42
injector.exec(question)
# cached injectable
life_q = Injectable(question)
# this is same as with injector.exec(question), but injectable is precached
life_q(injector)
Keyword Only Arguments
----------------------
.. code-block:: python
class Config(dict):
def __init__(self):
super().__init__(some_key=42)
def get_kwarg(config: Config, *, name, type):
if name == "some_key":
return config[name]
else:
raise NoKwOnly()
def fn(*, some_key: str):
assert some_key == 42
injector = Injector()
injector.provide(Config)
injector.provide(fn, provide=[KwOnly(get_kwarg)])
For more info see `Python Stub file <https://github.com/zozzz/yapic.di/blob/master/src/_di.pyi>`_ or `test files <https://github.com/zozzz/yapic.di/tree/master/tests>`_
Release Process
~~~~~~~~~~~~~~~
- change ``VERSION`` in ``setup.py``
- ``git add setup.py``
- ``git commit -m "chore(bump): VERSION"``
- ``git checkout release``
- ``git merge master``
- ``git tag -a VERSION -m "chore(bump): VERSION"``
- ``git push && git push --tags``
- ``git checkout master``
- ``git merge release``
Raw data
{
"_id": null,
"home_page": "https://github.com/zozzz/yapic.di",
"name": "yapic.di",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "",
"author": "Zolt\u00e1n Vet\u00e9si",
"author_email": "vetesi.zoltan@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/4e/1f/2e3199ed44536e82af0ad95171170fc01c0b9459f68021f2698732b78815/yapic.di-2.0.12.tar.gz",
"platform": null,
"description": "Dependency Injector\r\n===================\r\n\r\n.. image:: https://img.shields.io/appveyor/ci/zozzz/yapic-di/release.svg?label=windows&style=flat-square\r\n :alt: AppVeyor\r\n :target: https://ci.appveyor.com/project/zozzz/yapic-di\r\n\r\n.. image:: https://img.shields.io/circleci/project/github/zozzz/yapic.di/release.svg?label=linux&style=flat-square\r\n :alt: CircleCI\r\n :target: https://circleci.com/gh/zozzz/yapic.di\r\n\r\n.. image:: https://img.shields.io/travis/com/zozzz/yapic.di/release.svg?label=sdist&style=flat-square\r\n :alt: Travis\r\n :target: https://travis-ci.com/zozzz/yapic.di\r\n\r\n.. image:: https://img.shields.io/pypi/dm/yapic.di.svg?style=flat-square\r\n :alt: PyPI - Downloads\r\n :target: https://pypi.org/project/yapic.di/\r\n\r\n\r\nVery fast `Dependency Injection <https://en.wikipedia.org/wiki/Dependency_injection>`_\r\nfor Python, which is highly uses typing features. Sometimes faster\r\nthen similar call in Python.\r\n\r\nRequirements\r\n------------\r\n\r\n- Only works with Python 3.7 or greater\r\n- c++ 11 comaptible compiler. *(only if u want to build from source)*\r\n\r\n Wheels provided for windows x86/x64 and linux x86/x64\r\n\r\nUsage\r\n~~~~~\r\n\r\n.. code-block:: python\r\n\r\n from typing import Generic, TypeVar\r\n from yapic.di import *\r\n\r\n\r\n T = TypeVar(\"T\")\r\n\r\n class Car(Generic[T]):\r\n engine: T\r\n\r\n def __init__(self, engine: T):\r\n self.engine = engine\r\n\r\n # simplified Car class\r\n class Car(Generic[T]):\r\n engine: Inject[T]\r\n\r\n class Gasoline:\r\n pass\r\n\r\n class Diesel:\r\n pass\r\n\r\n class Electronic:\r\n pass\r\n\r\n class DieselCar(Car[Diesel]):\r\n pass\r\n\r\n ELECTRONIC_CAR = Token(\"ELECTRONIC_CAR\")\r\n\r\n injector = Injector()\r\n injector.provide(Gasoline)\r\n injector.provide(Diesel)\r\n injector.provide(Electronic)\r\n injector.provide(DieselCar)\r\n injector.provide(ELECTRONIC_CAR, Car[Electronic])\r\n\r\n diesel = injector[DieselCar]\r\n assert isinstance(diesel, DieselCar)\r\n assert isinstance(diesel.engine, Diesel)\r\n\r\n electronic = injector[ELECTRONIC_CAR]\r\n assert isinstance(electronic, Car)\r\n assert isinstance(electronic.engine, Electronic)\r\n\r\n def drive_diesel(car: DieselCar):\r\n assert isinstance(car, DieselCar)\r\n assert isinstance(car.engine, Diesel)\r\n\r\n injector.exec(drive_diesel)\r\n\r\n # you can set constant values, like a dict\r\n MEANING_OF_LIFE = Token(\"MEANING_OF_LIFE\")\r\n injector[MEANING_OF_LIFE] = 42\r\n assert injector[MEANING_OF_LIFE] == 42\r\n\r\n def question(q: MEANING_OF_LIFE):\r\n assert q == 42\r\n\r\n injector.exec(question)\r\n\r\n # cached injectable\r\n life_q = Injectable(question)\r\n\r\n # this is same as with injector.exec(question), but injectable is precached\r\n life_q(injector)\r\n\r\n\r\nKeyword Only Arguments\r\n----------------------\r\n\r\n.. code-block:: python\r\n\r\n class Config(dict):\r\n def __init__(self):\r\n super().__init__(some_key=42)\r\n\r\n def get_kwarg(config: Config, *, name, type):\r\n if name == \"some_key\":\r\n return config[name]\r\n else:\r\n raise NoKwOnly()\r\n\r\n def fn(*, some_key: str):\r\n assert some_key == 42\r\n\r\n injector = Injector()\r\n injector.provide(Config)\r\n injector.provide(fn, provide=[KwOnly(get_kwarg)])\r\n\r\n\r\nFor more info see `Python Stub file <https://github.com/zozzz/yapic.di/blob/master/src/_di.pyi>`_ or `test files <https://github.com/zozzz/yapic.di/tree/master/tests>`_\r\n\r\n\r\nRelease Process\r\n~~~~~~~~~~~~~~~\r\n\r\n- change ``VERSION`` in ``setup.py``\r\n- ``git add setup.py``\r\n- ``git commit -m \"chore(bump): VERSION\"``\r\n- ``git checkout release``\r\n- ``git merge master``\r\n- ``git tag -a VERSION -m \"chore(bump): VERSION\"``\r\n- ``git push && git push --tags``\r\n- ``git checkout master``\r\n- ``git merge release``\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "BSD",
"summary": "Very fast Dependency Injection library",
"version": "2.0.12",
"project_urls": {
"Homepage": "https://github.com/zozzz/yapic.di"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f30e9faf5a017d462e0435da1cedb9db321faacd22949d781a48e5f432729e94",
"md5": "ea8fcca9471ec139ec4a4ea885b1fb01",
"sha256": "eb871f0744c29a45e913327f69eb77855c32ba5a94f00a7f0bb5ec941cb441d3"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "ea8fcca9471ec139ec4a4ea885b1fb01",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 343697,
"upload_time": "2023-06-07T11:49:28",
"upload_time_iso_8601": "2023-06-07T11:49:28.709567Z",
"url": "https://files.pythonhosted.org/packages/f3/0e/9faf5a017d462e0435da1cedb9db321faacd22949d781a48e5f432729e94/yapic.di-2.0.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a143688909839605c9115f514ac355ca0eda816a4e60b243e6e42ce3bd6c4b1e",
"md5": "1a7b88e725d3faef7696af8fa8a16a96",
"sha256": "a9206685af7f222a35c391bf046117d428d2d74cb7f0ffd4658fbef96490303f"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp310-cp310-win32.whl",
"has_sig": false,
"md5_digest": "1a7b88e725d3faef7696af8fa8a16a96",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 37317,
"upload_time": "2023-06-07T11:51:36",
"upload_time_iso_8601": "2023-06-07T11:51:36.721119Z",
"url": "https://files.pythonhosted.org/packages/a1/43/688909839605c9115f514ac355ca0eda816a4e60b243e6e42ce3bd6c4b1e/yapic.di-2.0.12-cp310-cp310-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "60545a7ee08b42bfc530a840575322981944266f774050c432913b6798cd5d15",
"md5": "ded2ee5617edcbbc8de5220db239b5e0",
"sha256": "a9bbc034ad350452e9076900638077acd6923d0521e1846d817561a8d919f247"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "ded2ee5617edcbbc8de5220db239b5e0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 41028,
"upload_time": "2023-06-07T11:50:47",
"upload_time_iso_8601": "2023-06-07T11:50:47.654488Z",
"url": "https://files.pythonhosted.org/packages/60/54/5a7ee08b42bfc530a840575322981944266f774050c432913b6798cd5d15/yapic.di-2.0.12-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "eb225fec400b64fc1e8dcf1514a5f6666d5cfbaacb589effd54c937ed2781093",
"md5": "3d206d1b7002401cfff84e0deef576e2",
"sha256": "b316d5e3f2bc663db3d7888af55a4aca3f15dcd3ca889ae03ae5744af34518e2"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "3d206d1b7002401cfff84e0deef576e2",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 362921,
"upload_time": "2023-06-07T11:49:30",
"upload_time_iso_8601": "2023-06-07T11:49:30.594522Z",
"url": "https://files.pythonhosted.org/packages/eb/22/5fec400b64fc1e8dcf1514a5f6666d5cfbaacb589effd54c937ed2781093/yapic.di-2.0.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ce0e35b7ecccd45d765709475b65448fbc9667eb48f7916656c7fd73ad5a01ed",
"md5": "e37d0d25f07ccad309041ac23fa0e63c",
"sha256": "b0eb462eef2bf721ca3ab0684a18be30af02a0a96f33497520608664f2327f2e"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp311-cp311-win32.whl",
"has_sig": false,
"md5_digest": "e37d0d25f07ccad309041ac23fa0e63c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 37348,
"upload_time": "2023-06-07T11:55:06",
"upload_time_iso_8601": "2023-06-07T11:55:06.646358Z",
"url": "https://files.pythonhosted.org/packages/ce/0e/35b7ecccd45d765709475b65448fbc9667eb48f7916656c7fd73ad5a01ed/yapic.di-2.0.12-cp311-cp311-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f2d8009d7bfa7b48d3edb7943865e0e35f678da6ed23ad74dff3c65046655e01",
"md5": "3c5dde834bba64de4068de0386418c6f",
"sha256": "39265574e1a92e9fa03781411310da01bed663ae441e55ea0725a67d443aec1f"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "3c5dde834bba64de4068de0386418c6f",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 41098,
"upload_time": "2023-06-07T11:52:19",
"upload_time_iso_8601": "2023-06-07T11:52:19.967736Z",
"url": "https://files.pythonhosted.org/packages/f2/d8/009d7bfa7b48d3edb7943865e0e35f678da6ed23ad74dff3c65046655e01/yapic.di-2.0.12-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2b29384e8974cd011472ca50ab7c0e459c67b063039fa173c85797341943d1f7",
"md5": "a5feddbdfcca2ee94714ad6843b30e53",
"sha256": "f74b8ee8c182775b4f69528e51fc9af6f962cf8b2cbd41d65ede687f249551d7"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp37-cp37m-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "a5feddbdfcca2ee94714ad6843b30e53",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 52277,
"upload_time": "2023-06-07T11:53:54",
"upload_time_iso_8601": "2023-06-07T11:53:54.433453Z",
"url": "https://files.pythonhosted.org/packages/2b/29/384e8974cd011472ca50ab7c0e459c67b063039fa173c85797341943d1f7/yapic.di-2.0.12-cp37-cp37m-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "96cd715aa5c9028475994ba4bacc01982608e5f2739cd394c92809684b102dbd",
"md5": "43dc6f348cee986681a7ba390d4c5364",
"sha256": "b7495d03ce66d143c872d9057cd7b0c17653f1ccbc336d896b93b98ea76607ef"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "43dc6f348cee986681a7ba390d4c5364",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 346020,
"upload_time": "2023-06-07T11:49:32",
"upload_time_iso_8601": "2023-06-07T11:49:32.586399Z",
"url": "https://files.pythonhosted.org/packages/96/cd/715aa5c9028475994ba4bacc01982608e5f2739cd394c92809684b102dbd/yapic.di-2.0.12-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b3adaa1adc39b67f6aec285fba5de26a855d79a508fed85927ddfab4d95911d1",
"md5": "c2d97ce83be1464894f2662e4460e1e6",
"sha256": "52325d7c6b09b8ea1b5ac04a764a28e4f4c215c1cadb94d96d9646d327430a0a"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp37-cp37m-win32.whl",
"has_sig": false,
"md5_digest": "c2d97ce83be1464894f2662e4460e1e6",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 40683,
"upload_time": "2023-06-07T11:48:59",
"upload_time_iso_8601": "2023-06-07T11:48:59.856055Z",
"url": "https://files.pythonhosted.org/packages/b3/ad/aa1adc39b67f6aec285fba5de26a855d79a508fed85927ddfab4d95911d1/yapic.di-2.0.12-cp37-cp37m-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6b71d3245423747c90467249671aee502036b18c3780a81a210b045e13282cdd",
"md5": "9110fe26d6790e3d57f208f7d31afe8c",
"sha256": "f89fb7360bf77489300454f57b26de38473c4da323afa2b30fe7c707cf0cb164"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "9110fe26d6790e3d57f208f7d31afe8c",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 44106,
"upload_time": "2023-06-07T11:48:29",
"upload_time_iso_8601": "2023-06-07T11:48:29.029390Z",
"url": "https://files.pythonhosted.org/packages/6b/71/d3245423747c90467249671aee502036b18c3780a81a210b045e13282cdd/yapic.di-2.0.12-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6dd544df9da9a9aec93f425afb9ccc760fe6d694db1f92612b0663fe9dd6394b",
"md5": "326855b9d34e354a4e7fd7d05fe00415",
"sha256": "c4f8101f6a561b703afabeca12d7b16c1663146aa1585299387db7fe16ef6414"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp38-cp38-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "326855b9d34e354a4e7fd7d05fe00415",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 53522,
"upload_time": "2023-06-07T11:53:56",
"upload_time_iso_8601": "2023-06-07T11:53:56.242177Z",
"url": "https://files.pythonhosted.org/packages/6d/d5/44df9da9a9aec93f425afb9ccc760fe6d694db1f92612b0663fe9dd6394b/yapic.di-2.0.12-cp38-cp38-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fb8759d2570cba927ef7428e1c1ed8f88f80d4d586048c4e14d466c8032c5812",
"md5": "86e2971cac1212759370d9d5ad228ccf",
"sha256": "236e471a2289f8605985923284b4edcbb1ea7ca1161ff2401b2e5f904bd643f1"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "86e2971cac1212759370d9d5ad228ccf",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 350701,
"upload_time": "2023-06-07T11:49:34",
"upload_time_iso_8601": "2023-06-07T11:49:34.623817Z",
"url": "https://files.pythonhosted.org/packages/fb/87/59d2570cba927ef7428e1c1ed8f88f80d4d586048c4e14d466c8032c5812/yapic.di-2.0.12-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "17a37ee78b226cb363120b214e86f73b9ffe3518b888284a9695c771bf862806",
"md5": "638f2c8461fbf1b8b47dd01e75ab8298",
"sha256": "2d37377ebaa871a65edd35941c02dfaa2a150ad5df1e61a582bb63ade0df4655"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp38-cp38-win32.whl",
"has_sig": false,
"md5_digest": "638f2c8461fbf1b8b47dd01e75ab8298",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 39839,
"upload_time": "2023-06-07T11:49:19",
"upload_time_iso_8601": "2023-06-07T11:49:19.410330Z",
"url": "https://files.pythonhosted.org/packages/17/a3/7ee78b226cb363120b214e86f73b9ffe3518b888284a9695c771bf862806/yapic.di-2.0.12-cp38-cp38-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "60c3614e288489c2267daf5a5e3692276f1587a0f3f63807f1da3c1f61c970fe",
"md5": "b09bd725c7ffd9fce3839feda371850d",
"sha256": "7131c8e5144215a2e1b7cf5eaa81b07143195a6d23224c78fb455bc65ab81c97"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "b09bd725c7ffd9fce3839feda371850d",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 44080,
"upload_time": "2023-06-07T11:49:05",
"upload_time_iso_8601": "2023-06-07T11:49:05.418456Z",
"url": "https://files.pythonhosted.org/packages/60/c3/614e288489c2267daf5a5e3692276f1587a0f3f63807f1da3c1f61c970fe/yapic.di-2.0.12-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2be5634dddc73daceb126450485b66106fc3c1ecce1f4f93abf5711af698f6b9",
"md5": "5ad5df2a0ddb5fc5c0707ee01495ef06",
"sha256": "af212d8870478272aced5b605fd7bc4d1f055447975d0731d532417734037264"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp39-cp39-macosx_10_9_x86_64.whl",
"has_sig": false,
"md5_digest": "5ad5df2a0ddb5fc5c0707ee01495ef06",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 53451,
"upload_time": "2023-06-07T11:53:58",
"upload_time_iso_8601": "2023-06-07T11:53:58.209469Z",
"url": "https://files.pythonhosted.org/packages/2b/e5/634dddc73daceb126450485b66106fc3c1ecce1f4f93abf5711af698f6b9/yapic.di-2.0.12-cp39-cp39-macosx_10_9_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "714ddfae472eb1be05d062b8c7af443fb3842a4bb5109cbef882109c1e25071e",
"md5": "5149c5e7511ff0044e0b6838c656be28",
"sha256": "40066404dfdb5002f61cd52e78acbb26902b0a9e1385e21ee9d694cd5a1aafe0"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "5149c5e7511ff0044e0b6838c656be28",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 341590,
"upload_time": "2023-06-07T11:49:36",
"upload_time_iso_8601": "2023-06-07T11:49:36.134501Z",
"url": "https://files.pythonhosted.org/packages/71/4d/dfae472eb1be05d062b8c7af443fb3842a4bb5109cbef882109c1e25071e/yapic.di-2.0.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9edeca25a49914c6566de70243d2cf6d621bd2b5b145a4dc42141db565309ed8",
"md5": "7bf3f83e2f59c343af45b402588b69e3",
"sha256": "1200b795f7267cc9ada870f24573ecb9d7379bf0f6b20f89ffcd0fe8754076ff"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp39-cp39-win32.whl",
"has_sig": false,
"md5_digest": "7bf3f83e2f59c343af45b402588b69e3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 39734,
"upload_time": "2023-06-07T11:52:37",
"upload_time_iso_8601": "2023-06-07T11:52:37.196251Z",
"url": "https://files.pythonhosted.org/packages/9e/de/ca25a49914c6566de70243d2cf6d621bd2b5b145a4dc42141db565309ed8/yapic.di-2.0.12-cp39-cp39-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e262b405e6befc0d45ae513f9aa6d9b5bee897d67b1da580be7e7a494d21c306",
"md5": "19d29737172c04485d032503e80608eb",
"sha256": "629163bb0fce6c1fe8de3fce995054e65f6ff2a71a70bf00b5c028f209ab423f"
},
"downloads": -1,
"filename": "yapic.di-2.0.12-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "19d29737172c04485d032503e80608eb",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 43945,
"upload_time": "2023-06-07T11:50:22",
"upload_time_iso_8601": "2023-06-07T11:50:22.548054Z",
"url": "https://files.pythonhosted.org/packages/e2/62/b405e6befc0d45ae513f9aa6d9b5bee897d67b1da580be7e7a494d21c306/yapic.di-2.0.12-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4e1f2e3199ed44536e82af0ad95171170fc01c0b9459f68021f2698732b78815",
"md5": "2981ad8708c4873dc052e415a179c9b2",
"sha256": "43dd741f73a03baa2524478ef651dcdba40140615dc71df2d20a9e1852719c0e"
},
"downloads": -1,
"filename": "yapic.di-2.0.12.tar.gz",
"has_sig": false,
"md5_digest": "2981ad8708c4873dc052e415a179c9b2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 40342,
"upload_time": "2023-06-07T11:49:38",
"upload_time_iso_8601": "2023-06-07T11:49:38.491460Z",
"url": "https://files.pythonhosted.org/packages/4e/1f/2e3199ed44536e82af0ad95171170fc01c0b9459f68021f2698732b78815/yapic.di-2.0.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-07 11:49:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zozzz",
"github_project": "yapic.di",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "yapic.di"
}