Skip to main content

Scalekit official Python SDK

Project description


Official Python SDK

Scalekit is an Enterprise Authentication Platform purpose built for B2B applications. This Python SDK helps implement Enterprise Capabilities like Single Sign-on via SAML or OIDC in your Python applications within a few hours.


Pre-requisites

  1. Sign up for a Scalekit account.
  2. Get your env_url, client_id and client_secret from the Scalekit dashboard.

Installation

Install Scalekit SDK using your preferred package manager.

pip install scalekit-sdk-python

Usage

from scalekit import ScalekitClient

sc = ScalekitClient(
  env_url, 
  client_id, 
  client_secret
)

# Use the sc object to interact with the Scalekit API
auth_url = sc.get_authorization_url(
  "https://acme-corp.com/redirect-uri",
  state="state",
  connection_id="con_123456789"
)
Minimum Requirements

To use the Scalekit Python SDK, you must have the following:

Component Version
Python 3.8+

Tip: Although Python 3.8 meets the minimum requirement, using a more recent version (such as Python 3.9 or later) is advisable.

Examples - SSO with FastAPI

Below is a simple code sample that showcases how to implement Single Sign-on using Scalekit SDK

from fastapi import FastAPI, Request, Response
from scalekit import ScalekitClient
import uvicorn

app = FastAPI()

sc = ScalekitClient(
  env_url, 
  client_id, 
  client_secret
)

redirect_uri = "http://localhost:8000/auth/callback"

@app.get("/auth/login")
async def auth_login(request: Request):
  auth_url = sc.get_authorization_url(
    redirect_uri,
    state="state",
    connection_id="con_123456789"
  )
  return Response(status_code=302, headers={"Location": auth_url})

@app.get("/auth/callback")
async def auth_callback(request: Request):
  code = request.query_params.get("code")
  token = sc.authenticate_with_code(
    code, 
    redirect_uri
  )
  response = JSONResponse(content=token)
  response.set_cookie("access_token", token["access_token"])

  return response

if __name__ == "__main__":
  uvicorn.run(app, port=8080)

Example Apps

Fully functional sample applications written using some popular web application frameworks and Scalekit SDK. Feel free to clone the repo and run them locally.

API Reference

Refer to our API reference docs for detailed information about all our API endpoints and their usage.

More Information

License

This project is licensed under the MIT license. See the LICENSE file for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

a_beta_scalekit-3.0.1.tar.gz (323.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

a_beta_scalekit-3.0.1-py3-none-any.whl (358.1 kB view details)

Uploaded Python 3

File details

Details for the file a_beta_scalekit-3.0.1.tar.gz.

File metadata

  • Download URL: a_beta_scalekit-3.0.1.tar.gz
  • Upload date:
  • Size: 323.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for a_beta_scalekit-3.0.1.tar.gz
Algorithm Hash digest
SHA256 dd37227e1fae2aa5ae82d3b90d1cc01ba731a201582d5c856ea8459b1a26ea60
MD5 6672839c4be5e82cea1fe7e10e97d5c1
BLAKE2b-256 fc2bcb40cc8cbd7ea7de8bbbb28047fb4adbdaa08227b64e8c13489d21229c83

See more details on using hashes here.

Provenance

The following attestation bundles were made for a_beta_scalekit-3.0.1.tar.gz:

Publisher: python-publish.yml on Avinash-Kamath/scalekit-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file a_beta_scalekit-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: a_beta_scalekit-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 358.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for a_beta_scalekit-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 761288c5eb139da2a50bfdaffc63e6f2424b09874e2b8c6e7e1c3dcdb01658a5
MD5 ad5acd11d220e45ae54292ef72b4d391
BLAKE2b-256 7ed6cad06a11b5dee2389b3deea3c107f571772f2370ef85266c80519e8d548f

See more details on using hashes here.

Provenance

The following attestation bundles were made for a_beta_scalekit-3.0.1-py3-none-any.whl:

Publisher: python-publish.yml on Avinash-Kamath/scalekit-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page