Commit c2700252 authored by Amy Blank's avatar Amy Blank 🌈
Browse files

Merge branch 'devel' into 'master'

Official merge to master for spring release

See merge request burt/software/burt-util!62
parents ed1b81a7 388d2108
Pipeline #15234 passed with stage
in 28 seconds
......@@ -13,6 +13,7 @@ build/
develop-eggs/
dist/
downloads/
packaging/
eggs/
.eggs/
lib/
......@@ -23,6 +24,14 @@ var/
*.egg-info/
.installed.cfg
*.egg
.idea/
# Auto-generated requirements.txt file
requirements.txt
#pipenv stuff
pipenv
pyproject.toml
# PyInstaller
# Usually these files are written by a python script from a template
......@@ -103,6 +112,11 @@ ENV/
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
# debian build artifacts
scripts/debian/control
scripts/debian/changelog
scripts/debian/*.install
.vscode
*.csv
......
# This file is a template, and might need editing before it works on your project.
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
image: "python:3.4"
image: burt/pyinstaller
stages:
- build
- release-job
build:
stage: build
script:
- ./setup.py install
- python3 setup.py install
- make build
test:
release-job:
stage: release-job
script:
- ./setup.py test
- python3 setup.py install
- make package
artifacts:
paths:
- packaging/*.deb
name: "${CI_PROJECT_NAME}-${CI_BUILD_TAG}-deb"
only:
- tags
......@@ -6,12 +6,6 @@ put content here
- put content here.
### Reviewers
- [ ] @tn
- [ ] @amyblank
- [ ] @bz
### Resources
### Issues
......
......@@ -9,11 +9,5 @@
- put content here.
### Reviewers
- [ ] @tn
- [ ] @amyblank
- [ ] @bz
### Resources and Documentation
> Links for resources and documentation go here.
......@@ -2,7 +2,33 @@
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## UNRELEASED
## [3.1.2]
- actually call gdb-multiarch correctly & specify arch when called (JLink only)
## [3.1.1]
- made gdb-multiarch recomended instead of required for install
## [3.1.0]
- Partial merge of shen yixin's devel branch from estun
- Added '-d' flag to elbow calibrate to support new 3.0.0 elbow firmware with dual encoder calibration based on yixin's changes
- Fixed some minor bugs in makefile to make setup less buggy
## [3.0.1]
- Switched default gdb to be gdb instead of arm-none-eabi-gdb
## [3.0.0]
- python.gitlab and dependencies upgraded to use gitlab API v4.
- download artifacts updated to reflect new API
- command restore artifacts added in case a projects pipeline needs to be retriggered to restore artifacts for that tag.
## [2.10.1]
- no code changes. Switched distribution style to a pyinstaller executable bundled in a .deb
## [2.10.0]
- burt-util enumerate now checks all CAN IDs 0-127 by default
- specify python-can 2.2.1 in pipfile
## [2.9.0]
......
SHELL := /bin/bash
WORKSPACE_DIR=$(shell git rev-parse --show-toplevel)
VERSION=$(shell cat burt_util/version.py | grep --color=never -oh '[0-9]\+\.[0-9]\+\.[0-9]\+')
BUILD_DIR=${WORKSPACE_DIR}/build
DIST_DIR=${WORKSPACE_DIR}/dist
PACKAGING_DIR=${WORKSPACE_DIR}/packaging
DEBIAN_DIR=${WORKSPACE_DIR}/scripts/debian
NAME=$(shell basename -s .git `git config --get remote.origin.url`)
USERNAME=$(shell git config user.name)
EMAIL=$(shell git config user.email)
OUTDIR=$(PACKAGING_DIR)/$(NAME)-$(VERSION)
DEBIAN_GENERATED_FILES=$(DEBIAN_DIR)/$(NAME).install $(DEBIAN_DIR)/control
RELEASE_TYPE=dev
DEB=$(PACKAGING_DIR)/$(NAME)_$(VERSION)_amd64.deb
PROGRAM_OUTDIR= bin/Debug/
ENTRYPOINT=burt-util.py
EXE = $(DIST_DIR)/$(NAME)
all: build
.PHONY: build
build: $(EXE)
$(EXE): $(ENTRYPOINT)
pyinstaller $< --onefile -n $(NAME)
.PHONY: package
package: $(DEB)
$(DEB): build $(DEBIAN_GENERATED_FILES)
rm -f $(DEBIAN_DIR)/changelog
export DEBEMAIL=$(EMAIL)
export DEBFULLNAME=$(USERNAME)
mkdir -p $(OUTDIR)/bin/usr/bin
cp $(DIST_DIR)/$(NAME) $(OUTDIR)/bin/usr/bin/
cd $(DEBIAN_DIR)/.. && dch --create --package "$(NAME)" -v $(VERSION) -D UNRELEASED "Latest update"
cp -r $(DEBIAN_DIR) $(OUTDIR)
cd $(OUTDIR) && debuild -us -uc
$(DEBIAN_DIR)/$(NAME).install:
echo "./bin/* ./" > $(DEBIAN_DIR)/$(NAME).install
$(DEBIAN_DIR)/control: $(DEBIAN_DIR)/control.tmpl
NAME=$(NAME) envsubst < $(DEBIAN_DIR)/control.tmpl > $(DEBIAN_DIR)/control
.PHONY: clean
clean:
-rm -rf $(BUILD_DIR) $(PACKAGING_DIR) $(DIST_DIR)
-rm -f $(DEBIAN_DIR)/control
.PHONY: install
install: $(DEB)
sudo dpkg -i $<
.PHONY: uninstall
uninstall:
sudo apt remove $(NAME)
.PHONY: release
release:
git tag -a ${RELEASE_TYPE}-$(VERSION) -m "Release ${RELEASE_TYPE}-${VERSION}"
git push --tags
.PHONY: setup
setup: ~/.pyenv
sudo apt-get update
sudo apt-get install -y \
python3-dev \
python3-pip \
devscripts \
debhelper \
git \
make \
build-essential \
libssl-dev \
zlib1g-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \
wget \
curl \
llvm \
libncurses5-dev \
libncursesw5-dev \
xz-utils \
tk-dev \
libffi-dev \
liblzma-dev \
python-openssl
# pipenv is the only python package that we need to install globably, all the
# other package get installed inside our virtual enviroment
sudo pip3 install importlib-resources==1.0 zipp==1.0
sudo pip3 install pipenv
# we need to manually build python3.6 with the --enable-shared flag
# because otherwise pyinstaller won't be able to find the shared
# python libraries from within pipenv
# https://stackoverflow.com/questions/58548730/how-to-use-pyinstaller-with-pipenv-pyenv
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.6.9
# pyenv install 3.6.9
# lastly, we actually set up the pipenv enviroment
pipenv install --dev -v
requirements.txt:
pipenv lock -r > requirements.txt
~/.pyenv:
# The following pyenv installation is coppied from
# https://gist.github.com/genyrosk/2a6e893ee72fa2737a6df243f6520a6d
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$$PYENV_ROOT/bin:$$PATH"' >> ~/.bashrc
#we need to reload bashrc after making changes.
source ~/.bashrc
......@@ -7,26 +7,43 @@ name = "pypi"
burt-util = {editable = true, path = "."}
nosetests-json-extended = "==0.1.0"
nose = "==1.3.7"
pyinstaller = "==4.0"
[requires]
python_version = "3.4"
python_version = "3.6"
# The Dockerfile that builds the executable installer on the build server
# has all of these packages installed by default so that they don't need to get
# re-downloaded at build time. If you update these packages here, you should
# update the Docker image as well so it doesn't have to download the new stuff
# every time it runs a build.
[packages]
aiocoap = "==0.3"
arrow = "==0.17.0"
canmatrix = "==0.5"
canopen = "==0.5.1"
certifi = "==2018.8.24"
chardet = "==3.0.4"
click = "==6.6"
click-didyoumean = "==0.0.3"
click-spinner = "==0.1.7"
click-spinner = "==0.1.10"
coverage = "==4.4.1"
docutils = "==0.14"
future = "==0.16.0"
idna = "==2.6"
logbook = "==1.4.0"
lxml = "==4.2.5"
msgpack-python = "==0.5.6"
python-can = "*"
python-gitlab = "==0.21.2"
requests = "==2.18.4"
py = "==1.6.0"
pycryptodome = "==3.6.6"
pyshark = "==0.4.2.9"
python-can = "==2.2.1"
python-dateutil = "==2.7.3"
python-gitlab = "==2.5.0"
requests = "==2.22.0"
semver = "==2.7.7"
six = "==1.10.0"
statistics = "==1.0.3.5"
toml = "==0.9.2"
"urllib3" = "==1.22"
statistics = "*"
pyshark = "==0.3.8"
wrapt = "==1.10.11"
{
"_meta": {
"hash": {
"sha256": "b7b8301dbc35b92a743cb41f9098f1506826c7819f470cbfc29368d14ff82bca"
"sha256": "9ecd1610bd6b8b4fd5d5aa817a7afdbccf53a129672a614784f795f9eb125b18"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.4"
"python_version": "3.6"
},
"sources": [
{
......@@ -23,6 +23,14 @@
"index": "pypi",
"version": "==0.3"
},
"arrow": {
"hashes": [
"sha256:e098abbd9af3665aea81bdd6c869e93af4feb078e98468dd351c383af187aac5",
"sha256:ff08d10cda1d36c68657d6ad20d74fbea493d980f8b2d45344e00d6ed2bf6ed4"
],
"index": "pypi",
"version": "==0.17.0"
},
"canmatrix": {
"hashes": [
"sha256:2e871cac4cdb2ea8bcb20edf2d727aaec479d4c3e0a8c30650bca9257ad20ffa",
......@@ -44,6 +52,7 @@
"sha256:376690d6f16d32f9d1fe8932551d80b23e9d393a8578c5633a2ed39a64861638",
"sha256:456048c7e371c089d0a77a5212fb37a2c2dce1e24146e3b7e0261736aaeaa22a"
],
"index": "pypi",
"version": "==2018.8.24"
},
"chardet": {
......@@ -71,21 +80,28 @@
},
"click-spinner": {
"hashes": [
"sha256:a0703b4a21a1ba377716c5c768928b6c7575c087af926d3d586818426982ea30"
"sha256:87eacf9d7298973a25d7615ef57d4782aebf913a532bba4b28a37e366e975daf",
"sha256:d1ffcff1fdad9882396367f15fb957bcf7f5c64ab91927dee2127e0d2991ee84"
],
"index": "pypi",
"version": "==0.1.7"
"version": "==0.1.10"
},
"coverage": {
"hashes": [
"sha256:0f1883eab9c19aa243f51308751b8a2a547b9b817b721cc0ecf3efb99fafbea7",
"sha256:0f649e68db74b1b5b8ca4161d08eb2b8fa8ae11af1ebfb80e80e112eb0ef5300",
"sha256:0fa423599fc3d9e18177f913552cdb34a8d9ad33efcf52a98c9d4b644edb42c5",
"sha256:13ef9f799c8fb45c446a239df68034de3a6f3de274881b088bebd7f5661f79f8",
"sha256:16db2c69a1acbcb3c13211e9f954e22b22a729909d81f983b6b9badacc466eda",
"sha256:17709e22e4c9f5412ba90f446fb13b245cc20bf4a60377021bbff6c0f1f63e7c",
"sha256:1a41d621aa9b6ab6457b557a754d50aaff0813fad3453434de075496fca8a183",
"sha256:2a08e978f402696c6956eee9d1b7e95d3ad042959b71bafe1f3e4557cbd6e0ac",
"sha256:36aa6c8db83bc27346ddcd8c2a60846a7178ecd702672689d3ea1828eb1a4d11",
"sha256:381be5d31d3f0d912334cf2c159bc7bea6bfe6b0e3df6061a3bf2bf88359b1f6",
"sha256:4047dc83773869701bde934fb3c4792648eda7c0e008a77a0aec64157d246801",
"sha256:483ed14080c5301048128bb027b77978c632dd9e92e3ecb09b7e28f5b92abfcf",
"sha256:4a678e1b9619a29c51301af61ab84122e2f8cc7a0a6b40854b808ac6be604300",
"sha256:52964fae0fafef8bd283ad8e9a9665205a9fdf912535434defc0ec3def1da26b",
"sha256:53770b20ac5b4a12e99229d4bae57af0945be87cc257fce6c6c7571a39f0c5d4",
"sha256:57f510bb16efaec0b6f371b64a8000c62e7e3b3e48e8b0a5745ade078d849814",
"sha256:5dea90ed140e7fa9bc00463313f9bc4a6e6aff297b4969615e7a688615c4c4d2",
......@@ -95,8 +111,10 @@
"sha256:83a477ac4f55a6ef59552683a0544d47b68a85ce6a80fd0ca6b3dc767f6495fb",
"sha256:83e955b975666b5a07d217135e7797857ce844eb340a99e46cc25525120417c4",
"sha256:8801880d32f11b6df11c32a961e186774b4634ae39d7c43235f5a24368a85f07",
"sha256:8bb7c8dca54109b61013bc4114d96effbf10dea136722c586bce3a5d9fc4e730",
"sha256:9681efc2d310cfc53863cc6f63e88ebe7a48124550fa822147996cb09390b6ab",
"sha256:97a7ec51cdde3a386e390b159b20f247ccb478084d925c75f1faa3d26c01335e",
"sha256:9824e15b387d331c0fc0fef905a539ab69784368a1d6ac3db864b4182e520948",
"sha256:a2f7106d1167825c4115794c2ba57cc3b15feb6183db5328fa66f94c12902d8b",
"sha256:a5ed27ad3e8420b2d6b625dcbd3e59488c14ccc06030167bcf14ffb0f4189b77",
"sha256:b7f7283eb7badd2b8a9c6a9d6eeca200a0a24db6be79baee2c11398f978edcaa",
......@@ -104,10 +122,12 @@
"sha256:c3e2736664a6074fc9bd54fb643f5af0fc60bfedb2963b3d3f98c7450335e34c",
"sha256:c5a205b4da3c624f5119dc4d84240789b5906bb8468902ec22dcc4aad8aa4638",
"sha256:c820a533a943ebc860acc0ce6a00dd36e0fdf2c6f619ff8225755169428c5fa2",
"sha256:ce9ef0fc99d11d418662e36fd8de6d71b19ec87c2eab961a117cc9d087576e72",
"sha256:d7b70b7b4eb14d0753d33253fe4f121ca99102612e2719f0993607deb30c6f33",
"sha256:dfb011587e2b7299112f08a2a60d2601706aac9abde37aa1177ea825adaed923",
"sha256:dfd35f1979da31bcabbe27bcf78d4284d69870731874af629082590023a77336",
"sha256:e00fe141e22ce6e9395aa24d862039eb180c6b7e89df0bbaf9765e9aebe560a9",
"sha256:e61a4ba0b2686040cb4828297c7e37bcaf3a1a1c0bc0dbe46cc789dde51a80fa",
"sha256:ec596e4401553caa6dd2e3349ce47f9ef82c1f1bcba5d8ac3342724f0df8d6ff",
"sha256:ef43a06a960b46c73c018704051e023ee6082030f145841ffafc8728039d5a88",
"sha256:ef574ab9640bcfa2f3c671831faf03f65788945fdf8efa4d4a1fffc034838e2a",
......@@ -122,26 +142,22 @@
"sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274",
"sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6"
],
"index": "pypi",
"version": "==0.14"
},
"future": {
"hashes": [
"sha256:e39ced1ab767b5936646cedba8bcce582398233d6a627067d4c6a454c90cfedb"
],
"index": "pypi",
"version": "==0.16.0"
},
"futures": {
"hashes": [
"sha256:51ecb45f0add83c806c68e4b06106f90db260585b25ef2abfcda0bd95c0132fd",
"sha256:c4884a65654a7c45435063e14ae85280eb1f111d94e542396717ba9828c4337f"
],
"version": "==3.1.1"
},
"idna": {
"hashes": [
"sha256:2c6a5de3089009e3da7c5dde64a141dbc8551d5b7f6cf4ed7c2568d0cc520a8f",
"sha256:8c7309c718f94b3a625cb648ace320157ad16ff131ae0af362c9f21b80ef6ec4"
],
"index": "pypi",
"version": "==2.6"
},
"logbook": {
......@@ -152,6 +168,7 @@
"sha256:f25f247eed81b7befca3a4646a266c7f6f328a7152d75223f9d3d0ee6476c015",
"sha256:f4d0b079756f99181d7d87b701b09af1f5d8b17110fe39465cc7afd94db1e95c"
],
"index": "pypi",
"version": "==1.4.0"
},
"lxml": {
......@@ -187,6 +204,7 @@
"sha256:edd9c13a97f6550f9da2236126bb51c092b3b1ce6187f2bd966533ad794bbb5e",
"sha256:fa39ea60d527fbdd94215b5e5552f1c6a912624521093f1384a491a8ad89ad8b"
],
"index": "pypi",
"version": "==4.2.5"
},
"msgpack-python": {
......@@ -201,15 +219,52 @@
"sha256:06a30435d058473046be836d3fc4f27167fd84c45b99704f2fb5509ef61f9af1",
"sha256:50402e9d1c9005d759426988a492e0edaadb7f4e68bcddfea586bc7432d009c6"
],
"markers": "python_version != '3.3.*' and python_version != '3.1.*' and python_version >= '2.7' and python_version != '3.0.*' and python_version != '3.2.*'",
"index": "pypi",
"version": "==1.6.0"
},
"pycryptodome": {
"hashes": [
"sha256:0f027d5da3f3c4c0167f3ccf4a1f56674248120656099df35098dfaf3edff0fb",
"sha256:1e970715407a862b6b4c61f1a8c60734c0fa39f45d36dda46dbd0baf2d8caec2",
"sha256:2652a86850d7873249c64365a61e1052934f1504f11b57dbe76c1a4dc9b5d593",
"sha256:26953969934e09d49b2e370229ef262dd480b46130660086b22fea29df335dea",
"sha256:31d2f9fa32fd651694dbae298682c1afa2337fa6454b32b241164c2ffe96e1c1",
"sha256:53cd63d379224ea52d8ba2012fe8acf9eb682aa819c3a9a02397fe3e6b4315a4",
"sha256:637bfc8bfb68d477619c54b56d912117abca05306a222ccf03dfc09ab6b4e5a4",
"sha256:6b8a3753e31b058d48bdd26c50c049a04f35f0f05c0d866c63fc90fc9b8dc5d7",
"sha256:7bd1c4671b3a2c8d647731e9c34115efa928ff12d0ef1bef68f0f7af984bc239",
"sha256:7cb057b700d688bb37082b0086d061462dde18c1fbbe355615db87f3bf97ffa4",
"sha256:7d7e07e885cee42b222ab190ea292f144aaf6e915ea3d1bf9e2f812fc2ad9f18",
"sha256:80c55dd2246a17b4af18bd615711b90c8df4b780451692f627a38a636d0792ae",
"sha256:864249afa1d801c7a2abb3fbed0e9e8ce4844a8f68daff8028a40634f69f0135",
"sha256:927ce443c5183ee7738ce113ecf656842fafbad1d6f4ab726dc12abc8adabfad",
"sha256:9dd8fb9d76fde52c01dcc6d24dc384ddb60ff6fb96216a58017dacc5580600e3",
"sha256:abd859f70a9cad653644b0415adfe6223f708093296747970ec56a8f5537bfb3",
"sha256:b3cb4af317d9b84f6df50f0cfa6840ba69556af637a83fd971537823e13d601a",
"sha256:b4c5d98eb9608bf29b66504dba96494a9fac75b3c0c57dfb557f6e812989a3fe",
"sha256:bc130342d9b6267efaa97ea305b9a46f59c097e95263a6d65abc7890331535e7",
"sha256:c26f706a8b8e1e44076126bfe0319b7eb9038350d5b6ff55c86b2edb434b3e52",
"sha256:c58539996e2acdb6c5554851cd1b333af889a6aadeb9865127e4bbc17d01ff53",
"sha256:c899042914a780abfc01250d22f5674f60195b8149f161a6481b6f6b7aa81dee",
"sha256:d0468c5c9944859c862d81621985d407097c08c0e18bb537883b9268c6e34bd1",
"sha256:dfa339c6ef6a1f36642db0dd0d442207aa2a071caa122d744222f2a2832c530f",
"sha256:e23b2e13580a4e2d35f7acba674b2b1d1fca9b20a5c0d8ffb98b8fe58c2e7107",
"sha256:e4406a5141d6d5d19ee515ff6c69baf9a7a10006a8490e7447cbc8dcf61f9903",
"sha256:ef50df5404b50109a13e46f4421ffe64a650104e2216e282a49662712b024dae",
"sha256:f459395378709b7aa32bb6e59d55d72d48631840ed6c1c919f63036bd548f375",
"sha256:fa99a0bcadef482300f5308bb9c0041d4f084b085dff0c908350de382df9f87d",
"sha256:fbd0def77da8edd5293e5e3b534763861e1c3f4f645ef3602f718fd709536a77"
],
"index": "pypi",
"version": "==3.6.6"
},
"pyshark": {
"hashes": [
"sha256:8221b769f9de3d9477834701dfc8d0af3ef3831848a6f140737def4a51e60b69"
"sha256:a6576fb63ede519dc26145b5535f6ea445ccad03aa018adb1e9a13522720d663",
"sha256:e7bfb1bd0c12a13cb573de103b177ef7efe4143e1ebb5a02c6b185da7dd7edd0"
],
"index": "pypi",
"version": "==0.3.8"
"version": "==0.4.2.9"
},
"python-can": {
"hashes": [
......@@ -219,24 +274,34 @@
"index": "pypi",
"version": "==2.2.1"
},
"python-dateutil": {
"hashes": [
"sha256:1adb80e7a782c12e52ef9a8182bebeb73f1d7e24e374397af06fb4956c8dc5c0",
"sha256:e27001de32f627c22380a688bcc43ce83504a7bc5da472209b4c70f02829f0b8"
],
"index": "pypi",
"version": "==2.7.3"
},
"python-gitlab": {
"hashes": [
"sha256:abc9a89d29553529e95356260b445cdd49b46423e85a6d3eada4a35b14e309b7"
"sha256:61270e1f8ac24fe248f41834c840c6465d2e0b216493d3508d296a02960122c0",
"sha256:68b42aafd4b620ab2534ff78a52584c7f799e4e55d5ac297eab4263066e6f74b"
],
"index": "pypi",
"version": "==0.21.2"
"version": "==2.5.0"
},
"requests": {
"hashes": [
"sha256:6a1b267aa90cac58ac3a765d067950e7dbbf75b1da07e895d1f594193a40a38b",
"sha256:9c443e7324ba5b85070c4a818ade28bfabedf16ea10206da1132edaa6dda237e"
"sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4",
"sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31"
],
"index": "pypi",
"version": "==2.18.4"
"version": "==2.22.0"
},
"semver": {
"hashes": [
"sha256:20ffbb50248a6141bb9eba907db0e47ee4a239ddb55fe0ada8696fc241495a9d"
"sha256:20ffbb50248a6141bb9eba907db0e47ee4a239ddb55fe0ada8696fc241495a9d",
"sha256:3fb24c8877dc4ab67a57d8659767cd4861f025fdf3ec870df5437ebecfed7c27"
],
"index": "pypi",
"version": "==2.7.7"
......@@ -263,19 +328,6 @@
"index": "pypi",
"version": "==0.9.2"
},
"trollius": {
"hashes": [
"sha256:19f6670ff1b83b5ad4a3e02b4f2754072052618229c24df049300b726ad64d2f",
"sha256:5419c7eb7e36d65ad5dfc78290599e767c1d1f2182175332291b9c9344fe81c2",
"sha256:60238bc8d20911220bf3b27f24ddd7b650b88af90192f33b888f8b90025ed1d5",
"sha256:69ee611d68a1443ded473c96b994a7fc64a5ae50b8fb821e96246247eee378d9",
"sha256:763b1ace02d9ff78614392d99edaa3eb89938f293cf4a0e913c9c765fb26f2dd",
"sha256:8884cae4ec6a2d593abcffd5e700626ad4618f42b11beb2b75998f2e8247de76",
"sha256:cfe194322e131ea32608f2b79a18ab145d6d68db1d1205bd9bb141bc7ebb092d",
"sha256:d1d22b2a51205bb18e59d1e71334ad510457f64997536799127e481674de65eb"
],
"version": "==1.0.4"
},
"urllib3": {
"hashes": [
"sha256:06330f386d6e4b195fbfc736b297f58c5a892e4440e54d294d7004e3a9bbea1b",
......@@ -288,10 +340,19 @@
"hashes": [
"sha256:d4d560d479f2c21e1b5443bbd15fe7ec4b37fe7e53d335d3b9b0a7b1226fe3c6"
],
"index": "pypi",
"version": "==1.10.11"
}
},
"develop": {
"aenum": {
"hashes": [
"sha256:260225470b49429f5893a195a8b99c73a8d182be42bf90c37c93e7b20e44eaae",
"sha256:aaebe735508d9cbc72cd6adfb59660a5e676dfbeb6fb24fb090041e7ddb8d3b3",
"sha256:f9d20f7302ce3dc3639b3f75c3b3e146f3b22409a6b4513c1f0bd6dbdfcbd8c1"
],
"version": "==2.2.6"
},
"aiocoap": {
"hashes": [
"sha256:402d4151db6d8d0b1d66af5b6e10e0de1521decbf12140637e5b8d2aa9c5aef6"
......@@ -299,11 +360,34 @@
"index": "pypi",
"version": "==0.3"
},
"altgraph": {
"hashes": [
"sha256:1f05a47122542f97028caf78775a095fbe6a2699b5089de8477eb583167d69aa",
"sha256:c623e5f3408ca61d4016f23a681b9adb100802ca3e3da5e718915a9e4052cebe"
],
"version": "==0.17"
},
"arrow": {
"hashes": [
"sha256:a558d3b7b6ce7ffc74206a86c147052de23d3d4ef0e17c210dd478c53575c4cd"
"sha256:e098abbd9af3665aea81bdd6c869e93af4feb078e98468dd351c383af187aac5",
"sha256:ff08d10cda1d36c68657d6ad20d74fbea493d980f8b2d45344e00d6ed2bf6ed4"
],
"index": "pypi",
"version": "==0.17.0"
},
"attrs": {
"hashes": [
"sha256:31b2eced602aa8423c2aea9c76a724617ed67cf9513173fd3a4f03e3a929c7e6",
"sha256:832aa3cde19744e49938b91fea06d69ecb9e649c93ba974535d08ad92164f700"
],
"version": "==0.12.1"
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
"version": "==20.3.0"
},
"bitstruct": {
"hashes": [
"sha256:4e7b8769c0f09fee403d0a5f637f8b575b191a79a92e140811aa109ce7461f0c"
],
"version": "==8.11.1"
},
"burt-util": {
"editable": true,
......@@ -330,6 +414,7 @@
"sha256:376690d6f16d32f9d1fe8932551d80b23e9d393a8578c5633a2ed39a64861638",
"sha256:456048c7e371c089d0a77a5212fb37a2c2dce1e24146e3b7e0261736aaeaa22a"
],
"index": "pypi",
"version": "==2018.8.24"
},
"chardet": {
......@@ -357,10 +442,61 @@
},
"click-spinner": {
"hashes": [
"sha256:a0703b4a21a1ba377716c5c768928b6c7575c087af926d3d586818426982ea30"
"sha256:87eacf9d7298973a25d7615ef57d4782aebf913a532bba4b28a37e366e975daf",
"sha256:d1ffcff1fdad9882396367f15fb957bcf7f5c64ab91927dee2127e0d2991ee84"
],
"index": "pypi",
"version": "==0.1.10"
},
"coverage": {
"hashes": [
"sha256:0f1883eab9c19aa243f51308751b8a2a547b9b817b721cc0ecf3efb99fafbea7",
"sha256:0f649e68db74b1b5b8ca4161d08eb2b8fa8ae11af1ebfb80e80e112eb0ef5300",
"sha256:0fa423599fc3d9e18177f913552cdb34a8d9ad33efcf52a98c9d4b644edb42c5",
"sha256:13ef9f799c8fb45c446a239df68034de3a6f3de274881b088bebd7f5661f79f8",
"sha256:16db2c69a1acbcb3c13211e9f954e22b22a729909d81f983b6b9badacc466eda",
"sha256:17709e22e4c9f5412ba90f446fb13b245cc20bf4a60377021bbff6c0f1f63e7c",
"sha256:1a41d621aa9b6ab6457b557a754d50aaff0813fad3453434de075496fca8a183",
"sha256:2a08e978f402696c6956eee9d1b7e95d3ad042959b71bafe1f3e4557cbd6e0ac",
"sha256:36aa6c8db83bc27346ddcd8c2a60846a7178ecd702672689d3ea1828eb1a4d11",
"sha256:381be5d31d3f0d912334cf2c159bc7bea6bfe6b0e3df6061a3bf2bf88359b1f6",
"sha256:4047dc83773869701bde934fb3c4792648eda7c0e008a77a0aec64157d246801",
"sha256:483ed14080c5301048128bb027b77978c632dd9e92e3ecb09b7e28f5b92abfcf",
"sha256:4a678e1b9619a29c51301af61ab84122e2f8cc7a0a6b40854b808ac6be604300",
"sha256:52964fae0fafef8bd283ad8e9a9665205a9fdf912535434defc0ec3def1da26b",
"sha256:53770b20ac5b4a12e99229d4bae57af0945be87cc257fce6c6c7571a39f0c5d4",
"sha256:57f510bb16efaec0b6f371b64a8000c62e7e3b3e48e8b0a5745ade078d849814",
"sha256:5dea90ed140e7fa9bc00463313f9bc4a6e6aff297b4969615e7a688615c4c4d2",
"sha256:700040c354f0230287906b1276635552a3def4b646e0145555bc9e2e5da9e365",
"sha256:7a9c44400ee0f3b4546066e0710e1250fd75831adc02ab99dda176ad8726f424",
"sha256:7f1eacae700c66c3d7362a433b228599c9d94a5a3a52613dddd9474e04deb6bc",
"sha256:83a477ac4f55a6ef59552683a0544d47b68a85ce6a80fd0ca6b3dc767f6495fb",
"sha256:83e955b975666b5a07d217135e7797857ce844eb340a99e46cc25525120417c4",