Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
4646aa6
Handle race condition when a test has errored but is not finalized. (…
cricdecyan Jun 23, 2021
0edf6c9
Moved over continuous integration and deployment from travis-ci.org t…
dieppedalle May 20, 2022
120690a
Added support for marginal test results to the protos. (#1002)
dieppedalle May 20, 2022
c7ab508
Internal change (#1004)
dieppedalle May 25, 2022
08e1d0d
Added support for Python version 3.9. (#1005)
dieppedalle May 25, 2022
c85fb06
Removed support for PY2. (#1009)
dieppedalle May 27, 2022
3e5a7f2
Update build_and_deploy.yml (#1010)
glados-verma May 27, 2022
8bb6356
Fix regressions occuring during PY2 deprecation. (#1011)
dieppedalle May 27, 2022
7a95aeb
Remove extra space. (#1012)
dieppedalle May 31, 2022
341aa86
Removing PY2 lock handler. (#1013)
dieppedalle May 31, 2022
486ac88
Correct type hint on Test.execute() (#975)
lalten Sep 8, 2022
e9d7365
Handle skipped phases in ConsoleSummary (#990)
lalten Sep 8, 2022
beadfe5
Don't complain about uninitialized plugs in StationServer logs (#991)
lalten Sep 8, 2022
7cef208
pyOpenSSL version update to unbreak build
dbhatman Sep 8, 2022
dcaef4d
Drop Python 3.6 support and update some dependencies (#1027)
jonasclaes Sep 14, 2022
95bd3b2
Bump shelljs from 0.7.8 to 0.8.5 in /openhtf/output/web_gui (#996)
dependabot[bot] Sep 15, 2022
e9c7681
Bump @angular/core from 4.4.6 to 11.0.5 in /openhtf/output/web_gui (#…
dependabot[bot] Sep 15, 2022
151e5c3
Bump engine.io and karma in /openhtf/output/web_gui (#1025)
dependabot[bot] Sep 15, 2022
78113cf
Show failed measurement-less phases as failed (#1020)
lalten Sep 16, 2022
a60148d
Internal change (#1037)
tan01 Sep 16, 2022
718ff6c
Changes deprecated oauth2client for google-auth. (#1038)
tan01 Sep 19, 2022
c34e3cc
Add subtest_previous PhaseFailureCheckpoint (#992)
gtpalmer Sep 19, 2022
decaa03
Improved typing for validators (#995)
lalten Sep 19, 2022
e724173
Loosen dependencies to allow newer packages (#1028)
Sep 20, 2022
3e0b2a3
Allow using a newer version of protobuf (#1040)
Sep 26, 2022
27c9382
Correct TypeVar usage for Validators (#1042)
dbhatman Oct 3, 2022
7581ab2
Fix web_gui build (#1035)
lalten Oct 11, 2022
09bbcf1
Add google copyright/license notices (#1048)
dbhatman Oct 11, 2022
141d990
Expose public API with __all__ (#1046)
dbhatman Oct 11, 2022
05fa3dc
Bump scss-tokenizer and node-sass in /openhtf/output/web_gui (#1024)
dependabot[bot] Oct 11, 2022
e8d11b5
Replace Issuestats, which is very dead (#1054)
lalten Oct 11, 2022
598651a
Bump eventsource, sockjs-client and webpack-dev-server (#1026)
dependabot[bot] Oct 12, 2022
ae22539
Include MIT license for Angular usage in web gui and minor formatting…
dbhatman Oct 12, 2022
d1006c3
Revert "Bump eventsource, sockjs-client and webpack-dev-server (#1026…
glados-verma Oct 13, 2022
2773554
Rebuild web_gui from head (#1061)
glados-verma Oct 14, 2022
0ab3ef4
Branch build_and_deploy to continuous_integration.yml and remove depl…
glados-verma Oct 14, 2022
f09a591
Create python_publish.yml (#1064)
glados-verma Oct 14, 2022
c669a9c
Update setup.py to remove errors and warnings on deployment. (#1066)
glados-verma Oct 15, 2022
cbaa9eb
Fixed bug with 'show image with user.prompt'
Spudmn Nov 7, 2022
065185a
Internal change
a-googler Nov 15, 2022
e1052fe
Merge pull request #1071 from Spudmn:Bug_fix_user_prompt_image
copybara-github Nov 17, 2022
dc22c0c
Make Phase name (or any other executable unit name) known in finalize…
a-googler Feb 10, 2023
c31f895
Add failure outcome details when Multidim measurements fail so that t…
a-googler Feb 15, 2023
06a0bcd
Add `repeat_on_measurement_fail` to PhaseOptions so that the user can…
a-googler Feb 21, 2023
61d0755
Silence some pytype errors.
rchen152 Mar 28, 2023
dec9275
Fix broken `plug` relative import in global `__init__.py`
kehrazy May 11, 2023
0dd1c81
Update __init__.py
kehrazy May 11, 2023
5f11f03
Merge pull request #1099 from kehrazy:patch-1
copybara-github May 11, 2023
bbf6795
Defer camelization by `PhaseNameCase` until retrieving the `name` pro…
a-googler Jun 27, 2023
3a9a249
Internal change.
a-googler Jul 27, 2023
89b996e
Remove unused `six` import in monitor code
jtilahun Sep 11, 2023
1329257
Merge pull request #1112 from jtilahun:six
copybara-github Sep 12, 2023
c245547
Silence some pytype errors.
rchen152 Sep 27, 2023
2198636
Reduce maximum allowed attachment bytes
dbhatman Oct 7, 2023
7764d63
Internal change.
a-googler Oct 10, 2023
365855d
Silence some pytype errors.
rchen152 Nov 7, 2023
cf5600c
fixed typos and closed open brackets (#807)
iHarshit15 Dec 14, 2023
b4a8291
adressing to the comment
iHarshit15 Dec 15, 2023
7993642
Update mfg_inspector.py
iHarshit15 Dec 15, 2023
7573009
Merge pull request #1126 from iHarshit15:master
copybara-github Dec 18, 2023
e4a844c
Use coveralls github action with parallel enabled (#1131)
dbhatman Jan 4, 2024
e892a9e
Move ImmutableMeasurement to measurement.py.
a-googler Jan 4, 2024
72a2e31
Added pytype None checks to console_summary.py.
a-googler Jan 18, 2024
a1449e0
Added pytype None checks to text.py.
a-googler Feb 23, 2024
d1ebe96
Added pytype None checks to station_server.py.
a-googler Feb 23, 2024
24a27fa
Add set_time_millis to measurement
Feb 26, 2024
912af91
Update diagnoses_test.py
Feb 26, 2024
4cf0734
util.time_millis()
Feb 26, 2024
2f7f3be
Added pytype None checks to test.py.
a-googler Feb 26, 2024
2fccdbf
Added pytype None checks to local_usb.py.
a-googler Feb 29, 2024
2f840a3
Merge pull request #1140 from google:wallacbe-set_time
copybara-github Mar 1, 2024
865512a
Internal clean up.
a-googler May 1, 2024
1b777e9
Fix test breakage likely caused by an update to pytest
glados-verma Jun 29, 2024
f838833
Also generate LCOV file to fix coveralls integration
glados-verma Jun 29, 2024
71e03cb
Merge pull request #1163 from google:glados-verma-patch-1
copybara-github Jun 29, 2024
6060cd0
Move example Test definition out of the main() function to module level.
glados-verma Jul 2, 2024
1f103eb
Increase the post timeout for uploading
dbhatman Jul 22, 2024
bb7e12d
Add support for uncompressed uploads if they are being used
dbhatman Jul 25, 2024
80e9fe5
fix typo in event_sequence.md
frankalicious Dec 22, 2020
207303e
Merge pull request #1168 from frankalicious:fix_typo
copybara-github Aug 2, 2024
3877963
Update coveralls version to 2.3.0 in continuous_integration.yml (#1170)
glados-verma Aug 28, 2024
ecd0690
Log filename, number and function name for the phase being executed
glados-verma Aug 28, 2024
7a5acb8
Fix continuous integration (again) (#1173)
glados-verma Oct 4, 2024
4706af6
Exercise stop_on_measurement_fail option later, after multidims have …
glados-verma Oct 8, 2024
16b0c05
Overhaul the build system to be per modern conventions (#1175)
glados-verma Oct 24, 2024
07e17f4
No public description
glados-verma Oct 24, 2024
e980042
Add pytype disables for legacy unittests checking for incorrect types…
copybara-service[bot] Oct 30, 2024
945c089
Update documentation for the default repeat limit, add constant for r…
glados-verma Oct 30, 2024
2064831
Upgrade Tornado to v6, and fix servers accordingly. (#1181)
glados-verma Oct 30, 2024
d4d4bf0
Update tornado requirement in the pip group (#1176)
dependabot[bot] Oct 30, 2024
3890edb
Use importlib metadata version since setuptools pkg_resources is
glados-verma Oct 30, 2024
dc893eb
Merge pull request #1183 from glados-verma:metadata
copybara-github Oct 31, 2024
57f6344
Keep GitHub Actions up to date with GitHub's Dependabot (#1184)
cclauss Nov 6, 2024
710313e
Bump the github-actions group with 3 updates (#1187)
dependabot[bot] Nov 6, 2024
c302837
Create and persist an authorized session object for MfgInspector.
a-googler Nov 6, 2024
a7c3ce2
Bump pypa/gh-action-pypi-publish in the github-actions group (#1193)
dependabot[bot] Nov 11, 2024
d4b15b3
Update profiling to work with python3.12
glados-verma Oct 30, 2024
1938ce8
Merge pull request #1194 from glados-verma:profile
copybara-github Nov 12, 2024
a6bf9e1
Continuous Integration: python-version: ["3.9", "3.11", "3.13"] (#1185)
cclauss Nov 12, 2024
be30972
Add Python 3.13 to tox (local run) environments. (#1196)
glados-verma Nov 12, 2024
bc16234
Package web_gui, and add a note to CONTRIBUTING.md to check the built…
glados-verma Nov 12, 2024
8c69ab8
Merge pull request #1197 from glados-verma:packaging
copybara-github Nov 13, 2024
c7cd2b7
Use repr instead of str for phase result logging
glados-verma Nov 13, 2024
16941c3
Remove unused imports using autoflake --in-place --recursive --remove…
glados-verma Nov 14, 2024
f9209cf
Move some type hints from comments to the newer style
glados-verma Nov 14, 2024
98b5dac
Merge pull request #1198 from glados-verma:unused_imports
copybara-github Nov 14, 2024
f8e3885
Bump pypa/gh-action-pypi-publish in the github-actions group (#1201)
dependabot[bot] Dec 11, 2024
85f5d72
If run_if throws exception (not intentionally), test will terminate w…
eli-zr Dec 11, 2024
fd7c8ff
Fix broken examples and add a README
glados-verma Dec 18, 2024
0e4f7c4
Merge pull request #1207 from glados-verma:examples
copybara-github Dec 20, 2024
b8cfa7e
Bump pypa/gh-action-pypi-publish in the github-actions group (#1210)
dependabot[bot] Jan 28, 2025
9bd5cfc
Add from_dataframe method to Measurement to create multidim measureme…
glados-verma Feb 3, 2025
4fb8c06
Use default access token to avoid rate limiting (#1218)
glados-verma Mar 5, 2025
7ab26ea
Fix and update python_publish.yml (#1217)
glados-verma Mar 5, 2025
75271f2
Add assertion that verifies and yields the desired phase record
glados-verma Apr 2, 2025
92a841d
assertMeasurement* methods now accept an optional value, just like as…
glados-verma Apr 2, 2025
ba20f73
add source code for resistor tutorial
jpl-harmattan Apr 14, 2025
6f7f6fd
Add explanation for resistor tutorial
jpl-harmattan Apr 14, 2025
d60f936
add tutorial description in example README
jpl-harmattan Apr 15, 2025
8ee34a5
rename and update plugs file
jpl-harmattan Apr 15, 2025
5065879
Use proper import statement and
jpl-harmattan Apr 15, 2025
fbb78d3
Fix typos and update to match scripts
jpl-harmattan Apr 15, 2025
5daf5b1
use proper imports for plugs
jpl-harmattan Apr 16, 2025
6865bc0
Merge pull request #1223 from jpl-harmattan:master
copybara-github Apr 16, 2025
43bceab
Update README.md with actual setup instructions
glados-verma Apr 18, 2025
59ac7d3
Merge pull request #1 from glados-verma/glados-verma-patch-1
glados-verma Apr 18, 2025
5ab6688
Merge pull request #1224 from glados-verma:glados-verma-patch-1
copybara-github Apr 18, 2025
e8dc0da
Merge branch 'google:master' into master
glados-verma Apr 18, 2025
ca2165a
Resolve warnings for threading methods
emmanuel-ferdman Apr 30, 2025
61c4319
Merge pull request #1225 from emmanuel-ferdman:master
copybara-github May 5, 2025
f3fadf9
Refactor TestDutId as a public constant.
glados-verma May 14, 2025
5085a9a
In unit test helper, flatten nested sequences that OpenHTF can handle…
glados-verma May 16, 2025
0da395b
Merge branch 'google:master' into master
glados-verma May 19, 2025
e38836f
Add integration test for examples/hello_world.py
google-labs-jules[bot] May 19, 2025
4ef285e
Update some comments and improve code quality. Add gitignore entry fo…
glados-verma May 19, 2025
02ccd59
Remove no-op keyword argument
glados-verma May 19, 2025
635c0ab
Merge pull request #1228 from glados-verma:test/hello-world-integration
copybara-github May 21, 2025
0426b74
This commit introduces an integration test for `examples/measurements…
google-labs-jules[bot] May 21, 2025
8a10ff6
Improve code quality and bring everything into style compliance
glados-verma May 21, 2025
3f25449
Relax type requirement from Sequence to Iterable for get_flattened ph…
glados-verma May 21, 2025
5af8082
Move test utility library to the util directory
glados-verma May 21, 2025
48e54e7
Change the signature of the get_phase_by_name helper function for eas…
glados-verma May 21, 2025
249ae91
Modify example tests to use a temporary directory rather than the cur…
glados-verma May 21, 2025
b3a56ee
Merge pull request #1230 from glados-verma:feat-test-measurements-and…
copybara-github May 21, 2025
9d2860c
Add an `assertMeasuredAlmostEqual` function to use with floats.
a-googler Jun 4, 2025
b7d1335
Replace obsolete `import contextlib2` with the equivalent stdlib modu…
oprypin Jun 5, 2025
4749612
In assertMeasured, explicitly check that the measurement is defined
glados-verma Jun 5, 2025
5e984c2
Merge branch 'master' into jp-pino/upgrade
jp-pino Jun 26, 2025
d0e3a89
Rebuild front-end
jp-pino Jun 26, 2025
1acb787
Revert changes to package-lock.json
jp-pino Jun 26, 2025
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
13 changes: 13 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Keep GitHub Actions up to date with GitHub's Dependabot...
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem
version: 2
updates:
- package-ecosystem: github-actions
directory: /
groups:
github-actions:
patterns:
- "*" # Group all Actions updates into a single larger pull request
schedule:
interval: weekly
77 changes: 77 additions & 0 deletions .github/workflows/continuous_integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Continuous Integration

on: [push, pull_request]

jobs:
build_and_test:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install build prerequisites
run: |
python -m pip install --upgrade build pip
sudo apt-get install -y libusb-1.0-0-dev libprotobuf-dev swig libevent-dev
- name: Setup protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Create OpenHTF package
run: |
python -m build
- name: Test with tox
run: |
python -m pip install tox tox-gh-actions
tox
- name: Publish to Coveralls with GitHub Action
uses: coverallsapp/github-action@v2
with:
parallel: true
flag-name: python-${{ matrix.python-version }}

web_ui:
runs-on: ubuntu-latest
defaults:
run:
working-directory: openhtf/output/web_gui
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- run: npm install
- run: npm run build

finish:
needs: build_and_test
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@v2
with:
parallel-finished: true
106 changes: 106 additions & 0 deletions .github/workflows/python_publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Upload Python Package to PyPI and TestPyPI

on:
release:
types: [published]

jobs:
build:
name: Build OpenHTF distribution
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.13'
- name: Install pypa/build
run: >-
python3 -m
pip install
build
--user
- name: Install build prerequisites
run: |
sudo apt-get install -y libusb-1.0-0-dev libprotobuf-dev swig libevent-dev
- name: Setup protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build a binary wheel and source tarball
run: python3 -m build
- name: Store the distribution packages
uses: actions/upload-artifact@v4
with:
name: python-package-distributions
path: dist/

publish-to-pypi:
name: Publish OpenHTF distribution to PyPI
if: startsWith(github.ref, 'refs/tags')
needs:
- build
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/openhtf
permissions:
id-token: write
steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to PyPI
uses: pypa/gh-action-pypi-publish@release/v1

publish-to-testpypi:
name: Publish OpenHTF distribution to TestPyPI
needs:
- build
runs-on: ubuntu-latest

environment:
name: testpypi
url: https://test.pypi.org/p/openhtf

permissions:
id-token: write

steps:
- name: Download all the dists
uses: actions/download-artifact@v4
with:
name: python-package-distributions
path: dist/
- name: Publish distribution to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ htmlcov/
env/
venv/
.env
.venv

# built protos
*_pb2.py
Expand Down
37 changes: 0 additions & 37 deletions .travis.yml

This file was deleted.

38 changes: 27 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,11 +231,31 @@ virtualenv venv
# Activate the new virtualenv.
. venv/bin/activate

# Update setuptools.
pip install setuptools --upgrade
# Update build (run setuptools).
pip install build --upgrade

# Install openhtf into the virtualenv in dev mode.
python setup.py develop
pip install --editable .

# Install tox and run unit tests.
pip install tox
tox
```

As a developer it's a good practice to verify wheel-building.

```
python -m build
```

This will create a .whl in the `dist` directory. Try creating a fresh venv in
a different directory, following steps above, and installing the wheel there:

```
pip install path/to/openhtf.whl

# Try launching the dashboard server.
python -m openhtf.output.servers.dashboard_server
```

### MacOS
Expand Down Expand Up @@ -268,7 +288,7 @@ virtualenv venv
. venv/bin/activate

# Install openhtf into the virtualenv in dev mode.
python setup.py develop
pip install --editable .
```

If you're having issues with the python setup, it's possible that the problem is due to El Capitan not including ssl headers. This [link](http://adarsh.io/bundler-failing-on-el-capitan/) may help you in that regard.
Expand All @@ -278,7 +298,7 @@ OpenHTF ships with a built-in web gui found in the `openhtf.output.web_gui` modu

We don't expect everyone to go through the steps of building the frontend from
source, so we provide a prebuilt version of the frontend in the
`openhtf/output/web_gui/prebuilt` directory. If you don't plan to contribute to
`openhtf/output/web_gui/` directory. If you don't plan to contribute to
the built-in frontend, you can feel free to stop reading here; OpenHTF will
automatically use the the prebuilt version of the frontend we include.

Expand Down Expand Up @@ -318,12 +338,8 @@ npm start
```

Now you've got the frontend building, but you still need to serve it. The
frontend server is started as a runnable module. In a terminal where your Python
virtual environment (set up above) is active, start the server with:

```bash
python -m openhtf.output.web_gui
```
frontend server is started as a runnable module. See the associated
[readme](openhtf/output/web_gui/README.md).

If you want the server to automatically restart when changes are detected, use
the `--dev` flag.
Expand Down
1 change: 1 addition & 0 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ Joe Ethier <jethier@google.com>
John Hawley <madsci@google.com>
Keith Suda-Cederquist <kdsudac@google.com>
Kenneth Schiller <kschiller@google.com>
Christian Paulin <cpaulin@google.com>
26 changes: 26 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -200,3 +200,29 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


===============================================================================
License for angular
===============================================================================
The MIT License

Copyright (c) 2010-2022 Google LLC. https://angular.io/license

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
2 changes: 2 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
include openhtf/output/proto/*.proto

13 changes: 5 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
# OpenHTF
The open-source hardware testing framework.

[![Build Status](https://travis-ci.org/google/openhtf.svg?branch=master)](https://travis-ci.org/google/openhtf)
[![Build Status](https://github.com/google/openhtf/actions/workflows/build_and_deploy.yml/badge.svg?branch=master)](https://github.com/google/openhtf/actions?branch=master)
[![Coverage Status](https://coveralls.io/repos/google/openhtf/badge.svg?branch=master&service=github)](https://coveralls.io/github/google/openhtf?branch=master)

[Issue Stats](http://issuestats.com/github/google/openhtf)
[![Percentage of issues still open](http://isitmaintained.com/badge/open/google/openhtf.svg)](http://isitmaintained.com/project/google/openhtf "Percentage of issues still open")
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/google/openhtf.svg)](http://isitmaintained.com/project/google/openhtf "Average time to resolve an issue")

## Overview
OpenHTF is a Python library that provides a set of convenient abstractions
Expand Down Expand Up @@ -40,11 +40,8 @@ If you want to install from source instead (for example, if you want some new
feature that hasn't made it to the production release yet), you can download
[the source code](https://github.com/google/openhtf) via
[git](https://git-scm.com/) or other means, and install the `openhtf` package
into your Python environment using the standard `setup.py` script.

```bash
python setup.py install
```
into your Python environment using the standard `build` command. See
[CONTRIBUTING.md](CONTRIBUTING.md) for details.


## Using OpenHTF
Expand Down
Loading