Package: nextplus
Nextplus Python SDKIntroductionThe Nextplus Python SDK is a powerful and user-friendly package that allows developers to interact with the Nextplus API. With this SDK, developers can easily perform CRUD operations on tables and records within the Nextplus system.FeaturesUser authentication with Nextplus APIRetrieve, create, update, and delete records in tablesCustomizable queries with filtering optionsRequirementsPython 3.xrequests libraryInstallationTo install the Nextplus Python SDK, you can use the following command:pipinstallnextplusUsageSetting Up the ClientFirst, you need to set up the NextplusClient with your Nextplus server URL, username or email, and password. These can either be passed directly or set as environment variables.fromnextplusimportNextplusClient# Note that you can use email or usernameclient=NextplusClient(server_url='https://your.nextplus.server.url',email='your@email.com',password='yourpassword')Working with TablesYou can perform operations on tables such as finding a specific table or fetching a list of all tables.Find Tablestables=client.Tables.find({'where':{'name':'YourTableName'}})print(json.dumps(tables))Response:[{"id":"1958dbd0-b9bf-11ee-a4d7-950198b3451e","name":"Machine Status Log","columns":[{"id":"_id","name":"id","type":"string"},{"id":"deletedAt","name":"deletedAt","type":"date"},{"id":"createdAt","name":"createdAt","type":"date"},{"id":"modified","name":"modified","type":"date"},{"id":"workflowSessionItemId","name":"workflowSessionItemId","type":"string"},{"id":"formId","name":"formId","type":"string"},{"name":"Machine ID","type":"string","required":true,"id":"COLUMN_machine-id"},{"name":"Status","type":"string","id":"COLUMN_status"},{"name":"Change Time","type":"date","id":"COLUMN_change-time","deletedAt":"2024-01-23T08:06:42.426Z"}],"created":"2024-01-23T07:14:51.021Z","modified":"2024-01-23T08:06:44.500Z","serverModified":"2024-01-23T08:06:44.500Z","deletedAt":null,"deletedBy":null}]Note that you can only write to columns that prefixed withCOLUMN_.
Other columns are auto-generated and read only.Working with Records in a TableYou can create, update, find, and delete records in a specific table.Insert a Recordtable=client.Table('your_table_id')record={"COLUMN_machine-id":"Machine1","COLUMN_status":"idle"}result=table.insert(record)print(f"Record inserted with ID:{result['_id']}")Response:{"COLUMN_machine-id":"Machine1","COLUMN_status":"idle","_id":"7b74899f-f863-473a-9a96-d37a75e1c7fe","createdAt":"2024-01-23T11:33:37.205Z","modified":"2024-01-23T11:33:37.205Z","serverModified":"2024-01-23T11:33:37.205Z","deletedAt":null}Update a Recordupdated_record={"_id":"record_id","COLUMN_status":"busy"}update_result=table.update(updated_record)print(update_result)Response:{"_id":"7b74899f-f863-473a-9a96-d37a75e1c7fe","COLUMN_machine-id":"Machine1","COLUMN_status":"busy","createdAt":"2024-01-23T11:33:37.205Z","modified":"2024-01-23T11:34:52.185Z","serverModified":"2024-01-23T11:34:52.185Z","deletedAt":null}Find Recordsrows=table.find({'where':{'COLUMN_machine-id':'Machine1'}})print(rows)Response:{"_id":"7b74899f-f863-473a-9a96-d37a75e1c7fe","COLUMN_machine-id":"Machine1","COLUMN_status":"busy","createdAt":"2024-01-23T11:33:37.205Z","modified":"2024-01-23T11:34:52.185Z","serverModified":"2024-01-23T11:34:52.185Z","deletedAt":null,"id":"7b74899f-f863-473a-9a96-d37a75e1c7fe"}Delete a Recordtable.remove("record_id")Response:{"_id":"7b74899f-f863-473a-9a96-d37a75e1c7fe","COLUMN_machine-id":"Machine1","COLUMN_status":"busy","createdAt":"2024-01-23T11:33:37.205Z","modified":"2024-01-23T11:36:23.226Z","serverModified":"2024-01-23T11:36:23.226Z","deletedAt":"2024-01-23T11:36:23.226Z"}DevelopmentBuilding a new versionUpdate version code innextplus/client.pyandsetup.pyRun build commandpythonsetup.pysdistRelease new versionMake sure twine is installedpipinstalltwineThen, upload your packagetwineuploaddist/*When username & password prompt, enter__token__as username and token as password