Releases: opsmill/infrahub-sdk-python
Version 1.13.1
Version 1.13.0
This release adds support for the new NumberPool attribute and loading object and menu files from external repositories in Infrahub 1.3.
Added
- Added NumberPool as a new attribute kind, for support in Infrahub 1.3
- Added support for object and menu files in the
.infrahub
repository configuration file - Defined ordering in which object files are loaded
Housekeeping
- Refactor InfrahubNode to avoid the creation of a dynamic Python class for each object defined
Version 1.12.3
Version 1.12.2
Fixed
- fix bug in Timestamp.add by @ajtmccarty in #403
- utils.py: improve file not found exception message by @granoe668 in #425
Changed
- Add partial_match to the client.count() by @BeArchiTek in #411
Housekeeping
- Loosen pinned requirement for
whenever
to allow versions from 0.7.2 up to but not including 0.8.0. - Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /docs by @dependabot in #418
Version 1.12.1
Version 1.12.0
This release of the SDK introduces the capability to convert query responses to InfrahubNode objects in Transforms, as well as the branch
parameter in the client.clone()
method.
Added
- Added the ability to convert the query response to InfrahubNode objects when using Python Transforms in the same way you can with Generators. (#281)
- Added a "branch" parameter to the client.clone() method to allow properly cloning a client that targets another branch.
Version 1.11.1
This version of the SDK contains a minor change to fix how HFID functions for nodes with cardinality of many relationships.
Changed
- Set the HFID on related nodes for cardinality many relationships, and add HFID support to the RelationshipManager
add
,extend
andremove
methods.
Version 1.11.0
This release focusing mainly on improving the user/developer experience with a new command to load data into Infrahub, some improvements around Python Typing as well as some fixes
Main changes
Manage data in yaml format using Object files
The new infrahubctl
commands object load
and object validate
allows you to manage data to be loaded in Infrahub based on your own custom schema. It provides a declarative way to define and manage resources in your Infrahub instance.
Object files work well for models that don't change too often and/or that need to be tracked in Git. Examples include: Groups, tags, Users, etc.
Below is an example of an Object file that defines tags (BuiltinTag
).
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: BuiltinTag
data:
- name: Blue
- name: Yellow
- name: Red
More information is available in the documentation
New user guide on how to use Python's type system effectively with the Infrahub SDK
A new guide is available in the documentation to explain how to leverage Python's type system better with the Python SDK by leveraging Python Protocols.
Changelog
Deprecated
- The 'timeout' parameter while creating a node or fetching the schema has been deprecated. the default_timeout will be used instead.
Added
- Add support for object Template when generating protocols (#329)
- Add a Guide related to Python Typing
- Add method
client.schema.set_cache()
to populate the cache manually (primarily for unit testing) - By default, schema.fetch will now populate the cache (this behavior can be changed with
populate_cache
) - Add
menu validate
command to validate the format of menu files.
Fixed
- Raise a proper branch not found error when requesting a node or schema for a branch that doesn't exist. (#286)
- Fix support for Sync when generating Python Protocols
Housekeeping
- Add
invoke lint-doc
command to help run the docs linters locally - Add a fixture to always reset some environment variables before running tests
- Update Pytest-httpx and set all responses as reusable
Version 1.10.2
1.10.2 - 2025-04-11
Fixed
- fix an issue where nodes attributes were not updated when setting the same value than the one used during node instantiation
- fixes an issue where the default branch of the client store was not properly set in a generator
Version 1.10.1
This version includes only one small change to help with the troubleshooting of a potential issue.
Changed
- Improve error message when a schema received from the server is not JSON valid. The new exception will be of type
infrahub_sdk.exceptions.JsonDecodeError
instead ofjson.decoder.JSONDecodeError