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 .