The noteable API interface
Project description
papermill-origami
A papermill engine for running Noteable notebooks
Install | Getting Started | License | Code of Conduct | Contributing
Requirements
Python 3.8+
Installation
Poetry
poetry add papermill-origami
Pip
pip install papermill-origami
Getting Started
API Token
Get your access token from your User Settings -> API Tokens
or alternatively you can generate a post request to generate a new token
curl -X 'POST' \
'https://app.noteable.io/gate/api/v1/tokens' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"ttl": 31536000,
"name": "my_token"
}'
Engine Registration
The noteable
engine keyword will use the following environment variables by default:
NOTEABLE_DOMAIN = app.noteable.io
NOTEABLE_TOKEN = MY_TOKEN_VALUE_HERE
Then the engine is enabled by running papermill as normal. But now you have access to
the noteable://
scheme as well as the ability to tell papermill to use Noteable as
the execution location for your notebook.
import papermill as pm
file_id = '...'
pm.execute_notebook(
f'noteable://{file_id}',
None, # Set no particular output notebook, but a log of the resulting exeuction link still prints
# This turns on the Noteable API interface
engine_name='noteable', # exclude this kwarg to run the Notebook locally
)
Advanced Setup
For more advanced control or reuse of a NoteableClient SDK object you can use the async await pattern around a client constructor. This reuses the connection throughout the life cycle of the context block.
import papermill as pm
from papermill.iorw import papermill_io
from papermill_origami import ClientConfig, NoteableClient, NoteableHandler
domain = 'app.noteable.io'
token = MY_TOKEN_VALUE_HERE
file_id = '...'
async with NoteableClient(token, config=ClientConfig(domain=domain)) as client:
file = await client.get_notebook(file_id)
papermill_io.register("noteable://", NoteableHandler(client))
pm.execute_notebook(
f'noteable://{file_id}',
None,
engine_name='noteable',
# Noteable-specific kwargs
file=file,
client=client,
)
Contributing
See CONTRIBUTING.md.
Open sourced with ❤️ by Noteable for the community.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for papermill_origami-0.0.8-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e97003ae2020c179791817d26b0a41a439d1c2c6d090aeda05e7be28b0ef0ea |
|
MD5 | 88d88176930eb41f11ff950fbfd39a85 |
|
BLAKE2b-256 | bc446d3264bea8906547b9c2ef8e8a69f68ec780dfefea5e8c5de2d450e289a6 |