Sie können Ihr Skript so schreiben, dass es in beiden Umgebungen ohne Änderungen funktioniert. Der Trick ist, zu prüfen, ob das context-Objekt verfügbar ist:

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()

Eine vollständige Liste aller vorinstallierten Bibliotheken finden Sie im Artikel Unterstützte Python Bibliotheken . Dort erfahren Sie auch, wie Sie auf einem selbst gehosteten Server eigene Bibliotheken hinzufügen können.

Die Methode base.list_rows() liefert standardmäßig maximal 1.000 Zeilen. Für mehr Zeilen nutzen Sie einen dieser Ansätze:

Option 1: Schleife mit 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

Option 2: SQL-Abfrage

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

SQL-Abfragen unterstützen bis zu 10.000 Zeilen pro Anfrage.

Verwenden Sie json.dumps() mit Einrückung, um Dictionaries und Listen formatiert auszugeben:

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

Die vollständige Funktionsreferenz finden Sie im SeaTable Developer Manual .