Welcome to ScienceDesk helper library’s documentation!

Introduction

This library aims to help automated integration with Science Desk.

Install

Latest release

pip install sdesk

Development release candidates

Check out for versions Here

pip install -i https://pypi.debonzi.dev/simple/ sdesk==0.2.2+rc.5

Examples

Create a SDesk Client

>>> from sdesk.api import SdeskClient
>>>
>>> client = SdeskClient("dev2.sciencedesk.net", disable_warning=True)
>>> client.authenticate("thomas", "AsEDA112X*")

List Notebooks

>>> notebooks = client.list_notebooks()
>>> len(notebooks)
3
>>> notebooks[0]
<sdesk.api.resources.Notebook object at 0x7f9d3dedccf8>
>>> notebooks[0].title
'Thiagos Labbook for development'

Request Notebook by Id

>>> notebook = client.get_notebook(16)
>>> notebook
<sdesk.api.resources.Notebook object at 0x7f9d3df0f0b8>
>>> notebook.title
'Stephans Labbook for Business'
>>> notebook.id
16

List Notebook’s Entries

>>> entries = client.list_entries(notebook_id=16)
>>> len(entries)
2
>>> entries[0]
<sdesk.api.resources.Entry object at 0x7f9d3df0c978>
>>> entries[0].title
'medida do silicio'
>>> entries[0].code
1

List Files

>>> files = client.list_files()
>>> len(files)
2
>>> files[0]
<sdesk.api.resources.File object at 0x7f9d3df0c898>
>>> files[0].name
'EXCELDATA.xlsx'

List Entry’s Files

>>> files[0].owner
<sdesk.api.resources.User object at 0x7f9d3defeb70>
>>> files[0].owner.full_name
'Albert Shulte'
>>> files[0].name
'EXCELDATA.xlsx'

Create a Notebook Entry

>>> entry = client.create_entry(
...     notebook_id=16,
...     description="This entry was created via automation script",
...     title="Logging Excel data file",
... )
>>> entry.title
'Logging Excel data file'
>>> entry.id
21
>>> entry.code
1

Upload File to a Notebook’s Entry

>>> file = client.upload_file(17, entry.code, 'NewFileData.xlsx')
>>> file.id
114
>>> file.name
'NewFileData.xlsx'
>>> file.url
'/api/notebooks/upldfiles/114/download/'

Get File Info

>>> file = client.get_file_info(file_id=114)
>>> file.name
'NewFileData.xlsx'
>>> file.id
114
>>> file.url
'/api/notebooks/upldfiles/114/download/'

References

You may check sdesk.api.client.SdeskClient for more details regarding the current methods.

For resource attributes you may refer to sdesk.api.resources

Indices and tables