Commit Graph

266 Commits

Author SHA1 Message Date
Roman Mogylatov
6e53a7c0c6 Remove unused import 2020-09-29 23:49:52 -04:00
Roman Mogylatov
949a91b657 Add wiring of class methods 2020-09-29 23:40:13 -04:00
Roman Mogylatov
b4890dcf80 Bump version to 4.0.0a2 2020-09-28 16:33:39 -04:00
Roman Mogylatov
d9334ef1fe Add protection for wiring only declarative container instances 2020-09-28 15:52:21 -04:00
Roman Mogylatov
cc1b6ba3e6 Add __all__ for wiring module 2020-09-28 15:39:41 -04:00
Roman Mogylatov
42b0bde8d2 Deprecate provider.delegate() method 2020-09-28 15:38:34 -04:00
Roman Mogylatov
5d4eeb648a Deprecate ext package modules and remove types module 2020-09-28 14:16:05 -04:00
Roman Mogylatov
26e490bf0a Add container.unwire() typing stub 2020-09-28 13:41:54 -04:00
Roman Mogylatov
6182b8448a
Wiring refactoring (#296)
* Refactor wiring

* Add todos to wiring

* Implement wiring of config invariant

* Implement sub containers wiring + add tests

* Add test for wiring config invariant
2020-09-27 23:10:11 -04:00
Roman Mogylatov
7f854548d6 Make flake8 happy 2020-09-26 01:17:42 -04:00
Roman Mogylatov
95db0eddc9 Implement Provide[foo.provided.bar.baz.call()] 2020-09-26 01:07:32 -04:00
Roman Mogylatov
6d92df32aa Implement wiring for Provide[foo.provider] 2020-09-26 00:31:29 -04:00
Roman Mogylatov
edd8979bf6 Bump version to 4.0 2020-09-20 21:51:48 -04:00
Roman Mogylatov
af7364e062
Add wiring (#294)
* Add wiring module

* Fix code style

* Fix package test

* Add version fix

* Try spike for 3.6

* Try another fix with metaclass

* Downsample required version to 3.6

* Introduce concept with annotations

* Fix bugs

* Add debug message

* Add extra tests

* Add extra debugging

* Update config resolving

* Remove 3.6 generic meta fix

* Fix Flake8

* Add spike for 3.6

* Add Python 3.6 spike

* Add unwire functionality

* Add support of corouting functions
2020-09-20 21:50:25 -04:00
Roman Mogylatov
1f136e427d Bump version to 3.44.0 2020-09-13 20:51:10 -04:00
Roman Mogylatov
d8439a28b1
Make provider generic type (#293)
* Add __class_getitem__ for Provider to null the typing in runtime

* Make Provider stub generic and remove types module

* Update types module tests

* Return types module with deprecation warning

* Return types module with deprecation warning

* Update changelog

* Add docs page
2020-09-13 20:32:21 -04:00
Roman Mogylatov
6febd03646 Bump version to 3.43.1 2020-09-09 23:48:08 -04:00
Roman Mogylatov
07f050d2ad Bump version to 3.43.0 2020-09-09 23:36:13 -04:00
Roman Mogylatov
ffc477d1ee Update API docs 2020-09-09 22:23:28 -04:00
Roman Mogylatov
a305660a08 Bump version to 3.42.0 2020-09-09 18:02:37 -04:00
Roman Mogylatov
ba574660d8 Bump version to 3.41.0 2020-09-07 22:07:09 -04:00
Roman Mogylatov
098ecb4eec Fix declarative container mypy stub 2020-09-07 11:53:03 -04:00
Roman Mogylatov
6d2a0382a7 Bump version to 3.40.0 2020-09-06 21:54:58 -04:00
Roman Mogylatov
29f209d382
Update bundles example (#292)
* Fix dependency provider stub issue with required init arg

* Refactor bundles example app

* Rename bundles package

* Rename bundles example container

* Rename bundles mini app to decoupled packages

* Move decoupled packages example to main examples

* Fix a typo

* Add meta
2020-09-06 21:51:38 -04:00
Roman Mogylatov
5bb9d221a5 Bump version to 3.39.0 2020-09-04 23:22:58 -04:00
Roman Mogylatov
72b2d0570f Bump version to 3.38.1 2020-09-03 23:25:32 -04:00
Roman Mogylatov
d6dbef0a75 Bump version to 3.38.0 2020-09-03 23:22:11 -04:00
Roman Mogylatov
5f7d978012 Bump version to 3.37.0 2020-09-03 18:05:45 -04:00
Roman Mogylatov
d6e4e8fb08 Add container usage to provided instance examples 2020-09-03 17:48:45 -04:00
Roman Mogylatov
063301a0b3 Bump version to 3.36.0 2020-09-02 21:28:09 -04:00
Roman Mogylatov
dd2ded7321 Update documentation and example on creating a custom provider 2020-09-02 21:09:08 -04:00
Roman Mogylatov
806bd31735 Bump version to 3.35.1 2020-09-01 21:58:13 -04:00
Roman Mogylatov
0985635ea6 Bump version to 3.35.0 2020-09-01 21:40:14 -04:00
Roman Mogylatov
c4b33749d2
Providers docs update (#289)
* Update callable provider docs

* Update coroutine provider docs

* Edit object docs

* Edit list provider docs

* Edit configuration provider docs

* Edit selector provider docs

* Fix mypy stub of the ``DeclarativeContainer`` to specify the ``__init__`` interface

* Edit Dependency provider docs
2020-09-01 21:39:23 -04:00
Roman Mogylatov
0d9aaaac0b Bump version to 3.34.0 2020-08-31 21:29:05 -04:00
Roman Mogylatov
3c27cd6ab2 Bump version to 3.33.0 2020-08-26 22:25:22 -04:00
Roman Mogylatov
2e940adb50
Typing stubs (#286)
* Add basic setup

* Add more tests for factory

* Add mypy checks to CI

* Add mypy checks to makefile command

* Add typing for the factories

* Add stub for Callable providers

* Add typing module and object provider stubs

* Fix typing test issue

* Remove typing module

* Add Delegate stub

* Add stub for Dependency provider

* Add stub for ExternalDependency

* Add stubs for providers module functions

* Add stubs for the DependenciesContainer provider

* Add stub for the CallableDelegate provider

* Add stubs for Coroutine providers

* Add stubs for the configuration options

* Add stub for the FactoryDelegate

* Add stub for the FactoryAggregate provider

* Add singleton stubs

* Add stubs for singletons

* Add stub for the List provider

* Add stub for the Container provider

* Add stub for the Selector provider

* Add stubs for the dynamic container

* Add stub for the declarative container

* Add stubs for the extensions

* Add types module for explicit provider typing

* Set absolute import mode for the providers module and add types module test

* Skip typing test for Python 3.5

* Remove coroutine test from py35

* Fix py35 tests

* Add \n to the tox.ini
2020-08-26 22:24:20 -04:00
Roman Mogylatov
15acccf48f Bump version to 3.32.3 2020-08-26 16:35:31 -04:00
Roman Mogylatov
cc7ade89d7 Bump version to 3.32.2 2020-08-26 16:24:59 -04:00
Roman Mogylatov
3f94a900a4 Bump version to 3.32.1 2020-08-25 10:27:24 -04:00
Roman Mogylatov
fcbab97db2 Bump version to 3.32.0 2020-08-24 13:38:08 -04:00
Roman Mogylatov
f5b97ca92e
Configuration option typed injections (#284)
* Add implementation and tests

* Add docs page and examples

* Revert the api_client miniapp accidental changes
2020-08-24 13:34:47 -04:00
Roman Mogylatov
cc8536b5e4 Bump version to 3.31.0 2020-08-20 21:59:09 -04:00
Roman Mogylatov
cf862fe8b5
Provided attributes (#282)
* Add sketch

* Cythonize MethodCaller

* Cythonize ItemGetter, AttributeGetter & ProvidedInstance providers

* Add docblock for .provided attribute

* Refactor repr methods

* Add .provided attribute to the Dependency provider

* Add tests for the .provided attribute to the majority of the providers

* Add docblock for the ProvidedInstance provider

* Add docblocks for the rest of the providers

* Add example of the provided instance usage

* Add tests for provided instance* providers

* Add complex provided instance example

* Update example provided_instance.py

* Add docs
2020-08-20 21:52:12 -04:00
Roman Mogylatov
e15a6dbb1d Bump version to 3.30.4 2020-08-16 01:16:25 -04:00
Roman Mogylatov
01a18bc2ff Bump version to 3.30.3 2020-08-16 01:13:32 -04:00
Roman Mogylatov
ac6412bd41 Bump version to 3.30.2 2020-08-13 22:57:34 -04:00
Roman Mogylatov
f67dab1f03 Bump version to 3.30.1 2020-08-13 21:53:13 -04:00
Roman Mogylatov
2f42de9fa1 Bump version to 3.30.0 2020-08-12 17:06:40 -04:00
Roman Mogylatov
3c69b4683f Bump version to 3.29.0 2020-08-10 22:32:29 -04:00