Skip to content

liunux4odoo/pynocodb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

description

A wrapper to access nocodb restful api using httpx

functions

test with nocodb v0.255.0

API endpoint
sub module
list read update create delete links
Auth ❌︎ -
Users for base -
Bases -
Record
Table -
Column ❌︎ ❌︎ ❌︎ -
View ❌︎ ❌︎ ❌︎ ❌︎ ❌︎ -

example

sync mode

from pynocodb import Client
from rich import print


def run_sync():
    # here we use an api token.
    # you can do client.auth.signin to use auth token instead
    client = Client(token="YzDNLisEZQ4AuId1i9sodHbDC2eEJxadiAlRUHXu")

    bases = client.base.get_base_ids()
    print(bases)
    base_id = list(bases.values())[0]
    tables = client.table.get_table_ids(base_id)
    print(tables)
    table_id = list(tables.values())[0]
    print(client.record.list_records(table_id)["list"])


if __name__ == "__main__":
    run_sync()

async mode

import asyncio

from pynocodb import AsyncClient
from rich import print


async def run_async():
    client = AsyncClient()
    await client.auth.signin("[email protected]", "r_PypPUajC6y!2B")

    bases = await client.base.get_base_ids()
    print(bases)
    base_id = list(bases.values())[0]
    tables = await client.table.get_table_ids(base_id)
    print(tables)
    table_id = list(tables.values())[0]
    print((await client.record.list_records(table_id))["list"])


if __name__ == "__main__":
    asyncio.run(run_async())

TODOs:

  • use pydantic to define schemas for table, column, source, base, etc.
  • support column creation & update
  • support view creation & update

About

python sdk for nocodb restful api

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages