{"id":19510021,"url":"https://github.com/permify/permify-python","last_synced_at":"2026-04-21T14:04:23.806Z","repository":{"id":209818693,"uuid":"725016845","full_name":"Permify/permify-python","owner":"Permify","description":"Permify Python Client","archived":false,"fork":false,"pushed_at":"2024-04-11T07:28:43.000Z","size":604,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-04-14T04:08:02.569Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Permify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-11-29T09:11:19.000Z","updated_at":"2024-04-19T17:31:09.310Z","dependencies_parsed_at":"2023-11-29T10:31:16.636Z","dependency_job_id":"95dc7562-02b3-4cf6-a8c6-09f13eb3dfdf","html_url":"https://github.com/Permify/permify-python","commit_stats":null,"previous_names":["permify/permify-python"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Permify%2Fpermify-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Permify","download_url":"https://codeload.github.com/Permify/permify-python/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240761122,"owners_count":19853255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T23:14:11.862Z","updated_at":"2026-04-21T14:04:23.772Z","avatar_url":"https://github.com/Permify.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# permify\nPermify is an open source authorization service for creating fine-grained and scalable authorization systems.\n\nThis Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:\n\n- API version: v0.9.9\n- Package version: 1.0.0\n- Generator version: 7.8.0-SNAPSHOT\n- Build package: org.openapitools.codegen.languages.PythonClientCodegen\nFor more information, please visit [https://github.com/Permify/permify/issues](https://github.com/Permify/permify/issues)\n\n## Requirements.\n\nPython 3.7+\n\n## Installation \u0026 Usage\n### pip install\n\nIf the python package is hosted on a repository, you can install directly using:\n\n```sh\npip install git+https://github.com/Permify/permify-python.git\n```\n(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/Permify/permify-python.git`)\n\nThen import the package:\n```python\nimport permify\n```\n\n### Setuptools\n\nInstall via [Setuptools](http://pypi.python.org/pypi/setuptools).\n\n```sh\npython setup.py install --user\n```\n(or `sudo python setup.py install` to install the package for all users)\n\nThen import the package:\n```python\nimport permify\n```\n\n### Tests\n\nExecute `pytest` to run the tests.\n\n## Getting Started\n\nPlease follow the [installation procedure](#installation--usage) and then run the following:\n\n```python\n\nimport permify\nfrom permify import ApiException\nfrom pprint import pprint\n\n# Defining the host is optional and defaults to http://localhost:3476\n# See configuration.py for a list of all supported configuration parameters.\nconfiguration = permify.Configuration(\n    host = \"http://localhost:3476\"\n)\n\n\n\n# Enter a context with an instance of the API client\nwith permify.ApiClient(configuration) as api_client:\n    # Create an instance of the API class\n    api_instance = permify.BundleApi(api_client)\n    tenant_id = 'tenant_id_example' # str | Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant \u003ccode\u003et1\u003c/code\u003e for this field. Required, and must match the pattern \\\\“[a-zA-Z0-9-,]+\\\\“, max 64 bytes.\n    body = permify.BundleDeleteBody() # BundleDeleteBody | \n\n    try:\n        # delete bundle\n        api_response = api_instance.bundle_delete(tenant_id, body)\n        print(\"The response of BundleApi-\u003ebundle_delete:\\n\")\n        pprint(api_response)\n    except ApiException as e:\n        print(\"Exception when calling BundleApi-\u003ebundle_delete: %s\\n\" % e)\n\n```\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *http://localhost:3476*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*BundleApi* | [**bundle_delete**](docs/BundleApi.md#bundle_delete) | **POST** /v1/tenants/{tenant_id}/bundle/delete | delete bundle\n*BundleApi* | [**bundle_read**](docs/BundleApi.md#bundle_read) | **POST** /v1/tenants/{tenant_id}/bundle/read | read bundle\n*BundleApi* | [**bundle_write**](docs/BundleApi.md#bundle_write) | **POST** /v1/tenants/{tenant_id}/bundle/write | write bundle\n*DataApi* | [**bundle_run**](docs/DataApi.md#bundle_run) | **POST** /v1/tenants/{tenant_id}/data/run-bundle | run bundle\n*DataApi* | [**data_attributes_read**](docs/DataApi.md#data_attributes_read) | **POST** /v1/tenants/{tenant_id}/data/attributes/read | read attributes\n*DataApi* | [**data_delete**](docs/DataApi.md#data_delete) | **POST** /v1/tenants/{tenant_id}/data/delete | delete data\n*DataApi* | [**data_relationships_read**](docs/DataApi.md#data_relationships_read) | **POST** /v1/tenants/{tenant_id}/data/relationships/read | read relationships\n*DataApi* | [**data_write**](docs/DataApi.md#data_write) | **POST** /v1/tenants/{tenant_id}/data/write | write data\n*DataApi* | [**relationships_delete**](docs/DataApi.md#relationships_delete) | **POST** /v1/tenants/{tenant_id}/relationships/delete | delete relationships\n*DataApi* | [**relationships_write**](docs/DataApi.md#relationships_write) | **POST** /v1/tenants/{tenant_id}/relationships/write | write relationships\n*PermissionApi* | [**permissions_check**](docs/PermissionApi.md#permissions_check) | **POST** /v1/tenants/{tenant_id}/permissions/check | check api\n*PermissionApi* | [**permissions_expand**](docs/PermissionApi.md#permissions_expand) | **POST** /v1/tenants/{tenant_id}/permissions/expand | expand api\n*PermissionApi* | [**permissions_lookup_entity**](docs/PermissionApi.md#permissions_lookup_entity) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-entity | lookup entity\n*PermissionApi* | [**permissions_lookup_entity_stream**](docs/PermissionApi.md#permissions_lookup_entity_stream) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-entity-stream | lookup entity stream\n*PermissionApi* | [**permissions_lookup_subject**](docs/PermissionApi.md#permissions_lookup_subject) | **POST** /v1/tenants/{tenant_id}/permissions/lookup-subject | lookup-subject\n*PermissionApi* | [**permissions_subject_permission**](docs/PermissionApi.md#permissions_subject_permission) | **POST** /v1/tenants/{tenant_id}/permissions/subject-permission | subject permission\n*SchemaApi* | [**schemas_list**](docs/SchemaApi.md#schemas_list) | **POST** /v1/tenants/{tenant_id}/schemas/list | list schema\n*SchemaApi* | [**schemas_partial_write**](docs/SchemaApi.md#schemas_partial_write) | **PATCH** /v1/tenants/{tenant_id}/schemas/partial-write | partially update your authorization model\n*SchemaApi* | [**schemas_read**](docs/SchemaApi.md#schemas_read) | **POST** /v1/tenants/{tenant_id}/schemas/read | read schema\n*SchemaApi* | [**schemas_write**](docs/SchemaApi.md#schemas_write) | **POST** /v1/tenants/{tenant_id}/schemas/write | write schema\n*TenancyApi* | [**tenants_create**](docs/TenancyApi.md#tenants_create) | **POST** /v1/tenants/create | create tenant\n*TenancyApi* | [**tenants_delete**](docs/TenancyApi.md#tenants_delete) | **DELETE** /v1/tenants/{id} | delete tenant\n*TenancyApi* | [**tenants_list**](docs/TenancyApi.md#tenants_list) | **POST** /v1/tenants/list | list tenants\n*WatchApi* | [**watch_watch**](docs/WatchApi.md#watch_watch) | **POST** /v1/tenants/{tenant_id}/watch | watch changes\n\n\n## Documentation For Models\n\n - [AbstractType](docs/AbstractType.md)\n - [Any](docs/Any.md)\n - [Argument](docs/Argument.md)\n - [Attribute](docs/Attribute.md)\n - [AttributeDefinition](docs/AttributeDefinition.md)\n - [AttributeFilter](docs/AttributeFilter.md)\n - [AttributeReadRequestMetadata](docs/AttributeReadRequestMetadata.md)\n - [AttributeReadResponse](docs/AttributeReadResponse.md)\n - [AttributeType](docs/AttributeType.md)\n - [BundleDeleteBody](docs/BundleDeleteBody.md)\n - [BundleDeleteResponse](docs/BundleDeleteResponse.md)\n - [BundleReadBody](docs/BundleReadBody.md)\n - [BundleReadResponse](docs/BundleReadResponse.md)\n - [BundleRunResponse](docs/BundleRunResponse.md)\n - [BundleWriteBody](docs/BundleWriteBody.md)\n - [BundleWriteResponse](docs/BundleWriteResponse.md)\n - [CheckBody](docs/CheckBody.md)\n - [CheckResult](docs/CheckResult.md)\n - [CheckedExpr](docs/CheckedExpr.md)\n - [Child](docs/Child.md)\n - [Comprehension](docs/Comprehension.md)\n - [ComputedAttribute](docs/ComputedAttribute.md)\n - [ComputedUserSet](docs/ComputedUserSet.md)\n - [Constant](docs/Constant.md)\n - [Context](docs/Context.md)\n - [ContextAttribute](docs/ContextAttribute.md)\n - [CreateList](docs/CreateList.md)\n - [CreateStruct](docs/CreateStruct.md)\n - [DataBundle](docs/DataBundle.md)\n - [DataChange](docs/DataChange.md)\n - [DataChangeOperation](docs/DataChangeOperation.md)\n - [DataChanges](docs/DataChanges.md)\n - [DataDeleteBody](docs/DataDeleteBody.md)\n - [DataDeleteResponse](docs/DataDeleteResponse.md)\n - [DataWriteBody](docs/DataWriteBody.md)\n - [DataWriteRequestMetadata](docs/DataWriteRequestMetadata.md)\n - [DataWriteResponse](docs/DataWriteResponse.md)\n - [DeleteRelationshipsBody](docs/DeleteRelationshipsBody.md)\n - [Entity](docs/Entity.md)\n - [EntityDefinition](docs/EntityDefinition.md)\n - [EntityDefinitionReference](docs/EntityDefinitionReference.md)\n - [EntityFilter](docs/EntityFilter.md)\n - [Entry](docs/Entry.md)\n - [ExpandLeaf](docs/ExpandLeaf.md)\n - [ExpandTreeNode](docs/ExpandTreeNode.md)\n - [ExpandTreeNodeOperation](docs/ExpandTreeNodeOperation.md)\n - [Expr](docs/Expr.md)\n - [ExprCall](docs/ExprCall.md)\n - [FunctionType](docs/FunctionType.md)\n - [Ident](docs/Ident.md)\n - [Leaf](docs/Leaf.md)\n - [ListType](docs/ListType.md)\n - [LookupEntityBody](docs/LookupEntityBody.md)\n - [LookupEntityStreamBody](docs/LookupEntityStreamBody.md)\n - [LookupSubjectBody](docs/LookupSubjectBody.md)\n - [MapType](docs/MapType.md)\n - [PartialWriteBody](docs/PartialWriteBody.md)\n - [Partials](docs/Partials.md)\n - [PermissionCheckRequestMetadata](docs/PermissionCheckRequestMetadata.md)\n - [PermissionCheckResponse](docs/PermissionCheckResponse.md)\n - [PermissionCheckResponseMetadata](docs/PermissionCheckResponseMetadata.md)\n - [PermissionDefinition](docs/PermissionDefinition.md)\n - [PermissionExpandBody](docs/PermissionExpandBody.md)\n - [PermissionExpandRequestMetadata](docs/PermissionExpandRequestMetadata.md)\n - [PermissionExpandResponse](docs/PermissionExpandResponse.md)\n - [PermissionLookupEntityRequestMetadata](docs/PermissionLookupEntityRequestMetadata.md)\n - [PermissionLookupEntityResponse](docs/PermissionLookupEntityResponse.md)\n - [PermissionLookupEntityStreamResponse](docs/PermissionLookupEntityStreamResponse.md)\n - [PermissionLookupSubjectRequestMetadata](docs/PermissionLookupSubjectRequestMetadata.md)\n - [PermissionLookupSubjectResponse](docs/PermissionLookupSubjectResponse.md)\n - [PermissionSubjectPermissionRequestMetadata](docs/PermissionSubjectPermissionRequestMetadata.md)\n - [PermissionSubjectPermissionResponse](docs/PermissionSubjectPermissionResponse.md)\n - [PrimitiveType](docs/PrimitiveType.md)\n - [ReadAttributesBody](docs/ReadAttributesBody.md)\n - [ReadRelationshipsBody](docs/ReadRelationshipsBody.md)\n - [RelationDefinition](docs/RelationDefinition.md)\n - [RelationReference](docs/RelationReference.md)\n - [RelationshipDeleteResponse](docs/RelationshipDeleteResponse.md)\n - [RelationshipReadRequestMetadata](docs/RelationshipReadRequestMetadata.md)\n - [RelationshipReadResponse](docs/RelationshipReadResponse.md)\n - [RelationshipWriteRequestMetadata](docs/RelationshipWriteRequestMetadata.md)\n - [RelationshipWriteResponse](docs/RelationshipWriteResponse.md)\n - [Rewrite](docs/Rewrite.md)\n - [RewriteOperation](docs/RewriteOperation.md)\n - [RuleDefinition](docs/RuleDefinition.md)\n - [RunBundleBody](docs/RunBundleBody.md)\n - [SchemaDefinition](docs/SchemaDefinition.md)\n - [SchemaDefinitionReference](docs/SchemaDefinitionReference.md)\n - [SchemaList](docs/SchemaList.md)\n - [SchemaListBody](docs/SchemaListBody.md)\n - [SchemaListResponse](docs/SchemaListResponse.md)\n - [SchemaPartialWriteRequestMetadata](docs/SchemaPartialWriteRequestMetadata.md)\n - [SchemaPartialWriteResponse](docs/SchemaPartialWriteResponse.md)\n - [SchemaReadBody](docs/SchemaReadBody.md)\n - [SchemaReadRequestMetadata](docs/SchemaReadRequestMetadata.md)\n - [SchemaReadResponse](docs/SchemaReadResponse.md)\n - [SchemaWriteBody](docs/SchemaWriteBody.md)\n - [SchemaWriteResponse](docs/SchemaWriteResponse.md)\n - [Select](docs/Select.md)\n - [SourceInfo](docs/SourceInfo.md)\n - [Status](docs/Status.md)\n - [StreamResultOfPermissionLookupEntityStreamResponse](docs/StreamResultOfPermissionLookupEntityStreamResponse.md)\n - [StreamResultOfWatchResponse](docs/StreamResultOfWatchResponse.md)\n - [Subject](docs/Subject.md)\n - [SubjectFilter](docs/SubjectFilter.md)\n - [SubjectPermissionBody](docs/SubjectPermissionBody.md)\n - [Subjects](docs/Subjects.md)\n - [Tenant](docs/Tenant.md)\n - [TenantCreateRequest](docs/TenantCreateRequest.md)\n - [TenantCreateResponse](docs/TenantCreateResponse.md)\n - [TenantDeleteResponse](docs/TenantDeleteResponse.md)\n - [TenantListRequest](docs/TenantListRequest.md)\n - [TenantListResponse](docs/TenantListResponse.md)\n - [Tuple](docs/Tuple.md)\n - [TupleFilter](docs/TupleFilter.md)\n - [TupleSet](docs/TupleSet.md)\n - [TupleToUserSet](docs/TupleToUserSet.md)\n - [V1Call](docs/V1Call.md)\n - [V1Expand](docs/V1Expand.md)\n - [V1Operation](docs/V1Operation.md)\n - [V1alpha1Reference](docs/V1alpha1Reference.md)\n - [V1alpha1Type](docs/V1alpha1Type.md)\n - [Values](docs/Values.md)\n - [WatchBody](docs/WatchBody.md)\n - [WatchResponse](docs/WatchResponse.md)\n - [WellKnownType](docs/WellKnownType.md)\n - [WriteRelationshipsBody](docs/WriteRelationshipsBody.md)\n\n\n\u003ca id=\"documentation-for-authorization\"\u003e\u003c/a\u003e\n## Documentation For Authorization\n\n\nAuthentication schemes defined for the API:\n\u003ca id=\"ApiKeyAuth\"\u003e\u003c/a\u003e\n### ApiKeyAuth\n\n- **Type**: API key\n- **API key parameter name**: Authorization\n- **Location**: HTTP header\n\n\n## Author\n\nhello@permify.co\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpermify%2Fpermify-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpermify%2Fpermify-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpermify%2Fpermify-python/lists"}