Skip to main content

FusionAuth Python Client semver 2.0.0 compliant

Intro

If you're integrating FusionAuth with a Python 3 application, this library will speed up your development time. Please also make sure to check our SDK Usage Suggestions page.

For additional information and documentation on FusionAuth refer to https://fusionauth.io.

Install

To install the FusionAuth Python Client package run:

pip install fusionauth-client

This library can be found on PyPI at https://pypi.org/project/fusionauth-client/.

Examples

Set Up

First, you have to make sure you have a running FusionAuth instance. If you don't have one already, the easiest way to install FusionAuth is via Docker, but there are other ways. By default, it'll be running on localhost:9011.

Then, you have to create an API Key in the admin UI to allow calling API endpoints.

You are now ready to use this library.

Create the Client

Include the package in your code by using the following statement.

from fusionauth.fusionauth_client import FusionAuthClient

Now you're ready to begin making requests to FusionAuth. You will need to supply an API key you created in FusionAuth, the following example assumes an API key of 6b87a398-39f2-4692-927b-13188a81a9a3.

client = FusionAuthClient('6b87a398-39f2-4692-927b-13188a81a9a3', 'http://localhost:9011')

Error Handling

After every request is made, you need to check for any errors and handle them. To avoid cluttering things up, we'll omit the error handling in the next examples, but you should do something like the following.

Create an Application

To create an Application, use the create_application() method.

data = {
    'application': {
        'name': 'ChangeBank'
    }
}

result = client.create_application(data)

# Handle errors as shown in the beginning of the Examples section

# Otherwise parse the successful response
print(result.success_response)

Check the API docs for this endpoint

Adding Roles to an Existing Application

To add roles to an Application, use create_application_role().

data = {
    'role': {
        'name': 'customer',
        'description': 'Default role for regular customers',
        'isDefault': 1
    }
}

result = client.create_application_role(
    application_id='5a89377e-a250-4b15-b766-377ecc9b9fc9',
    request=data
)

# Handle errors as shown in the beginning of the Examples section

# Otherwise parse the successful response
print(result.success_response)

Check the API docs for this endpoint

Retrieve Application Details

To fetch details about an Application, use retrieve_application().

result = client.retrieve_application(
    application_id='5a89377e-a250-4b15-b766-377ecc9b9fc9'
)
print(result.success_response)

Check the API docs for this endpoint

Delete an Application

To delete an Application, use delete_application().

client.delete_application(
    application_id='5a89377e-a250-4b15-b766-377ecc9b9fc9'
)

Check the API docs for this endpoint

Lock a User

To prevent a User from logging in, use deactivate_user().

client.deactivate_user(
    user_id='231b982c-9304-4642-9bac-492d6917f5aa'
)

Check the API docs for this endpoint

Registering a User

To register a User in an Application, use register().

The code below also adds a customer role and a custom appBackgroundColor property to the User Registration.

result = client.register(
    user_id='231b982c-9304-4642-9bac-492d6917f5aa',
    request={
        'registration': {
            'applicationId': '5a89377e-a250-4b15-b766-377ecc9b9fc9',
            'roles': [
                'customer'
            ],
            'data': {
                'appBackgroundColor': '#096324'
            }
        }
    }
)
print(result.success_response)

Check the API docs for this endpoint

Questions and support

If you find any bugs in this library, please open an issue. Note that changes to the FusionAuthClient class have to be done on the FusionAuth Client Builder repository, which is responsible for generating that file.

But if you have a question or support issue, we'd love to hear from you.

If you have a paid plan with support included, please open a ticket in your account portal. Learn more about paid plan here.

Otherwise, please post your question in the community forum.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/FusionAuth/fusionauth-python-client.

Note: if you want to change the FusionAuthClient class, you have to do it on the FusionAuth Client Builder repository, which is responsible for generating all client libraries we support.

License

This code is available as open source under the terms of the Apache v2.0 License.

Upgrade Policy

This library is built automatically to keep track of the FusionAuth API, and may also receive updates with bug fixes, security patches, tests, code samples, or documentation changes.

These releases may also update dependencies, language engines, and operating systems, as we'll follow the deprecation and sunsetting policies of the underlying technologies that it uses.

This means that after a dependency (e.g. language, framework, or operating system) is deprecated by its maintainer, this library will also be deprecated by us, and will eventually be updated to use a newer version.

Metadata

Release files for fusionauth-client 1.70.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fusionauth-client 1.70.0
File Size Uploaded Provenance Actions
fusionauth_client-1.70.0.tar.gz 38.9 kB Without provenance Details for fusionauth_client-1.70.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for fusionauth-client 1.70.0
File Interpreter ABI Platform Actions
fusionauth_client-1.70.0-py3-none-any.whl Python 3 none any Details for fusionauth_client-1.70.0-py3-none-any.whl

Total release size: 76.1 kB

Release files / fusionauth_client-1.70.0.tar.gz

Download URL fusionauth_client-1.70.0.tar.gz
Size 38.9 kB
Tags Source
SHA-256 checksum
How to use checksums
673c28cdbd19ebd4d680beb6c0b432feb8e27801b780a5307658df98a5843f05
BLAKE2b-256 checksum
How to use checksums
ea229a1ac7e8a90e3833266a834fdcacde89a9aecee9c84035056fb49029cb3d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Release files / fusionauth_client-1.70.0-py3-none-any.whl

Download URL fusionauth_client-1.70.0-py3-none-any.whl
Size 37.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dff0db311e53dd3c1b5db9644046808179c8e4bc07e85712a164c7c0ce826cda
BLAKE2b-256 checksum
How to use checksums
d55efe5d94c3449dcdc19ef7266d552bc4eee051fb8ddbeda3bd7fe49f0e6394
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.16

Security for fusionauth-client 1.70.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.70.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page