Skip to content
Example usage of Exabyte.io platform through its RESTful API: programmatically create materials and modeling workflows, execute simulations on the cloud, analyze data and build machine learning models
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples
.gitattributes
.gitignore
README.md
requirements.txt

README.md

Exabyte API Examples

This repository explains how to perform some of the most common tasks in the Exabyte.io platform through its RESTful application programming interface (REST API) [1] by virtue of examples. Examples are grouped together by domain (eg. "materials") and are presented in a self-documented format inside Jupyter notebooks [2]. In order to view the content online, navigate to a notebook page inside this repository.

Setup

Follow the steps below in order to setup and view the Jupyter notebooks:

  1. Install git-lfs [3] in order to get access to the source code and notebook files.

  2. Clone repository:

    git clone git@github.com:Exabyte-io/exabyte-api-examples.git

    In case for some reason git-lfs was not installed at the time of cloning, the files can be pulled after subsequent installation later, through git lfs pull.

  3. Install virtualenv using pip if not already present:

    pip install virtualenv
  4. Create virtual environment and install required packages:

    cd exabyte-api-examples
    virtualenv .env
    source .env/bin/activate
    pip install -r requirements.txt
  5. Run Jupyter and open a notebook in a browser:

    cd examples
    jupyter notebook --config=config.py

Usage

In order to run or edit the examples:

  1. Assert an existing Exabyte.io account. Examples require an account to run. New users can register here to obtain one.

  2. Open settings and adjust it to provide the API authentication parameters. See the corresponding example to learn how to obtain the authentication parameters.

  3. Open the desired example notebook, adjust it as necessary and run.

Contribute

This is an open-source repository and we welcome contributions for other use cases. The original set of examples is only meant to demonstrate the capabilities and can be extended.

We suggest forking this repository and introducing the adjustments there. The changes in the fork can further be considered for merging into this repository as it is commonly used on Github. This process is explained in more details elsewhere online [4].

If you would like to add new examples or adjust existing ones, please consider the following:

  1. Put examples into the corresponding directories by domain.

  2. Walk the readers through the examples by providing step-by-step explanation similar to this.

  3. We use post-save hooks to automatically convert notebooks to python scripts. See config file for more information. In order to facilitate code review, we exclude notebook sources from version control and store them in Git LFS [3]. Please follow this convention.

Links

  1. Exabyte.io RESTful API, description in the online documentation: link
  2. Jupyter.org, official website: link
  3. Git Large File Storage, official website: link
  4. GitHub Standard Fork & Pull Request Workflow, online explanation: link
You can’t perform that action at this time.