Skip to main content

Stave is a fast, lightweight, extensible web-based text annotation and visualization tool designed to support a wide range of data types and NLP tasks.

Project description




License Build Status

This project is currently under development.

Stave is a fast, lightweight, extensible web-based text annotation and visualization tool designed to support a wide range of data types and NLP tasks. Stave offers the following features:

  • Semantic Annotation: supports both template and custom data types
  • Multi-document Annotation: supports cross-document annotations and coreference
  • Customizable Interface: supports creation of task-specific interface with independently developed plugins
  • Machine-Human Collaboration: keeps human in the loop to verify and correct machine suggestions
  • Easy Integration: supports seamless integration with pre-built NLP workflows
  • Safe Data Serialization: supports a JSON-serializable format for easy data saving, loading and distribution

Stave was originally developed and is actively contributed by Petuum in collaboration with other institutes. A mirror of this repository is maintained by Petuum Open Source.

Get Started

Installation

pip install stave

Quick Start

stave -s start -l -o

This will start the Stave server with example project loaded. -s allows Stave to run with all the default configuration. -l will load example projects and -o will open a browser window. If you want to start Stave as a headless server, simply remove the -o flag. You can log in with default user name admin and default password admin. You can start viewing the projects and some annotations/applications that we have prepared.

Or if you just want to start Stave from scratch, you can:

stave start

You can still log in with default user name admin and default password admin, which leads you to an empty project page.

At any time, you can still load the example projects:

stave load-samples

Stave Configuration

After you start the Stave server, a .stave/ folder is automatically created under your home directory ~. It has the following structure:

~/.stave/
---- stave.conf
---- db.sqlite3
---- log
  • stave.conf holds a json object of configurations.
  • db.sqlite3 is the default database for Stave server.
  • log is the default logging file.

You can view or update the configuration by running the subcommand config. You may follow the prompts to interactively set up the configuration:

stave config -i

For more information, refer to:

stave config -h

More about the command line tool:

To learn more about Stave CLI, run the following command to see the help message:

stave -h

Developer Quick Start

Environment

The project is tested on:

Python 3.6+ Django 3.2.4 yarn 1.22.10

Run Django server

  • cd simple-backend
  • make sure your python command is using python3, or use a virtual env by:
    • python3 -m venv venv create virtual env (skip if already created)
    • . venv/bin/activate use virtual env
  • make sure django is installded, or install it by:
    • python -m pip install Django
  • ./start-dev.sh
    • This script will create an example sqlite3 DB from SQL: db.sqlite3

Start the Frontend

After the server starts, then simply

The default username/password for the demonstration data is admin/admin

License

Apache License 2.0

Companies and Universities Supporting Stave

                  

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stave-0.0.2.tar.gz (1.9 MB view hashes)

Uploaded Source

Built Distribution

stave-0.0.2-py3-none-any.whl (2.0 MB view hashes)

Uploaded Python 3

Supported by

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