Skip to main content

A tkinter GUI for uploading tagged data to Girder and Zotero.

Project description

Uploading tagged data to Girder and Zotero using a GUI

Getting Started


1. Install python3

Any python above 3.6 should be fine. Python 3.8 is recommended. You can install python3 from one of the following:

  • Download from the python official website here.
  • Install python3 using brew if you are using macOS brew install python@3.8
  • Install python3 using pyenv. See here.


If you used pyenv to install Python on a Mac, tkinter might not be integrated by default. To install tkinter lib, you have to first uninstall your current python (if python is already installed), then reinstall it with:

PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I/usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'" 
pyenv install {your python version}

2. Create Girder API key

A Girder API Key is needed in order to Login the Girder System.

  1. Login NutritionalLungImmunity. Create an account if you don't have one.
  2. Click your username on the top right -> MyAccount -> API Keys Tab -> Create new key. Keep this key private!

3. Create a Zotero API Key (optional)

If you want to attach Zotero Item with the tag list from Girder, a Zotero API Key is needed.

  1. Login Zotero. Go to account setting page.
  2. Click Create new private key.
  3. Under Personal Library, check all options. Under Default Group Permissions, select Read/Write. Then click Save key.
  4. Mark down the pop-up API key. Save it in a safe place.


  1. Install the virtual environment package

    python3 -m pip install virtualenv (on Windows add .exe to python3)

    If you have trouble with permission issues installing any packages system-wide, you may have more luck by installing them as user-local packages:

    python3 -m pip install --user virtualenv

  2. Create and move to a directory where you want to keep the virtual environment

    mkdir my-nlidatamanagement; cd my-nlidatamanagement

  3. Create a virtual environment

    virtualenv -p python3 venv (on Windows add .exe to virtualenv)

  4. Enter the virtual environment:

    . venv/bin/activate

    on Windows: .\venv\bin\activate.bat

  5. Install the uploader into the virtual environment

    python3 -m pip install nlidatamanagement

  6. Launching the uploader


Note: To re-launch the program, perform steps 4 and 6.

Note 2: The virtual environment is optional and serves to simplify potential package dependency problems. If you wish to install the uploader outside the virtual environment, only the last two steps are required. Re-launch is done via step 6.

To update the tool to a new version, enter the virtual environment and run

python3 -m pip install --upgrade nlidatamanagement

Initialize Connection

Connect to Girder

  1. Click Upload to Girder and a new setting window will pop up.
  2. Under Add new Girder instance:
    • Give the new Girder instance a name.
    • For Host, type
    • Copy and paste your Girder API Key in the API Key
  3. Click the add button
  4. Select the new added Girder instance and click Connect

Connect to Zotero

  1. Click Upload to Zotero
  2. Add a new Girder Instance, if you haven't done it yet.
  3. Under Add new zotero Instance:
    • Give the new Zotero instance a name.
    • For Library ID, type 2345225
    • For Library Type, type group
    • Copy and paste your Zotero API Key in the API Key
  4. Click the add button
  5. Select both Girder instance and Zotero instance. Click Connect

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

nlidatamanagement-0.0.3.tar.gz (50.9 kB view hashes)

Uploaded Source

Built Distribution

nlidatamanagement-0.0.3-py3-none-any.whl (62.6 kB 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