Skip to content

Releases: Feverup/pypendency

v0.5.0

31 May 15:37
261d703
Compare
Choose a tag to compare

New container class method inside Container for the tags api:

get_services_identifiers_by_tag_name(self, tag_identifier: str, tag_value: Optional[object] = Tag.UNSET_VALUE) -> Set[str]:

Returns all the services identifiers associated with the specified tag.

v0.4.0

25 May 07:24
b6c8326
Compare
Choose a tag to compare

New functionality added in Container class.

  • callbacks for on_resolved_container: You can add multiple callable functions to the container that will be triggered after the container is resolved.

New container class method:

  • add_on_resolved_callback(func: OnContainerResolvedCallable) -> None

New type alias for callables: OnContainerResolvedCallable = Callable[[], None]

v0.3.0

18 Apr 15:55
30abbae
Compare
Choose a tag to compare

Create the public Tags API.

  • Add Tag class
  • Changes to the Container API:
    • set now takes an extra, optional argument for the tags: set(identifier: str, service: object, tags: Optional[Set[Tag]] = None) -> None
    • Tags of a service can be retrieved through the service's identifier: get_service_tags(service_identifier: str) -> Set[Tag]
    • A set of services can be retrieved through their tags:
      • get_by_tag(tag: Tag) -> Set[object]
      • get_by_tag_name(tag_identifier: str, tag_value: Optional[object] = Tag.UNSET_VALUE) -> Set[object]
    • Tags can also be specified through yaml:
example.tagged_A:
  fqn: 'tests.resources.class_a.A'
  args:
    - '@example.A'
  kwargs:
    kw_arg: 'test_param'
    b: '@example.B'
  tags:
    test_tag_identifier: 'test_tag_value'
    another_test_tag_identifier:  # empty evaluates to null
    yet_another_tag: 1

v0.2.0

12 Apr 09:33
ab47848
Compare
Choose a tag to compare

Stop support for Python 3.6 since that version is no longer maintained. #16
Using pypendency on a project that uses Python 3.6 may fail as the dataclasses package is no longer installed.

v0.1.0

27 Jan 14:31
95b7e83
Compare
Choose a tag to compare
  • Improve error traceability when instantiation fails #7
  • Add absolute path guards #6
  • Change pyloader load by system path #5

v0.1.0rc1

27 Jan 10:00
@lpl lpl
656c897
Compare
Choose a tag to compare
v0.1.0rc1 Pre-release
Pre-release
  • Change pyloader load by system path #5
  • Add absolute path guards #6

v0.0.5

15 Jan 09:58
@lpl lpl
701b6fe
Compare
Choose a tag to compare
  • Add load dir to load interface #4

v0.0.4

18 Dec 09:26
c050c0b
Compare
Choose a tag to compare
  • Avoid installing dataclasses package for unrequired versions #3

v0.0.3

13 Dec 23:47
7132a92
Compare
Choose a tag to compare
  • Allow loaders to load directories #1

v0.0.2

13 Dec 23:33
f15c2b8
Compare
Choose a tag to compare
Create pythonpublish.yml (#2)

Create pythonpublish.yml