Skip to main content

Helper library for curvenote versioning and tracking with Jupyter notebooks

Project description

The Curvenote Python client library and Command Line Interface. Access and interact with your projects via the Curvenote API.

Installation

~$ python -m pip install curvenote

Retrieve your API_TOKEN from curvenote support

CLI Usage

Access Curvenote projects via the command line. Get help on commands by:

~$ python -m curvenote --help
~$ python -m curvenote COMMAND --help

Command Summary

  • get-me list my user information
    ~$ python -m curvenote get-me API_TOKEN
  • get-my-projects list all projects that the current user has access to
    ~$ python -m curvenote get-my-projects API_TOKEN
  • push upload local documents into a curvenote project. .md (import and update existing) and .ipynb (import new only) files supported
    ~$ python -m curvenote push PATH PROJECT API_TOKEN
  • pull-as-latex create a local latex project and download contents of a Curvenote article into it
    ~$ python -m curvenote push TARGET PROJECT ARTICLE API_TOKEN --version=INTEGER

Python Client Usage

From Python - get curvenote blocks:

>>> import curvenote
>>> session = curvenote.Session(token=API_TOKEN)
>>> session.me()
>>> session.my_projects()
>>> session.get_block_latest(PROJECT_ID, BLOCK_ID)
>>> ...

From Python - push a local folder to a curvenote project:

>>> import curvenote
>>> session = curvenote.Session(token=AUTHORIZATION_TOKEN)
>>> proj = session.get_project("My Cool Project")
>>> session.push_folder("./cool_stuff/", proj)
>>> ...

There is also limited CLI functionality, though this still requires the Python installation:

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page