Puede escribir su script de forma que funcione en ambos entornos sin cambios. El truco es comprobar si el objeto context está disponible:

from seatable_api import Base

try:
    from seatable_api import context
    base = Base(context.api_token, context.server_url)
except:
    base = Base('your-api-token', 'https://cloud.seatable.io')

base.auth()

Una lista completa de todas las bibliotecas preinstaladas se encuentra en el artículo Bibliotecas Python compatibles . Allí también aprenderá cómo añadir bibliotecas personalizadas en un servidor autoalojado.

El método base.list_rows() devuelve por defecto un máximo de 1.000 filas. Para procesar más filas, utilice uno de estos enfoques:

Opción 1: Bucle con offset

all_rows = []
offset = 0
while True:
    rows = base.list_rows(TABLE_NAME, start=offset, limit=1000)
    if not rows:
        break
    all_rows.extend(rows)
    offset += 1000

Opción 2: Consulta SQL

rows = base.query("SELECT * FROM `Table1` LIMIT 10000")

Las consultas SQL admiten hasta 10.000 filas por solicitud.

Utilice json.dumps() con sangría para mostrar diccionarios y listas de forma formateada:

import json
metadata = base.get_metadata()
print(json.dumps(metadata, indent=2))

Para la referencia completa de funciones, visite el SeaTable Developer Manual .