Skip to content

Commit

Permalink
Release 0.7.5 (#399)
Browse files Browse the repository at this point in the history
* Release 0.7.5

* Massive LSF rework (#403)

* LSF with new deserialization and changed structure

* Update LSF js

* Hostname for enternal LS usage. Docker with hostname passthrough.

* Username and password to docker.

* update s3 signature version to s3v4 to support more aws regions (#402)

* Release 0.7.4.post0 (#400)

* Release 0.7.4.post0 label-studio-converter version.

* Docs and version.

* update s3 signature version to s3v4 to support more aws regions

Co-authored-by: Max <[email protected]>

* Update ml.md (#404)

* Release 0.7.4.post0 (#400)

* Release 0.7.4.post0 label-studio-converter version.

* Docs and version.

* Update ml.md

* Update ml.md

Co-authored-by: Max <[email protected]>

* Logs for ML backend.

* LSF build.

* Ui fixes.

* Fixes and addions for task validation in cloud storages.

* Check for raise.

* Back raise.

* fix un-error for ML backend, add parse_config docstring

* Move project loading line.

* methods

* Bugfixes with project_obj and docs.

* New LSF build.

* Improvements of navigation with hotkeys.

* Minimum formatting of completed_at (#397)

* Minimum formatting of completed_at

* Fix skip formatting None timestamp

* Doc fixes.

* Fix order of completion picking

* Docs fixes.

* Pretty fixes.

* New LSF build.

* Mobile UI fix.

* More mobile fixes.

* Min height for tr in tasks.

* Docs fixes.

* Usage stats docs.

* Docs fixes.

* Docs about frontend.

* Docs frontend fixes.

* Docs fixes.

* Docs for LS modules.

* Docs fixes.

* LSF build from tmp/deserialize.

* New LSF build.

* LSF build from tmp/deserialize.

* New LSF build from tmp/deserialize.

* maintain ordering in source.json and task.json (#414)

Co-authored-by: dhruv <[email protected]>

* Docs preview in iframe.

* New LSF build from tmp/deserialize.

* Loader for open preview.

* Keypoint docs fix with stroke width.

* Docs fix with ml-backend-url.

* Active learning docs in ml backend.

* ML examples docs.

* New LSF build from tmp/deserialize.

* Docs CORS new image added.

* Latest LSF tmp/deserialize build

* Fix LSF bug with initialization

* Fix headshot export dimmer

* Reduce debug logs on next task

* Remove huge data from console while debug

* Hide skip button on tasks page

* Add table example with text fields

* New LSF build from tmp/deserialize

* Move external fonts to LS. Bug fix with accordion and checkboxes.

* Change version 0.7.5rc1

* ML patch

* Update docs

* Latest LSF build with tmp/deserialization

* Fix buttons "Start Predictions" and "Remove ML backend" for Firefox (#439)

* Fix correct templates_dir from config.json

* Fix deprecated deploy to azure button

* Litte fix with deploy buttons

* Fix docs

* Show task code column

* UI fixes

* Reworked size of left and right panels on tasks page

* Fix size of right panel. rc3 release

* Make left and right panels true responsible

* Add call to ml backend to get task prediction on api/task/<id>

* Add Table type to _DATA_TYPES

* Add Table example data

* Add playground examples

* Lates LSF build with Text/HyperText fixes

* Add host & protocol & port help for external domain

* Upgrade pip in docker

* Update tag docs

* Change version to rc5

* Fix docs with init without project name

* Patch storages

* Update pip version in requirements.txt

* Change six version

* New LSF build from tmp/deserialize

* Fix Project.next_task to sort task IDs for "sequential" sampling (#442)

* Feature/e2e (#445)

* Add e2e test with some README

* Add test for TextArea classification

* Improve e2e config

Decrease waiting time;
Add test runner which keeps previous project;

* Fix tests to run in headless mode; fix names

* Add test for autosave

* Add GitHub Action for e2e testing

* Run label_studio from sources for e2e tests in CI

* Configure python and install dependencies

* Remove test for autosave; fix blinking test

* Rename CI step

* Back server.py

* Finally master from LSF with new structure

* Add previews for audio & text

* New LSF build from master

* Add text preview limit

* Fix icons

* Simplify globals, counters & analytics

* Fix for hotkeys crashing the app in label stream

* Fix typos & comments'

* New LSF build from master

* Fixing task preview race condition

* Don't keep premade predictions in completion (#430)

they are maintained in source storage

* Keep premade predictions if we can't get fresh (#429)

* Reduce LSF init timeout

* Fix tasks page

* Fix actions workflow

* Fix empty input_args.project_name

* Remove get_all_tasks action from tests

* Add more hotkeys

* New LSF build from master

* Add polling status to project info and api tasks

* Fix small

* Fix first element toggle on tasks page

* New LSF build from master

* Fix api_import endpoint

* Handle exceptions

* Fix bug with no request json

* Latest LSF fixes

* Update LSF build from master

* Make hotkeys for tasks no depending to layout

* Back video sample

* Update LSF build from master

* Add more detailed validation message

* Prettify code tasks page

* Correct code more

* Correct welcome

* Correct model page

* Prettify image address

* Correct error page

* Fix template dialog and conversation

* Hide temporary broken pairwise

* Back ranker docs

* Fix ranker docs order

* Fix encoding in setup.py

* Fix e keycode on tasks page

* Support import completion

* Update LSF build with fixed pairwise

* Add template name title

* Reworked import completions

* Update LSF version

* Update LSF build with brush fix

Co-authored-by: hlomzik <[email protected]>
Co-authored-by: Wouter Devriendt <[email protected]>
Co-authored-by: jeannefukumaru <[email protected]>
Co-authored-by: nik <[email protected]>
Co-authored-by: Hikonobu Kurihara <[email protected]>
Co-authored-by: Dhruv Mishra <[email protected]>
Co-authored-by: dhruv <[email protected]>
Co-authored-by: Dario Saccavino <[email protected]>
Co-authored-by: Kazuo Kashima <[email protected]>
Co-authored-by: Nikita Skryabin <[email protected]>
Co-authored-by: hepaajan <[email protected]>
  • Loading branch information
12 people authored Oct 13, 2020
1 parent d0ddb68 commit 47fc8dc
Show file tree
Hide file tree
Showing 122 changed files with 5,783 additions and 1,409 deletions.
40 changes: 40 additions & 0 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: label-studio:tests

on:
push:
branches: ['*', '*/*', master]

jobs:
tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- uses: actions/setup-python@v2
with:
python-version: '3.x'
- uses: py-actions/py-dependency-install@v2
- run: pip install -e .

- uses: actions/setup-node@v1
with:
node-version: 12
# cache npm deps for faster runs
- name: Cache node modules
uses: actions/cache@v1
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: npm-${{ runner.os }}-${{ hashFiles('e2e/package-lock.json') }}
restore-keys: |
npm-${{ runner.os }}-
- run: cd e2e && npm ci
- run: cd e2e && npm run test:headless

- uses: actions/upload-artifact@master
if: ${{ failure() }}
with:
name: e2e output
path: e2e/output/
2 changes: 2 additions & 0 deletions .github/workflows/master.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ jobs:
run: |
label-studio init my_project
- name: Test with pytest
env:
collect_analytics: 0
run: |
coverage run -m --source=label_studio pytest
coverage report -m --fail-under=40
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,3 +53,4 @@ label-studio-projects
build/
dist/
venv/
tmp/
8 changes: 7 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,16 @@ WORKDIR /label-studio

# Copy and install requirements.txt first for caching
COPY requirements.txt /label-studio
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

ENV PORT="8080"
ENV PROJECT_NAME=my_project
ENV PROJECT_NAME="my_project"
ENV HOST=0.0.0.0
ENV PROTOCOL=http://
# basic auth params
ENV USERNAME=""
ENV PASSWORD=""

EXPOSE ${PORT}

Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Label Studio &middot; ![GitHub](https://img.shields.io/github/license/heartexlabs/label-studio?logo=heartex) ![label-studio:build](https://github.com/heartexlabs/label-studio/workflows/label-studio:build/badge.svg) ![code-coverage](https://github.com/heartexlabs/label-studio/blob/master/.github/test-coverage.svg) ![GitHub release](https://img.shields.io/github/v/release/heartexlabs/label-studio?include_prereleases) &middot;

[Website](https://labelstud.io/)[Docs](https://labelstud.io/guide/)[Twitter](https://twitter.com/heartexlabs)[Join Slack Community <img src="https://go.heartex.net/docs/images/slack-mini.png" width="18px"/>](https://join.slack.com/t/label-studio/shared_invite/zt-cr8b7ygm-6L45z7biEBw4HXa5A2b5pw)
[Website](https://labelstud.io/)[Docs](https://labelstud.io/guide/)[Twitter](https://twitter.com/heartexlabs)[Join Slack Community <img src="https://app.heartex.ai/docs/images/slack-mini.png" width="18px"/>](https://join.slack.com/t/label-studio/shared_invite/zt-cr8b7ygm-6L45z7biEBw4HXa5A2b5pw)

<br/>

Expand Down Expand Up @@ -129,8 +129,10 @@ INIT_COMMAND=--init --force

## One Click Deploy

You can deploy LS right now in one click on any of these clouds:

[<img src="https://www.herokucdn.com/deploy/button.svg" height="30px">](https://heroku.com/deploy)
[<img src="https://azurecomcdn.azureedge.net/mediahandler/acomblog/media/Default/blog/deploybutton.png" height="30px">](https://azuredeploy.net/)
[<img src="https://aka.ms/deploytoazurebutton" height="30px">](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fheartexlabs%2Flabel-studio%2Fmaster%2Fazuredeploy.json)
[<img src="https://deploy.cloud.run/button.svg" height="30px">](https://deploy.cloud.run)

## Features :star2:
Expand Down
4 changes: 3 additions & 1 deletion docs/Tags.md
Original file line number Diff line number Diff line change
Expand Up @@ -497,7 +497,9 @@ Table tag, show object keys and values in a table
### Examples

```html
<Table name="text-1" value="$text"></Table>
<View>
<Table name="text-1" value="$text"></Table>
</View>
```

## View
Expand Down
1 change: 1 addition & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,4 @@ search:
path: search.xml
field: all
content: true

8 changes: 8 additions & 0 deletions docs/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
"hexo-renderer-marked": "^2.0.0",
"hexo-renderer-stylus": "^0.3.3",
"hexo-server": "^0.3.3",
"save": "^2.4.0"
"save": "^2.4.0",
"hexo-tag-details": "^0.1.7"
},
"scripts": {
"server": "hexo serve",
Expand Down
9 changes: 9 additions & 0 deletions docs/source/blog/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,16 @@
color: #777;
}

.sidebar {
display: none;
}

@media screen and (max-width: 900px) {

.sidebar {
display: flex;
}

@media only screen and (max-width: 768px) {
.grid {
width: auto;
Expand Down
109 changes: 109 additions & 0 deletions docs/source/guide/FAQ.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
---
title: FAQ
type: guide
order: 101
---

Frequently asked questions about setup and usage.

## Image/audio/resource loading error while labeling

The most common mistake while resource loading is <b>CORS</b> (Cross-Origin Resource Sharing) problem or Cross Domain. When you are trying to fetch a picture from external hosting it could be blocked by security reasons. Go to browser console (Ctrl + Shift + i for Chrome) and check errors there. Typically, this problem is solved by the external host setup.

<br>
<center>
<img src='../images/cors-lsf-error.png' style="max-width:300px; opacity: 0.8">
<br/><br/>
<img src='/images/cors-error.png' style="max-width:500px; opacity: 0.8">
<br/><br/>
<img src='/images/cors-error-2.png' style="max-width:500px; opacity: 0.8">
</center>

* If you have an access to the hosting server as admin then you need to allow CORS for the web server. For nginx you can try to add <a href="javascript:void(0)" onclick="$('#nginx-cors-code').toggle()">these lines</a> to `/etc/nginx/nginx.conf` into your `location` section:

<span id="nginx-cors-code" style="display: none">
```
location <YOUR_LOCATION> {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
#
# Tell client that this pre-flight info is valid for 20 days
#
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
if ($request_method = 'POST') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
if ($request_method = 'GET') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
}
}
```
</span>

* If you use Amazon S3 with LS [read this manual](storage.html#CORS-and-access-problems).

* If you use Google Storage with LS [read this manual](storage.html#CORS-and-access-problems-1).

* Not every host supports CORS setup, but you may to try find these settings in the admin area.

<br/>

## How to make pre-annotations & pre-labeling
You can import pre-annotated tasks into LS. Pre-annotations will be automatically shown on Labeling page. Prepare your tasks with `predictions` field which is very similar to `completions` and then import your tasks to LS. [Read more](tasks.html#Basic-format) about task format and predictions.


```json
[{
"data": {
"my_text": "Opossum is great"
},

"predictions": [{
"result": [{
"from_name": "sentiment_class",
"to_name": "message",
"type": "choices",
"value": {
"choices": ["Positive"]
}
}]
}]
}]
```

## How to display labels on bounding boxes, polygons and other regions
<center>
<img src='../images/lsf-settings.png'>
</center>

## How to run LSB with external domain name

If you want to run LSB with some domain name you need to use Host, Protocol, Port parameters at LS run. They are responsible for correct URLs while a resource files import (images, audio, etc) and sample tasks generation.

There are several possible ways to do it:

1. Replace these parameters inside of your `project/config.json` (or `label_studio/utils/schema/default_config.json` from LSB package directory).
2. Specify these parameters at start: `label-studio start --host label-studio.example.com --protocol http:// --port 8080`.
3. For docker usage: specify environment variables `HOST`, `PROTOCOL`, `PORT` while docker setup.

LSB web server always use `0.0.0.0` address for start. But if you really need to change it to `localhost` just set Host as `localhost` and web server will start at `localhost`.

<br/>
<center>
<img style="opacity: 0.75" src='../images/host-protocol-port.png'>
</center>
11 changes: 7 additions & 4 deletions docs/source/guide/export.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ The output data is stored in _completions_ - JSON formatted files, one per each

```json
{
"id": 1,

"data": {
"image": "https://htx-misc.s3.amazonaws.com/opensource/label-studio/examples/images/nick-owuor-astro-nic-visuals-wDifg5xc9Z4-unsplash.jpg"
},

"completions": [
{
"id": "1001",
Expand All @@ -43,10 +49,7 @@ The output data is stored in _completions_ - JSON formatted files, one per each
]
}
],
"data": {
"image": "https://htx-misc.s3.amazonaws.com/opensource/label-studio/examples/images/nick-owuor-astro-nic-visuals-wDifg5xc9Z4-unsplash.jpg"
},
"id": 1,

"predictions": [
{
"created_ago": "3 hours",
Expand Down
Loading

0 comments on commit 47fc8dc

Please sign in to comment.