Skip to content

Commit

Permalink
release(v0.3.2): with allow custom ssl certs + help package (#52)
Browse files Browse the repository at this point in the history
  • Loading branch information
rhamzeh authored Dec 15, 2023
2 parents 38229f5 + 60d1edd commit 6554306
Show file tree
Hide file tree
Showing 16 changed files with 61 additions and 46 deletions.
24 changes: 16 additions & 8 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,14 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11"]
python-version: ["3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
Expand All @@ -40,9 +43,12 @@ jobs:
needs: [test]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: "3.10"
cache: 'pip'
Expand All @@ -60,7 +66,7 @@ jobs:
python setup.py sdist bdist_wheel
- name: Publish package
uses: pypa/gh-action-pypi-publish@2f6f737ca5f74c637829c0f5c3acd0e29ea5e8bf
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}
Expand All @@ -71,9 +77,11 @@ jobs:
needs: [publish]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0

- uses: Roang-zero1/github-create-release-action@57eb9bdce7a964e48788b9e78b5ac766cb684803
- uses: Roang-zero1/github-create-release-action@57eb9bdce7a964e48788b9e78b5ac766cb684803 # v3.0.1
with:
version_regex: ^v[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+
env:
Expand Down
1 change: 1 addition & 0 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ openfga_sdk/client/models/write_transaction_opts.py
openfga_sdk/configuration.py
openfga_sdk/credentials.py
openfga_sdk/exceptions.py
openfga_sdk/help.py
openfga_sdk/models/__init__.py
openfga_sdk/models/any.py
openfga_sdk/models/assertion.py
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Changelog

## v0.3.2

### [0.3.2](https://github.com/openfga/python-sdk/compare/v0.3.1...v0.3.2) (2023-12-15)
- feat: allow passing ssl certs to client configuration
- feat: setup openfga_sdk.help for bug info

## v0.3.1

### [0.3.1](https://github.com/openfga/python-sdk/compare/v0.3.0...v0.3.1) (2023-12-01)
Expand Down
48 changes: 24 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,10 +130,10 @@ from openfga_sdk.client import OpenFgaClient

async def main():
configuration = openfga_sdk.ClientConfiguration(
api_scheme = OPENFGA_API_SCHEME, # optional, defaults to "https"
api_host = OPENFGA_API_HOST, # required, define without the scheme (e.g. api.fga.example instead of https://api.fga.example)
store_id = OPENFGA_STORE_ID, # optional, not needed when calling `CreateStore` or `ListStores`
authorization_model_id = OPENFGA_AUTHORIZATION_MODEL_ID, # Optional, can be overridden per request
api_scheme = FGA_API_SCHEME, # optional, defaults to "https"
api_host = FGA_API_HOST, # required, define without the scheme (e.g. api.fga.example instead of https://api.fga.example)
store_id = FGA_STORE_ID, # optional, not needed when calling `CreateStore` or `ListStores`
authorization_model_id = FGA_AUTHORIZATION_MODEL_ID, # Optional, can be overridden per request
)
# Enter a context with an instance of the OpenFgaClient
async with OpenFgaClient(configuration) as fga_client:
Expand All @@ -152,14 +152,14 @@ from openfga_sdk.credentials import Credentials, CredentialConfiguration

async def main():
configuration = openfga_sdk.ClientConfiguration(
api_scheme = OPENFGA_API_SCHEME, # optional, defaults to "https"
api_host = OPENFGA_API_HOST, # required, define without the scheme (e.g. api.fga.example instead of https://api.fga.example)
store_id = OPENFGA_STORE_ID, # optional, not needed when calling `CreateStore` or `ListStores`
authorization_model_id = OPENFGA_AUTHORIZATION_MODEL_ID, # Optional, can be overridden per request
api_scheme = FGA_API_SCHEME, # optional, defaults to "https"
api_host = FGA_API_HOST, # required, define without the scheme (e.g. api.fga.example instead of https://api.fga.example)
store_id = FGA_STORE_ID, # optional, not needed when calling `CreateStore` or `ListStores`
authorization_model_id = FGA_AUTHORIZATION_MODEL_ID, # Optional, can be overridden per request
credentials = Credentials(
method='api_token',
configuration=CredentialConfiguration(
api_token= OPENFGA_API_TOKEN,
configuration = CredentialConfiguration(
api_token = FGA_API_TOKEN,
)
)
)
Expand All @@ -180,17 +180,17 @@ from openfga_sdk.credentials import Credentials, CredentialConfiguration

async def main():
configuration = openfga_sdk.ClientConfiguration(
api_scheme = OPENFGA_API_SCHEME, # optional, defaults to "https"
api_host = OPENFGA_API_HOST, # required, define without the scheme (e.g. api.fga.example instead of https://api.fga.example)
store_id = OPENFGA_STORE_ID, # optional, not needed when calling `CreateStore` or `ListStores`
authorization_model_id = OPENFGA_AUTHORIZATION_MODEL_ID, # Optional, can be overridden per request
api_scheme = FGA_API_SCHEME, # optional, defaults to "https"
api_host = FGA_API_HOST, # required, define without the scheme (e.g. api.fga.example instead of https://api.fga.example)
store_id = FGA_STORE_ID, # optional, not needed when calling `CreateStore` or `ListStores`
authorization_model_id = FGA_AUTHORIZATION_MODEL_ID, # Optional, can be overridden per request
credentials = Credentials(
method='client_credentials',
configuration=CredentialConfiguration(
api_issuer= OPENFGA_API_TOKEN_ISSUER,
api_audience= OPENFGA_API_AUDIENCE,
client_id= OPENFGA_CLIENT_ID,
client_secret= OPENFGA_CLIENT_SECRET,
method = 'client_credentials',
configuration = CredentialConfiguration(
api_issuer = FGA_API_TOKEN_ISSUER,
api_audience = FGA_API_AUDIENCE,
client_id = FGA_CLIENT_ID,
client_secret = FGA_CLIENT_SECRET,
)
)
)
Expand All @@ -214,10 +214,10 @@ from openfga_sdk.sync import OpenFgaClient

def main():
configuration = openfga_sdk.ClientConfiguration(
api_scheme=OPENFGA_API_SCHEME, # optional, defaults to "https"
api_host=OPENFGA_API_HOST, # required, define without the scheme (e.g. api.fga.example instead of https://api.fga.example)
store_id=OPENFGA_STORE_ID, # optional, not needed when calling `CreateStore` or `ListStores`
authorization_model_id=OPENFGA_AUTHORIZATION_MODEL_ID, # optional, can be overridden per request
api_scheme = FGA_API_SCHEME, # optional, defaults to "https"
api_host = FGA_API_HOST, # required, define without the scheme (e.g. api.fga.example instead of https://api.fga.example)
store_id = FGA_STORE_ID, # optional, not needed when calling `CreateStore` or `ListStores`
authorization_model_id = FGA_AUTHORIZATION_MODEL_ID, # optional, can be overridden per request
)
# Enter a context with an instance of the OpenFgaClient
with OpenFgaClient(configuration) as fga_client:
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.3.1
0.3.2
2 changes: 1 addition & 1 deletion openfga_sdk/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
NOTE: This file was auto generated by OpenAPI Generator (https://openapi-generator.tech). DO NOT EDIT.
"""

__version__ = "0.3.1"
__version__ = "0.3.2"

from openfga_sdk.client.client import OpenFgaClient
from openfga_sdk.client.configuration import ClientConfiguration
Expand Down
2 changes: 1 addition & 1 deletion openfga_sdk/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
from openfga_sdk.exceptions import ApiValueError, ApiException, FgaValidationException, RateLimitExceededError


DEFAULT_USER_AGENT = 'openfga-sdk python/0.3.1'
DEFAULT_USER_AGENT = 'openfga-sdk python/0.3.2'


def random_time(loop_count, min_wait_in_ms):
Expand Down
2 changes: 1 addition & 1 deletion openfga_sdk/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,7 @@ def to_debug_report(self):
"OS: {env}\n"\
"Python Version: {pyversion}\n"\
"Version of the API: 0.1\n"\
"SDK Package Version: 0.3.1".\
"SDK Package Version: 0.3.2".\
format(env=sys.platform, pyversion=sys.version)

def get_host_settings(self):
Expand Down
2 changes: 1 addition & 1 deletion openfga_sdk/oauth2.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ async def _obtain_token(self, client):
'grant_type': "client_credentials",
}
headers = urllib3.response.HTTPHeaderDict(
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk (python) 0.3.1'})
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk (python) 0.3.2'})
raw_response = await client.POST(token_url, headers=headers, body=body)
if 200 <= raw_response.status <= 299:
try:
Expand Down
2 changes: 1 addition & 1 deletion openfga_sdk/sync/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
from openfga_sdk.exceptions import ApiValueError, ApiException, FgaValidationException, RateLimitExceededError


DEFAULT_USER_AGENT = 'openfga-sdk python/0.3.1'
DEFAULT_USER_AGENT = 'openfga-sdk python/0.3.2'


def random_time(loop_count, min_wait_in_ms):
Expand Down
2 changes: 1 addition & 1 deletion openfga_sdk/sync/oauth2.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ def _obtain_token(self, client):
'grant_type': "client_credentials",
}
headers = urllib3.response.HTTPHeaderDict(
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk (python) 0.3.1'})
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk (python) 0.3.2'})
raw_response = client.POST(token_url, headers=headers, body=body)
if 200 <= raw_response.status <= 299:
try:
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from setuptools import setup, find_packages # noqa: H301

NAME = "openfga-sdk"
VERSION = "0.3.1"
VERSION = "0.3.2"
# To install the library, run the following
#
# python setup.py install
Expand Down
2 changes: 1 addition & 1 deletion test/test_oauth2.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ async def test_get_authentication_obtain_client_credentials(self, mock_request):
self.assertGreaterEqual(client._access_expiry_time,
current_time + timedelta(seconds=int(120)))
expected_header = urllib3.response.HTTPHeaderDict(
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk (python) 0.3.1'})
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk (python) 0.3.2'})
mock_request.assert_called_once_with(
'POST',
'https://www.testme.com/oauth/token',
Expand Down
2 changes: 1 addition & 1 deletion test/test_oauth2_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ def test_get_authentication_obtain_client_credentials(self, mock_request):
self.assertGreaterEqual(client._access_expiry_time,
current_time + timedelta(seconds=int(120)))
expected_header = urllib3.response.HTTPHeaderDict(
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk (python) 0.3.1'})
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk (python) 0.3.2'})
mock_request.assert_called_once_with(
'POST',
'https://www.testme.com/oauth/token',
Expand Down
4 changes: 2 additions & 2 deletions test/test_open_fga_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -1174,7 +1174,7 @@ async def test_check_api_token(self, mock_request):
self.assertTrue(api_response.allowed)
# Make sure the API was called with the right data
expectedHeader = urllib3.response.HTTPHeaderDict(
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk python/0.3.1', 'Authorization': 'Bearer TOKEN1'})
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk python/0.3.2', 'Authorization': 'Bearer TOKEN1'})
mock_request.assert_called_once_with(
'POST',
'http://api.fga.example/stores/01H0H015178Y2V4CX10C2KGHF4/check',
Expand Down Expand Up @@ -1217,7 +1217,7 @@ async def test_check_custom_header(self, mock_request):
self.assertTrue(api_response.allowed)
# Make sure the API was called with the right data
expectedHeader = urllib3.response.HTTPHeaderDict(
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk python/0.3.1', 'Custom Header': 'custom value'})
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk python/0.3.2', 'Custom Header': 'custom value'})
mock_request.assert_called_once_with(
'POST',
'http://api.fga.example/stores/01H0H015178Y2V4CX10C2KGHF4/check',
Expand Down
4 changes: 2 additions & 2 deletions test/test_open_fga_api_sync.py
Original file line number Diff line number Diff line change
Expand Up @@ -1175,7 +1175,7 @@ async def test_check_api_token(self, mock_request):
self.assertTrue(api_response.allowed)
# Make sure the API was called with the right data
expectedHeader = urllib3.response.HTTPHeaderDict(
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk python/0.3.1', 'Authorization': 'Bearer TOKEN1'})
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk python/0.3.2', 'Authorization': 'Bearer TOKEN1'})
mock_request.assert_called_once_with(
'POST',
'http://api.fga.example/stores/01H0H015178Y2V4CX10C2KGHF4/check',
Expand Down Expand Up @@ -1218,7 +1218,7 @@ async def test_check_custom_header(self, mock_request):
self.assertTrue(api_response.allowed)
# Make sure the API was called with the right data
expectedHeader = urllib3.response.HTTPHeaderDict(
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk python/0.3.1', 'Custom Header': 'custom value'})
{'Accept': 'application/json', 'Content-Type': 'application/json', 'User-Agent': 'openfga-sdk python/0.3.2', 'Custom Header': 'custom value'})
mock_request.assert_called_once_with(
'POST',
'http://api.fga.example/stores/01H0H015178Y2V4CX10C2KGHF4/check',
Expand Down

0 comments on commit 6554306

Please sign in to comment.