mirror of
https://github.com/kennethreitz/neon-api-python.git
synced 2026-06-05 14:50:16 +00:00
123 lines
3.6 KiB
ReStructuredText
123 lines
3.6 KiB
ReStructuredText
.. neon-client documentation master file, created by
|
||
sphinx-quickstart on Fri Jan 26 14:52:57 2024.
|
||
You can adapt this file completely to your liking, but it should at least
|
||
contain the root `toctree` directive.
|
||
|
||
``neon-client`` — Python client for the Neon API.
|
||
=================================================
|
||
|
||
This is the documentation for the ``neon_client`` package. It is a Python client for the Neon API. ``neon_client`` empowers
|
||
developers by providing a comprehensive Python wrapper around the Neon API. This enables seamless integration of Neon's
|
||
cloud database capabilities into Python applications, facilitating a wide range of operations such as managing API keys,
|
||
projects, branches, databases, endpoints, roles, and operations directly from your codebase.
|
||
|
||
With ``neon_client``, developers can:
|
||
|
||
- Automate the provisioning and management of Neon cloud databases.
|
||
- Programmatically control and manipulate database endpoints and roles.
|
||
- Streamline workflows by integrating database operations into CI/CD pipelines.
|
||
- Enhance application security by managing API keys and permissions through code.
|
||
- Leverage the power of Neon's cloud database without the need for manual intervention or the Neon console.
|
||
|
||
This project simplifies the complexity of interacting with the Neon API, making it more accessible for developers to
|
||
build scalable, data-driven applications with ease. Pydantic dataclasses are used to represent the data structures returned
|
||
by the API, and the client provides a relatively transparent interface to the Neon API.
|
||
|
||
Installation
|
||
------------
|
||
|
||
To install the package, run the following command:
|
||
|
||
.. code-block:: bash
|
||
|
||
$ pip install neon-client
|
||
|
||
.. note::
|
||
|
||
The package requires Python 3.10 or later.
|
||
|
||
Usage
|
||
-----
|
||
|
||
To use the package, you need to have a valid API key. You can obtain an API key from the Neon console.
|
||
Once you have an API key, you can use the ``neon_client`` package to interact with the Neon API.
|
||
|
||
There are two ways to initialize the client:
|
||
|
||
1. By passing the API key directly to the client.
|
||
2. By setting the API key as an environment variable and using the ``from_environ`` method.
|
||
|
||
We recommend using the second method to avoid exposing your API key in your codebase:
|
||
|
||
.. code-block:: bash
|
||
|
||
$ export NEON_API_KEY=your_api_key
|
||
|
||
Then, from Python…
|
||
|
||
.. code-block:: python
|
||
|
||
from neon_client import NeonAPI
|
||
|
||
neon = NeonAPI.from_environ()
|
||
|
||
|
||
Quickstart
|
||
----------
|
||
|
||
Below is an example of how to use the package to interact with the Neon API:
|
||
|
||
.. code-block:: python
|
||
|
||
from neon_client import NeonAPI
|
||
|
||
# Initialize the client.
|
||
neon = NeonAPI.from_environ() or NeonAPI(api_key='your_api_key')
|
||
|
||
# Get the current user
|
||
user = neon.me()
|
||
print(user)
|
||
|
||
# Get a list of API keys
|
||
keys = neon.api_keys()
|
||
print(keys)
|
||
|
||
# Create a new API key
|
||
new_key = neon.api_key_create(name="new_key")
|
||
print(new_key)
|
||
|
||
# Revoke an API key
|
||
revoked_key = neon.api_key_revoke(api_key_id="api_key_id_to_revoke")
|
||
print(revoked_key)
|
||
|
||
Please reference the API Reference section for a comprehensive list of available methods and classes.
|
||
|
||
API Reference
|
||
-------------
|
||
|
||
The following sections provide detailed information about the classes and methods available in the ``neon_client`` package
|
||
|
||
Module–level functions
|
||
//////////////////////
|
||
|
||
.. automodule:: neon_client
|
||
:members:
|
||
:undoc-members:
|
||
:show-inheritance:
|
||
|
||
Classes
|
||
///////
|
||
|
||
.. autoclass:: neon_client.NeonAPI
|
||
:members:
|
||
:undoc-members:
|
||
:show-inheritance:
|
||
|
||
|
||
Indices and tables
|
||
==================
|
||
|
||
* :ref:`genindex`
|
||
* :ref:`modindex`
|
||
* :ref:`search`
|