{"id":23144,"library":"prisma-sase","title":"Prisma SASE Python SDK","description":"Python3 SDK for the Prisma SASE AppFabric by Palo Alto Networks. Provides full API access to Prisma SASE (formerly CloudGenix) controller endpoints. Current version 6.6.2b1 (beta), released Feb 2026. Actively maintained with frequent minor version bumps.","status":"active","version":"6.6.2b1","language":"python","source_language":"en","source_url":"https://github.com/PaloAltoNetworks/prisma-sase-sdk-python","tags":["sase","prisma","sdk","palo-alto","api","cloud"],"install":[{"cmd":"pip install prisma-sase","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"HTTP client for API calls","package":"requests","optional":false},{"reason":"HTTP connection pooling/retries","package":"urllib3","optional":false}],"imports":[{"note":"Older docs showed deep submodule import – breaks in recent versions.","wrong":"from prisma_sase.sase_controller import SaseController","symbol":"SaseController","correct":"from prisma_sase import SaseController"},{"note":"Authentication class is inside `authentication` module.","wrong":"from prisma_sase import Authentication","symbol":"PrismaAuthentication","correct":"from prisma_sase.authentication import PrismaAuthentication"}],"quickstart":{"code":"import os\nfrom prisma_sase import SaseController\n\ncontroller = SaseController(\n    controller=os.environ.get('PRISMA_CONTROLLER', 'https://api.sase.paloaltonetworks.com'),\n    client_id=os.environ.get('PRISMA_CLIENT_ID', ''),\n    client_secret=os.environ.get('PRISMA_CLIENT_SECRET', ''),\n    token_url=os.environ.get('PRISMA_TOKEN_URL', 'https://auth.apps.paloaltonetworks.com/oauth2/access_token')\n)\ncontroller.authenticate()\ntenants = controller.get_tenants()\nprint(tenants)","lang":"python","description":"Authenticate and list tenants. Set env vars PRISMA_CLIENT_ID, PRISMA_CLIENT_SECRET, PRISMA_CONTROLLER, PRISMA_TOKEN_URL."},"warnings":[{"fix":"Review Changelog for API major version changes and update your code accordingly.","message":"Major version increments in API endpoints (e.g., prismasase_connections_configs v2.1→v3.0) may break SDK calls. Check the controller release notes before upgrading SDK.","severity":"breaking","affected_versions":">=6.4.2"},{"fix":"Always use full URL starting with https:// (e.g., 'https://api.sase.paloaltonetworks.com').","message":"The `SaseController` constructor's `controller` parameter must be the full URL, not just hostname. Missing 'https://' will cause obscure connection errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Set token_url to the correct regional endpoint: Americas='https://auth.apps.paloaltonetworks.com/oauth2/access_token', Europe='https://auth-eu.apps.paloaltonetworks.com/oauth2/access_token'.","message":"Token URL is region-specific. Using the wrong token URL (e.g., Americas vs Europe) will fail silently. The SDK does not auto-detect region.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run 'pip install prisma-sase' and ensure your environment uses the correct package name.","cause":"Package not installed or installed under a different name (e.g., 'prisma_sase' vs 'prisma-sase').","error":"ModuleNotFoundError: No module named 'prisma_sase'"},{"fix":"Verify all four required env vars are set: PRISMA_CLIENT_ID, PRISMA_CLIENT_SECRET, PRISMA_CONTROLLER, PRISMA_TOKEN_URL.","cause":"Invalid client_id, client_secret, or token_url. Often due to missing/null environment variables.","error":"prisma_sase.exceptions.AuthenticationError: Unable to authenticate"},{"fix":"Use controller.get_tenants() to list valid tenants first, then use the correct tenant_id string.","cause":"The tenant ID passed to get_tenants() or similar is malformed or belongs to a different region.","error":"prisma_sase.exceptions.SaseAPIError: Invalid tenant ID"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}