Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.
/ doccano-client Public archive
forked from doccano/doccano-client

A simple client wrapper for doccano API.

License

Notifications You must be signed in to change notification settings

classi/doccano-client

 
 

Repository files navigation

Doccano API Client

A simple client wrapper for the doccano API.

Installation

To install doccano-client, simply run:

pip install doccano-client

Usage

  • Object instantiation takes care of session authorization.
  • All methods return a requests.models.Response object.
from doccano_api_client import DoccanoClient

# instantiate a client and log in to a Doccano instance
doccano_client = DoccanoClient(
    'http://doccano.example.com',
    'username',
    'password'
)

# get basic information about the authorized user
r_me = doccano_client.get_me()

# print the details from the above query
print(r_me())

# get the label text from project 1, label 3
label_text = doccano_client.get_label_detail(1, 3)()['text']

# upload a json file to project 1. If file is in current directory, file_path is omittable
r_json_upload = doccano_client.post_doc_upload(1, 'json', 'file.json', '/path/to/file/without/filename/')

Completion

This wrapper's methods are based on doccano url paths.

Key:

  • ✔️ implemented
  • ❌ not implemented
  • ⚠️ currently broken or improperly implemented

Endpoint Names:

  • ✔️ auth-token
  • ✔️ me
  • ✔️ user_list
  • ✔️ roles
  • ✔️ features
  • ✔️ project_list
  • ✔️ project_detail
  • ✔️ statistics
  • ✔️ label_list
  • ✔️ label_detail
  • label_upload
  • ✔️ doc_list
  • ✔️ doc_detail
  • ✔️ doc_uploader
  • cloud_uploader
  • ✔️ approve_labels
  • ✔️ annotation_list
  • ⚠️ annotation_detail
  • ✔️ doc_downloader
  • ✔️ rolemapping_list
  • ⚠️ rolemapping_detail

To-Do

  • investigate more secure alternatives to plaintext login
  • improve docstrings

About

A simple client wrapper for doccano API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.0%
  • Makefile 1.0%