Skip to content

v0.2.0 — Model Objects as Identifiers

Choose a tag to compare

@loookashow loookashow released this 26 Jan 23:23
· 30 commits to main since this release

What's New

Pass model objects directly as identifiers to any Management API client method — no need to extract .key manually.

# Before
folder = client.get_folder("blog-posts")
resources = client.list_resources(folder.key)
resource = client.get_resource(folder.key, resources.results[0].key)

# After
folder = client.get_folder("blog-posts")
resources = client.list_resources(folder)
resource = client.get_resource(folder, resources.results[0])

Highlights

  • Flexible identifiers — all ManagementClient and AsyncManagementClient methods accept either a string key or the corresponding model object (FolderSummary, ResourceSummary, etc.).

  • 13 type aliases — available for use in your own type annotations:

  • FolderRef, ResourceRef, RevisionRef, ComponentRef, SchemaVersionRef, OrgRef, ProjectRef, EnvironmentRef, ManagementRoleRef, FluxRoleRef, ManagementAPIKeyRef, FluxAPIKeyRef, APIRef.

  • Fully backward compatible — string keys continue to work everywhere.

Other

  • Improved async client test coverage (60% → 77%).
  • Overall test coverage increased to 84%.

Full Changelog:
v0.1.0...v0.2.0