{"id":13747096,"url":"https://github.com/scanner-research/esper-tv","last_synced_at":"2026-03-07T02:35:10.652Z","repository":{"id":49695788,"uuid":"86787427","full_name":"scanner-research/esper-tv","owner":"scanner-research","description":"Esper instance for TV news analysis","archived":false,"fork":false,"pushed_at":"2022-11-11T07:31:09.000Z","size":147527,"stargazers_count":40,"open_issues_count":18,"forks_count":10,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-12T04:42:38.670Z","etag":null,"topics":["big-data","docker","google-cloud","video","visualization"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scanner-research.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-31T06:48:48.000Z","updated_at":"2025-03-15T18:10:11.000Z","dependencies_parsed_at":"2022-08-19T13:41:11.779Z","dependency_job_id":null,"html_url":"https://github.com/scanner-research/esper-tv","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/scanner-research/esper-tv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scanner-research%2Fesper-tv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scanner-research%2Fesper-tv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scanner-research%2Fesper-tv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scanner-research%2Fesper-tv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scanner-research","download_url":"https://codeload.github.com/scanner-research/esper-tv/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scanner-research%2Fesper-tv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30206086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T19:07:06.838Z","status":"online","status_checked_at":"2026-03-07T02:00:06.765Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["big-data","docker","google-cloud","video","visualization"],"created_at":"2024-08-03T06:01:14.842Z","updated_at":"2026-03-07T02:35:10.633Z","avatar_url":"https://github.com/scanner-research.png","language":"Jupyter Notebook","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"readme":"# Esper [![Build Status](https://travis-ci.org/scanner-research/esper.svg?branch=master)](https://travis-ci.org/scanner-research/esper)\n\n**WARNING**: Esper is not in a working state right now for anyone but the maintainers of the repository. Do not attempt to use it until further notice.\n\nEsper is a framework for exploratory analysis of large video collections. Esper takes as input set of videos and a database of metadata about the videos (e.g. bounding boxes, poses, tracks). Esper provides a web UI (shown below) and a programmatic interface ([Jupyter](http://jupyter.org/) notebook) for visualizing and analyzing this metadata. Computer vision researchers may find Esper a useful tool for understanding and debugging the accuracy of their trained models.\n\n* [Setup](https://github.com/scanner-research/esper#setup)\n* [Demo](https://github.com/scanner-research/esper#demo)\n* [Getting started](https://github.com/scanner-research/esper#getting-started)\n\n![Esper interface](https://user-images.githubusercontent.com/663326/33038924-e656a51a-cdfb-11e7-835d-9d215b3dd93c.png)\n\n\n## Setup\nFirst, install [Docker CE](https://docs.docker.com/engine/installation/#supported-platforms), [Python 3.5](https://www.python.org/downloads/), [jq](https://stedolan.github.io/jq/download/), and [pip](https://pip.pypa.io/en/stable/installing/). If you're on Ubuntu, you can install Python/pip/jq as follows:\n```\nsudo apt-get install python3 python3-pip jq\n```\n\nEnsure that you have Docker version \u003e= 17.12, which you can check by running:\n```\n$ docker --version\nDocker version 17.12.0-ce, build c97c6d6\n```\n\n\u003e Note: If you have a GPU and are running on Linux, then install [nvidia-docker2.](https://github.com/NVIDIA/nvidia-docker). Set `gpu = true` in `config/local.toml`.\n\nNext, you will need to configure your Esper installation. If you are using Google Cloud, follow the instructions in [Getting started with Google Cloud](https://github.com/scanner-research/esper/blob/master/guides/google.md) and replace `local.toml` with `google.toml` below. Otherwise, edit any relevant configuration values in `config/local.toml`. Then run:\n\n```\n$ git clone --recursive https://github.com/scanner-research/esper\n$ cd esper\n$ pip3 install -r requirements.txt\n$ python3 configure.py --config config/local.toml\n$ docker-compose up -d\n$ docker-compose exec app ./deps/install-rust.sh\n$ docker-compose exec app bash -c \"source /root/.cargo/env \u0026\u0026 ./deps/install.sh\"\n$ docker-compose exec app bash -c \"npm install \u0026\u0026 npm run build\"\n```\n\nIf you run into an error `Directory '.' is not installable. File 'setup.py' not found.`, then you did not clone with the `--recursive` flag. You need to run:\n\n```\n$ git submodule init\n$ git submodule update\n```\n\nNow you have successfully setup Esper! Visit [http://localhost](http://localhost) (or whatever server you're running this on) to see the frontend. You will see a query interface, but we can't do anything with it until we get some data. Go through the [Demo](https://github.com/scanner-research/esper#demo) below to visualize some sample videos and metadata we have provided.\n\n**:warning: WARNING :warning:**: Esper is a tool for programmers. It uses a programmatic query interface, which means we use **_REMOTE CODE EXECUTION_** to run queries. DO NOT expose this interface publicly, or else risk having a hacker trash your computer, data, and livelihood.\n\n### Troubleshooting\n\n* **Cannot connect to the Docker daemon**: make sure that Docker is actually running (e.g. `docker ps` should not fail). On Linux, make sure you have non-sudo permissions (run `sudo adduser $USER docker`). On OS X, make sure the Docker application is open (should see a whale in your icon tray).\n\n* **Permissions errors with pip**: either run pip with `sudo` or consider using a [virtualenv](https://virtualenv.pypa.io/en/stable/installation/).\n\n* **`sh: 0: getcwd() failed: No such file or directory`**: please file an issue w/ reproducible steps if this happens. Should only occur on OS X.\n\n\n## Demo\n\nWe have premade a sample database of frames and annotations (faces and poses) for [this video](https://www.youtube.com/watch?v=dQw4w9WgXcQ). This demo will have you load this database into your local copy of Esper and run a few example queries against it.\n\nFirst, enter the Esper application container with `docker-compose exec app bash`. Then run:\n```\n$ wget https://storage.googleapis.com/esper/example-dataset.tar.gz\n$ tar -xf example-dataset.tar.gz\n$ esper-run query/datasets/default/import.py\n```\n\nThen visit [http://localhost](http://localhost) to see the web UI. A query has been pre-filled in the search box at the top--click \"Search\" to see the results, in this case to show all the detected faces in the video. Click \"Show example queries\" to see and run more examples.\n\nNext, check out the Jupyter programming environment by visiting [http://localhost:8888/notebooks/notebooks/example.ipynb](http://localhost:8888/notebooks/notebooks/example.ipynb). To log into the Jupyter notebook, get the token by running `./scripts/jupyter-token.sh` outside the container.\n\n\n## Getting started\n\nTODO(wcrichto): getting started with your own dataset\n\n## Contributing\n\nTODO(wcrichto): more details here\n\nInstall [jq](https://stedolan.github.io/jq/). Then run this:\n```\ngit config --local include.path ../.gitconfig\n```\n\n### Testing\n\nTo add new test suites to the build, add a script running the test suite to `scripts` and add a line to run the script in the script section of `.travis.yml`. Right now the only testing that happens is in `esper/app/test`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscanner-research%2Fesper-tv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscanner-research%2Fesper-tv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscanner-research%2Fesper-tv/lists"}