Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,18 @@
# Changelog

## [Unreleased](https://github.com/openfga/python-sdk/compare/v0.9.8...HEAD)
## [Unreleased](https://github.com/openfga/python-sdk/compare/v0.9.9...HEAD)

### [0.9.8](https://github.com/openfga/python-sdk/compare/v0.9.7...0.9.8) (2025-11-04)
### [0.9.9](https://github.com/openfga/python-sdk/compare/v0.9.8...v0.9.9) (2025-12-09)
- feat: improve error messaging (#245)

### [0.9.8](https://github.com/openfga/python-sdk/compare/v0.9.7...v0.9.8) (2025-11-04)
- feat: add support for conflict options for Write operations: (#235)
The client now supports setting `ConflictOptions` on `ClientWriteOptions` to control behavior when writing duplicate tuples or deleting non-existent tuples. This feature requires OpenFGA server [v1.10.0](https://github.com/openfga/openfga/releases/tag/v1.10.0) or later.
See [Conflict Options for Write Operations](./README.md#conflict-options-for-write-operations) for more.
- `on_duplicate` for handling duplicate tuple writes (ERROR or IGNORE)
- `on_missing` for handling deletes of non-existent tuples (ERROR or IGNORE)

### [0.9.7](https://github.com/openfga/python-sdk/compare/v0.9.6...0.9.7) (2025-10-06)
### [0.9.7](https://github.com/openfga/python-sdk/compare/v0.9.6...v0.9.7) (2025-10-06)

- feat: `headers` configuration property (#233)
- fix: per-request custom header precedence (#230)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Python SDK for OpenFGA

[![pypi](https://img.shields.io/pypi/v/openfga_sdk.svg?style=flat)](https://pypi.org/project/openfga_sdk)
[![Socket Badge](https://badge.socket.dev/pypi/package/openfga-sdk/0.9.8](https://socket.dev/pypi/package/openfga-sdk)
[![Socket Badge](https://badge.socket.dev/pypi/package/openfga-sdk/0.9.9](https://socket.dev/pypi/package/openfga-sdk)
[![DeepWiki](https://img.shields.io/badge/DeepWiki-openfga%2Fpython--sdk-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/openfga/python-sdk)
[![Release](https://img.shields.io/github/v/release/openfga/python-sdk?sort=semver&color=green)](https://github.com/openfga/python-sdk/releases)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fopenfga%2Fpython-sdk.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fopenfga%2Fpython-sdk?ref=badge_shield)
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.9.8
0.9.9
2 changes: 1 addition & 1 deletion example/example1/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ attrs >= 25.3.0
frozenlist >= 1.7.0
idna >= 3.10
multidict >= 6.6.4
openfga-sdk >= 0.9.8
openfga-sdk >= 0.9.9
python-dateutil >= 2.9.0.post0
urllib3 >= 1.26.19, != 2.0.*, != 2.1.*, != 2.2.0, != 2.2.1, < 3
yarl >= 1.20.1
Expand Down
2 changes: 1 addition & 1 deletion example/example1/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

NAME = "example1"
VERSION = "0.0.1"
REQUIRES = ["openfga-sdk >= 0.9.8"]
REQUIRES = ["openfga-sdk >= 0.9.9"]

setup(
name=NAME,
Expand Down
4 changes: 2 additions & 2 deletions openfga_sdk/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@


# Version of the OpenFGA Python SDK.
SDK_VERSION: Final[str] = "0.9.8"
SDK_VERSION: Final[str] = "0.9.9"

# User agent used in HTTP requests.
USER_AGENT: Final[str] = "openfga-sdk python/0.9.8"
USER_AGENT: Final[str] = "openfga-sdk python/0.9.9"

# Example API domain for documentation/tests.
SAMPLE_BASE_DOMAIN: Final[str] = "fga.example"
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

[project]
name = "openfga-sdk"
version = "0.9.8"
version = "0.9.9"
description="A high performance and flexible authorization/permission engine built for developers and inspired by Google Zanzibar."
authors = [
{ name = "OpenFGA (https://openfga.dev)", email = "community@openfga.dev"}
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.