Skip to main content
Neon Postgres Docs
current

Search documentation

Type to search this documentation.

On this pageOverview

Python SDK (Neon API)

What is the Neon Python SDK Basic usage Where to find the docs Supported methods Neon API Reference Python wrapper for the Neon API (GitHub) Python wrapper for the Neon API (Python Package Index) Abou...

  • What is the Neon Python SDK
  • Basic usage
  • Where to find the docs
  • Supported methods

Neon supports the neon-api - Python client for the Neon API, a wrapper for the Neon API. This SDK simplifies integration of Python applications with the Neon platform, providing methods to programmatically manage API keys, Neon projects, branches, databases, endpoints, roles, and operations.

Installation of neon_api is easy, with pip:

Bash
$ pip install neon-api
Python
from neon_api import NeonAPI

# Initialize the client.
neon = NeonAPI(api_key='your_api_key')

Documentation for the neon-api - Python SDK, including a Quickstart, can be found on Read the Docs. See neon-api: Python client for the Neon API.

The following list describes the methods exposed by the published Python package. The compatibility warning above identifies methods whose requests don't match the current API contract.

  • me(): Returns the current user.
  • current_user_organizations(): Returns the current user's organizations.
  • api_keys(): Returns a list of API keys.
  • api_key_create(**json): Creates an API key.
  • api_key_delete(key_id): Deletes a given API key.

All Neon accounts are organization-based. To list projects, first retrieve the user's organization with current_user_organizations(), then pass org_id:

Python
orgs = neon.current_user_organizations()
org_id = orgs[0].id
projects = neon.projects(org_id=org_id)
  • projects(org_id=None): Returns a list of projects. Pass org_id to list projects within an organization.
  • project(project_id): Returns a specific project.
  • project_create(project_id, **json): Creates a new project.
  • project_update(project_id, **json): Updates a given project.
  • project_delete(project_id): Deletes a given project.
  • project_permissions(project_id): Returns a list of permissions for a given project.
  • project_permissions_grant(project_id, **json): Grants permissions to a given project.
  • project_permissions_revoke(project_id, **json): Revokes permissions from a given project.
  • connection_uri(project_id, database_name, role_name): Returns the connection string for a given project.
  • branches(project_id): Returns a list of branches for a given project.
  • branch(project_id, branch_id): Returns a specific branch.
  • branch_create(project_id, **json): Creates a new branch. Branch names are optional (defaults to branch ID if not specified). If provided, names must be unique within the project, can be up to 256 characters, and cannot be empty or only whitespace. See Branch naming requirements.
  • branch_update(project_id, branch_id, **json): Updates a given branch.
  • branch_delete(project_id, branch_id): Deletes a given branch.
  • branch_set_as_primary(project_id, branch_id): Sets a given branch as primary.
  • databases(project_id, branch_id): Returns a list of databases for a given project and branch.
  • database(project_id, branch_id, database_id): Returns a specific database.
  • database_create(project_id, branch_id, **json): Creates a new database.
  • database_update(project_id, branch_id, **json): Updates a given database.
  • database_delete(project_id, branch_id, database_id): Deletes a given database.
  • endpoints(project_id, branch_id): Returns a list of endpoints for a given project and branch.
  • endpoint_create(project_id, branch_id, **json): Creates a new endpoint.
  • endpoint_update(project_id, branch_id, endpoint_id, **json): Updates a given endpoint.
  • endpoint_delete(project_id, branch_id, endpoint_id): Deletes a given endpoint.
  • endpoint_start(project_id, branch_id, endpoint_id): Starts a given endpoint.
  • endpoint_suspend(project_id, branch_id, endpoint_id): Suspends a given endpoint.
  • roles(project_id, branch_id): Returns a list of roles for a given project and branch.
  • role(project_id, branch_id, role_name): Returns a specific role.
  • role_create(project_id, branch_id, role_name): Creates a new role.
  • role_delete(project_id, branch_id, role_name): Deletes a given role.
  • role_password_reveal(project_id, branch_id, role_name): Reveals the password for a given role.
  • role_password_reset(project_id, branch_id, role_name): Resets the password for a given role.
  • organization(org_id): Returns details for a specific organization.
  • operations(project_id): Returns a list of operations for a given project.
  • operation(project_id, operation_id): Returns a specific operation.
  • consumption(): Returns a list of project consumption metrics.

View the Neon API documentation for more information on the available endpoints and their parameters.

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu