Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump breathe from 4.30.0 to 4.35.0 #1

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment information**
- OS: [e.g. Windows 11]
- Python Version: [e.g. Python3.8]
- Python Environment: [e.g. venv, conda, etc.]

**Additional context**
Add any other context about the problem here.
11 changes: 11 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
- package-ecosystem: "pip" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
34 changes: 34 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -348,3 +348,37 @@ MigrationBackup/

# Ionide (cross platform F# VS Code tools) working folder
.ionide/

# HAMS
log.out
/dist
__pycache__/
hdf5.dll
log.*
*.out
*.pyc
docs/_build/
*.mp4
*.csv
*.hog
*.avi
*.txt
*.pth
*.exe
*.dll
*.yml
*.yaml
*.toml
test_*/
out/
data/
*.jpg
*.png
.ipynb_checkpoints/

Dockerfile
docker-compose.*
GPL
binaries
output/
*output*/
4 changes: 4 additions & 0 deletions .gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
requirements.txt
docs/requirements.txt
docs/static/
.github/
18 changes: 18 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Nambi"
given-names: "Akshay"
- family-names: "Mehta"
given-names: "Ishit"
- family-names: "Ghosh"
given-names: "Anurag"
- family-names: "Lingam"
given-names: "Vijay"
- family-names: "Padmanabhan"
given-names: "Venkat"
title: "ALT: Towards Automating Driver License Testing using Smartphones"
version: 0.1.0
doi: https://doi.org/10.1145/3356250.3360037
date-released: 2017-12-18 #TODO
url: "https://github.com/microsoft/HAMS"
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Project
# HAMS ALT

> This repo has been populated by an initial template to help get you started. Please
> make sure to update the content to build a great experience for community-building.
![LICENSE](https://img.shields.io/github/license/microsoft/HAMS?style=for-the-badge) [![Dashboard](https://img.shields.io/website?down_message=Dashboard%20Offline&style=for-the-badge&up_color=green&up_message=Dashboard&url=https%3A%2F%2Fhams-dashboard.westus3.cloudapp.azure.com%2F)](https://hams-dashboard.westus3.cloudapp.azure.com) [![Documentation](https://img.shields.io/badge/docs-Documentation-blue?style=for-the-badge&logo=appveyor)](https://microsoft.github.io/HAMS)

As the maintainer of this project, please make a few updates:
This project contains the core components of the Automated License Testing(ALT) system from the HAMS group at Microsoft Research, India.

- Improving this README.MD file to provide a great experience
- Updating SUPPORT.MD with content about this project's support experience
- Understanding the security reporting process in SECURITY.MD
- Remove this section from the README
## Installation

1. Run `pip install git+https://github.com/microsoft/HAMS` to install the latest version
2. Downlaod the binaries from the [HAMS Releases](https://github.com/microsoft/HAMS/releases)
3. Refer to additional requirements and instructions on each of the modules in the `Tutorials` section of the [documentation](https://microsoft.github.io/HAMS).

## Contributing

Expand Down
25 changes: 8 additions & 17 deletions SUPPORT.md
Original file line number Diff line number Diff line change
@@ -1,25 +1,16 @@
# TODO: The maintainer of this repo has not yet edited this file

**REPO OWNER**: Do you want Customer Service & Support (CSS) support for this product/project?

- **No CSS support:** Fill out this template with information about how to file issues and get help.
- **Yes CSS support:** Fill out an intake form at [aka.ms/onboardsupport](https://aka.ms/onboardsupport). CSS will work with/help you to determine next steps.
- **Not sure?** Fill out an intake as though the answer were "Yes". CSS will help you decide.

*Then remove this first heading from this SUPPORT.MD file before publishing your repo.*

# Support

Please use the instructions below to file issues related to this repository.

## How to file issues and get help

This project uses GitHub Issues to track bugs and feature requests. Please search the existing
issues before filing new issues to avoid duplicates. For new issues, file your bug or
feature request as a new Issue.
This project uses GitHub Issues to track bugs. Please search the existing
issues before filing new issues to avoid duplicates. For new issues, file your bug as a new Issue following the standard templates.

For help and questions about using this project, please email [Akshay Nambi](https://www.microsoft.com/en-us/research/people/akshayn/) at: [[email protected]](mailto:[email protected])

For help and questions about using this project, please **REPO MAINTAINER: INSERT INSTRUCTIONS HERE
FOR HOW TO ENGAGE REPO OWNERS OR COMMUNITY FOR HELP. COULD BE A STACK OVERFLOW TAG OR OTHER
CHANNEL. WHERE WILL YOU HELP PEOPLE?**.
> Note: This project is not under active development, so no new feature requests will be added. Furthermore, please expect delay in response because of the same.

## Microsoft Support Policy

Support for this **PROJECT or PRODUCT** is limited to the resources listed above.
Support for this **PROJECT** is limited to the resources listed above.
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
23 changes: 23 additions & 0 deletions docs/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# About ALT

Inadequate driver skills and apathy towards/lack of awareness of safe driving practices are key contributing factors for the lack of road safety. The problem is exacerbated by the fact that the license issuing system is broken in India, with an estimated 59% of licenses issued without a test, making it a significant societal concern. The challenges arise from capacity and cost constraints, and corruption that plagues the driver testing process. While there have been efforts aimed at creating instrumented tracks to automate the license test, these have been stymied by the high cost of the infrastructure (e.g., pole-mounted high-resolution cameras looking down on the tracks) and poor test coverage (e.g., inability to monitor the driver inside the vehicle).

HAMS-based testing offers a compelling alternative. It is a low-cost and affordable system based on a windshield-mounted smartphone, though for reasons of scalability (i.e., handling a large volume of tests), we can offload computation to an onsite server or to the cloud. The view inside the vehicle also helps expand the test coverage. For instance, the test can verify that the driver taking the test is the same as the one who had registered for it (essential for protecting against impersonation), verify that the driver is wearing their seat belt (an essential safety precaution), and check whether the driver scans their mirrors before effecting a maneuver such as a lane change (an example of multimodal sensing, with inertial sensing and camera-based monitoring being employed in tandem).

HAMS-based testing allows the entire testing process to be performed without any human intervention. A test report, together with video evidence (to substantiate the test result in case of a dispute), is produced in an automated manner within minutes of the completion of the test. This manner of testing, with the test taken by the driver alone in the vehicle (i.e., no test inspector) has proved to be a boon in the context of the physical distancing norms arising from the COVID-19 pandemic.

## Deployments

To roll out HAMS-based driver testing, we first partnered with the Government of Uttarakhand and the Institute of Driving and Traffic Research (IDTR), run by Maruti-Suzuki. Testing is conducted on a track and includes a range of parameters including verification of driver identity, checking of the seat belt, fine-grained trajectory tracking during maneuvers such as negotiating a roundabout and performing parallel parking, and checking on mirror scanning during lane changing.

**HAMS-based driver license testing @ Dehradun, Uttarakhand:** [HAMS-based license testing went live at Dehradun Regional Transport Office (RTO)](https://news.microsoft.com/en-in/features/microsoft-ai-automates-drivers-license-test-india/), the capital of Uttarakhand state in July 2019. Till date, 10000+ automated tests (as of 15 Feb 2021) have been conducted, with an accuracy of 98%. The objectivity and transparency of the automated testing process has won the praise of not just the RTO staff but also the majority of the candidates, including many that failed the test. The thoroughness of HAMS-based testing is underscored by the fact that now the passing rate is only 54% compared to over 90% with the prior manual testing.

**Scaling HAMS deployments across India:** The success in Dehradun has spurred interest in HAMS-based automated testing across India and also overseas. RFPs issued by several states have called for capabilities such as continuous driver identification, gaze tracking, and mirror scan monitoring, that were not available before HAMS. HAMS-based testing has been rolled out in IDTR Aurangabad, Bihar, and is in process of being implemented at multiple RTOs across the country.

````{eval-rst}
.. youtube:: zFuIP5hI4yU
````

````{eval-rst}
.. youtube:: XtgpWXM5Hfg
````
117 changes: 117 additions & 0 deletions docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys
# sys.path.insert(0, os.path.abspath('~/Microsoft/OLA-Alt/HAMSApp/'))
# sys.path.insert(1, os.path.abspath('../'))
# sys.path.append(os.path.abspath('/Users/balli/Microsoft/'))
# sys.path.append(os.path.abspath('/Users/balli/Microsoft/Ola-ALT/'))
# sys.path.append(os.path.abspath('/Users/balli/Microsoft/Ola-ALT/HAMSApp/'))
# sys.path.append(os.path.abspath('/Users/balli/Microsoft/Ola-ALT/HAMSApp/ALT/'))
sys.path.append('../')
# sys.path.insert(2, os.path.abspath('../../'))
# sys.path.insert(3, os.path.abspath('../../'))


# -- Project information -----------------------------------------------------

project = 'HAMS'
copyright = '2023, Microsoft Research'
author = 'Anurag Ghosh, Harsh Vijay, Vaibhav Balloli, Jonathan Samuel, Akshay Nambi'

# The full version, including alpha/beta/rc tags
release = '0.1'


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.intersphinx",
"sphinx.ext.viewcode",
"sphinx.ext.doctest",
"sphinx.ext.autosummary",
"sphinx.ext.todo",
"sphinx.ext.coverage",
"sphinx.ext.mathjax",
"sphinx.ext.napoleon",
"sphinx.ext.autosectionlabel",
"sphinxemoji.sphinxemoji",
"breathe",
"sphinx_markdown_builder",
"sphinx_copybutton",
"jupyter_sphinx",
# "myst_nb",
"myst_parser",
"sphinx_proof",
"sphinx_design",
"sphinxcontrib.video",
"sphinx_togglebutton",
"sphinx_tabs.tabs",
"nbsphinx",
"sphinxcontrib.youtube",
]
autodoc_typehints = "description"
autodoc_class_signature = "separated"
autosummary_generate = True
autodoc_default_options = {
"members": True,
"inherited-members": True,
"show-inheritance": False,
}
autodoc_inherit_docstrings = True
myst_enable_extensions = ["colon_fence"]

nb_execution_mode = "off"
nbsphinx_allow_errors = True
nbsphinx_execute = "never"

# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]

html_theme_options = {
"repository_url": "https://github.com/microsoft/HAMS",
"use_repository_button": True,
"use_download_button": True,
}

html_title = "HAMS Docs"
# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
# html_theme = "furo"
html_theme = "sphinx_book_theme"

# removes the .txt suffix
html_sourcelink_suffix = ""


# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["static"]
# source_suffix = ['.rst', '.md']

autodoc_mock_imports = ['alabaster', 'amqp', 'anacondaclient', 'anacondaproject', 'anyjson', 'apscheduler', 'asncrypto', 'astroid', 'astropy', 'atomicwrites', 'attrs', 'autobahn', 'automat', 'babel', 'backcall', 'backportsos', 'backportsshutilgetterminalsize', 'bcrypt', 'beautifulsoup', 'billiard', 'bitarray', 'bkcharts', 'bleach', 'bokeh', 'boto', 'bottleneck', 'celery', 'celluloid', 'certifi', 'cffi', 'chardet', 'click', 'cloudpickle', 'clyent', 'cognitiveface', 'colorama', 'comtypes', 'constantly', 'contextlib', 'cryptography', 'cycler', 'cython', 'cytoolz', 'dask', 'decorator', 'defusedxml', 'distributed', 'dlib', 'dnspython', 'docutils', 'entrypoints', 'etxmlfile', 'eventlet', 'fastcache', 'filelock', 'filterpy', 'flask', 'flaskbcrypt', 'flasklogin', 'flaskmarshmallow', 'flasksession', 'flasksqlacodegen', 'flasksqlalchemy', 'flaskwkhtmltopdf', 'gevent', 'greenlet', 'hpy', 'haversine', 'heapdict', 'hexdump', 'hkdf', 'htmllib', 'humanize', 'hyperlink', 'idna', 'imageio', 'imagesize', 'importlibmetadata', 'incremental', 'inflect', 'ipykernel', 'ipython', 'ipythongenutils', 'ipywidgets', 'isort', 'itsdangerous', 'jdcal', 'jedi', 'jinja', 'jsonschema', 'jupyter', 'jupyterclient', 'jupyterconsole', 'jupytercore', 'jupyterlab', 'jupyterlabserver', 'keyring', 'kiwisolver', 'kombu', 'laika', 'lazyobjectproxy', 'libusb', 'llvmlite', 'locket', 'lxml', 'markupsafe', 'marshmallow', 'marshmallowsqlalchemy', 'matplotlib', 'mccabe', 'menuinst', 'mistune', 'mklfft', 'mklrandom', 'monotonic', 'moreitertools', 'mpmath', 'msgpack', 'multipledispatch', 'mysqlconnector', 'nbconvert', 'nbformat', 'networkx', 'nltk', 'nose', 'notebook', 'numba', 'numexpr', 'numpy', 'numpydoc', 'olefile', 'opencvcontribpython', 'openpyxl', 'packaging', 'pandas', 'pandocfilters', 'parso', 'partd', 'pathpy', 'pathlib', 'patsy', 'pdfkit', 'pep', 'pickleshare', 'pillow', 'pip', 'pluggy', 'ply', 'prometheusclient', 'prompttoolkit', 'psutil', 'py', 'pycodestyle', 'pycosat', 'pycparser', 'pycrypto', 'pycurl', 'pyflakes', 'pygments', 'pyhamcrest', 'pylint', 'pymysql', 'pynacl', 'pyodbc', 'pyopenssl', 'pyparsing', 'pyquaternion', 'pyreadline', 'pyrsistent', 'pysocks', 'pytest', 'pytestarraydiff', 'pytestastropy', 'pytestdoctestplus', 'pytestopenfiles', 'pytestremotedata', 'pythondateutil', 'pytz', 'pywavelets', 'pywin', 'pywinctypes', 'pywinpty', 'pyyaml', 'pyzmq', 'qtawesome', 'qtconsole', 'qtpy', 'redis', 'requests', 'rope', 'ruamelyaml', 'scikitimage', 'scikitlearn', 'scipy', 'seaborn', 'sendtrash', 'setuptools', 'shapelypost', 'simplegeneric', 'singledispatch', 'six', 'snowballstemmer', 'sortedcollections', 'sortedcontainers', 'soupsieve', 'sphinx', 'sphinxcontribwebsupport', 'spyder', 'spyderkernels', 'sqlalchemy', 'statsmodels', 'sympy', 'tables', 'tblib', 'terminado', 'testpath', 'toolz', 'tornado', 'tqdm', 'traitlets', 'txaio', 'typedast', 'tzlocal', 'unicodecsv', 'urllib', 'vine', 'wcwidth', 'webencodings', 'werkzeug', 'wfastcgi', 'wheel', 'widgetsnbextension', 'wincertstore', 'wininetpton', 'winunicodeconsole', 'wrapt', 'xlrd', 'xlsxwriter', 'xlwings', 'xlwt', 'zict', 'zipp', 'zopeinterface', 'mysql']

autodoc_mock_imports += ['ffmpeg', 'flask_sqlalchemy', 'flask_bcrypt', 'flask_cors', 'flask_session', 'sqlalchemy_utils', 'cv2', 'PIL', 'torch', 'torchvision', 'reporter', 'cognitive_face', 'shapely', 'sklearn', 'moviepy', 'natsort' ,'decord', 'hydra', 'typer', 'omegaconf', 'mapping_cli']
7 changes: 7 additions & 0 deletions docs/dashboard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Dashboard

We have a live dashboard that shows the current deployment of the HAMS ALT systems across India and an aggregate monthly statistics of the tests occuring here.
You can visit the website from [aka.ms/hams-dashboard](https://aka.ms/hams-dashboard)


![HAMS ALT Dashboard](static/hams_dashboard.jpeg)
Loading