A Python client for NocoDB, The Open Source Airtable Alternative. This library provides an easy-to-use interface for interacting with NocoDB's API, allowing you to manage your databases, tables, and records seamlessly.
- Connect to NocoDB and perform CRUD operations on bases.
- Fetch, create, update, and delete records with simple method calls.
- Support for custom queries and filters.
To install the SDK, use pip:
pip install pynoco
- Initialize the Client
To get started, you'll need to initialize the Client with your API access token. If you're using a different server, you can also specify a custom base URL.
from pynoco.client import Client
# Custom NocoDB Server
base_url = 'https://app.nocodb.com'
client = Client("YOUR_TOKEN", base_url)
- Creating a Source
You can connect to various sources, such as MySQL, by configuring your source data. Use the Source object to define the connection details for your data source.
from pynoco.source import Source
mysql_source = Source(
id='my_unique_id',
base_id='base_id',
type='mysql',
inflection_column='camelize',
inflection_table='camelize',
order=2,
config='YOUR_DATABASE_CONFIG'
)
- Creating a Base
You can create a base
and associate it with a source.
# Create a base with a source
base = client.bases.create('base_name', sources=[mysql_source])
You can also add a source to an existing base:
# Create a base without a source
base2 = client.bases.create('base_name')
# Add a source to the base
base2.add_source(mysql_source)
You can create a base.
base = client.bases.create(base_name='base_name', sources=[mysql_source])
To update a base, specify the new name, color, and order.
base.update(
title='new_name',
order=4,
color='#24716E'
)
You can list all the bases you’ve created.
print(client.bases.list())
You can fetch details of a base by its id.
base = client.bases.get('p#######')
To delete a base, use the following command:
client.bases.drop('p#######')
Contributions are welcome! If you have suggestions or improvements, please create a pull request or open an issue.
Check out the contributing guide to set up your development environment and start building.
This project is licensed under the MIT License. See the LICENSE file for more details.