Skip to main content

An interactive data annotation tool.

Project description

Interactive Data annotation, visualisation and recommendation.

Installation

mappable requires Python 3.6.1 or later. The preferred way to install mappable is via pip. You can install it with:

pip install mappable

Setting up a virtual environment

Conda can be used set up a virtual environment with the version of Python required for mappable. If you already have a Python 3 environment you want to use, you can skip to the 'installing via pip' section.

  1. Download and install Conda.

  2. Create a Conda environment with Python 3.7 (3.6 or 3.8 would work as well):

    conda create -n mappable python=3.7
    
  3. Activate the Conda environment. You will need to activate the Conda environment in each terminal in which you want to use mappable:

    conda activate mappable
    

Python Development

The Python service and Python cli are formatted using black and flake8. Currently this is run in a local environment using the app's requirements.txt. To run the linters:

black api/
flake8 api/

Development Prerequisites

Make sure that you have the latest version of Docker 🐳 installed on your local machine.

To start a version of the application locally for development purposes, run this command:

~ docker-compose up --build

This process launches 2 services, the ui and api. You'll see output from each.

It might take a minute or two for the application to start, particularly if it's the first time you've executed this command. Be patience and wait for a clear message indicating that all of the required services have started up.

As you make changes the running application will be automatically updated. Simply refresh your browser to see them.

Sometimes one portion of your application will crash due to errors in the code. When this occurs resolve the related issue and re-run docker-compose up --build to start things back up.

Deployment

Mappable is designed as a python package, with the UI packaged inside it. The package is built and pushed to Pypi when a git tag is pushed. This all happens in the .github/workflows/publish.yml in this repository.

The only difference to a standard package being built is that we first build the UI and copy it inside the api/mappable/static directory, which is where the mappable server looks to find the static UI files. Currently, this is done via the build_ui.sh script, which builds the UI inside a docker container and copies the result out, to make it easily replicable.

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

mappable-0.1.2.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mappable-0.1.2-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file mappable-0.1.2.tar.gz.

File metadata

  • Download URL: mappable-0.1.2.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for mappable-0.1.2.tar.gz
Algorithm Hash digest
SHA256 bea6f04b52ec37121f0da70b1a24ef022268b605d94928499341452431642781
MD5 724663933e197d586524d85aaa8c72c8
BLAKE2b-256 8f9448db38458df67bbb3a7d4328419cde0bedc8f690c75aa04dc79ecde41167

See more details on using hashes here.

File details

Details for the file mappable-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mappable-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12

File hashes

Hashes for mappable-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e0e3eaab489bdd1b04376e988c08514bee3b7060e0e733a10dc6e52af7448ae2
MD5 163fbd71fb1abc7623bfdea265691d13
BLAKE2b-256 408c59e7f70602f9b917d30fcb7e4873969dd2b79af62cf1e985876c0b1ccbbd

See more details on using hashes here.

Supported by

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