diff --git a/CHANGELOG.md b/CHANGELOG.md
index 156ff5e..243a17a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,18 +1,42 @@
# Changelog
+
All notable changes to this project will be documented in this file.
-The format is based on [Keep a Changelog](https://keepachangelog.com),
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+The format is based on [Keep a Changelog](https://keepachangelog.com).
+This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
-### Added
-- Developer, test, migration and user documentation
### Changed
+
- Travis CI
-## [1.1.0] - 2020-09-30
+## [1.1.1] - 2020-12-11
+
### Added
+
+- Developer, test, migration and user documentation
+- Branding ERPLibre with muk_branding
+- Uninstall module from parameter Odoo
+- Makefile to generate ERPLibre documentation WIP
+- Docker support volume on /etc/odoo
+- Docker support update database
+
+### Changed
+
+- Better documentation on how to use ERPLibre and release
+- Support wkhtmltox_0.12.6-1
+
+### Fixed
+
+- db_backup to accept public host key on sftp
+- Docker dependency
+- Freeze poetry version 1.0.10
+
+## [1.1.0] - 2020-09-30
+
+### Added
+
- Docker
- Pyenv to manage python version
- Poetry to manage python dependencies
@@ -26,12 +50,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Add cloud/saas repo
### Changed
+
- Update to Odoo Community 12.0 and all addons
- Rename venv to .venv
- More documentation on how to use ERPLibre
## [1.0.1] - 2020-07-14
+
### Added
+
- Improved documentation with development and production environment
- Improved documentation with git repo
- Move default.xml manifest to root, the default location
@@ -45,37 +72,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- New module sale_margin_editor
### Fixed
+
- Production installation with git_repo
## [1.0.0] - 2020-07-04
+
### Added
+
- Environment of development, discovery and production with documentation and script.
- Google git-repo to support addons repository instead of using Git submodule.
### Removed
+
- Git submodule
## [0.1.1] - 2020-04-28
+
### Added
+
- Support helpdesk supplier, helper, employee and services
- Support [SanteLibre.ca](https://santelibre.ca) with MRP, website, hr, ecommerce
- Donation module with thermometer for website
- Script to fork project and all repos in submodule to create ERPLibre
## [0.1.0] - 2020-04-20
+
### Added
+
- Move project from https://github.com/mathbentech/InstallScript to ERPLibre.
- Support of Odoo Community 12.0 2019-11-19 94bcbc92e5e5a6fd3de7267e3c01f8c11fb045f4.
### Changed
+
- Support scrummer, project, sale, website, helpdesk and hr
- Support Nginx and improve installation
### Fixed
+
- Support only python3.6 and python3.7, python3.8 causes error in runtime.
-[Unreleased]: https://github.com/ERPLibre/ERPLibre/compare/v1.0.1...HEAD
+[Unreleased]: https://github.com/ERPLibre/ERPLibre/compare/v1.1.1...HEAD
+
+[1.1.1]: https://github.com/ERPLibre/ERPLibre/compare/v1.0.1...v1.1.1
+
+[1.1.0]: https://github.com/ERPLibre/ERPLibre/compare/v1.0.1...v1.1.0
+
[1.0.1]: https://github.com/ERPLibre/ERPLibre/compare/v1.0.0...v1.0.1
+
[1.0.0]: https://github.com/ERPLibre/ERPLibre/compare/v0.1.1...v1.0.0
+
[0.1.1]: https://github.com/ERPLibre/ERPLibre/compare/v0.1.0...v0.1.1
+
[0.1.0]: https://github.com/ERPLibre/ERPLibre/releases/tag/v0.1.0
diff --git a/default.xml b/default.xml
index 427b8fc..a483faf 100644
--- a/default.xml
+++ b/default.xml
@@ -58,10 +58,11 @@
+
-
+
@@ -78,7 +79,7 @@
-
+
@@ -89,10 +90,13 @@
+
+
+
@@ -100,9 +104,10 @@
+
-
+
@@ -128,7 +133,7 @@
-
+
diff --git a/doc/DEVELOPMENT.md b/doc/DEVELOPMENT.md
index 5c6f8f3..f4ee5ac 100644
--- a/doc/DEVELOPMENT.md
+++ b/doc/DEVELOPMENT.md
@@ -114,3 +114,9 @@ python odoo/odoo-bin scaffold MODULE_NAME addons/REPO_NAME/
```bash
/script/pull_request_ERPLibre.py --github_token ### --organization ERPLibre
```
+
+# Commit
+Use this commit format:
+```bash
+git commit -am "[#ticket] subject: short sentence"
+```
diff --git a/doc/POETRY.md b/doc/POETRY.md
index 4a190a7..60629dc 100644
--- a/doc/POETRY.md
+++ b/doc/POETRY.md
@@ -6,6 +6,8 @@ Add your dependencies in file [requirements.txt](../requirements.txt) and run sc
```
This will search all `requirements.txt` files and update `pyproject.toml` and it will update poetry
+TODO add option to only add missing dependencies and ignore update.
+
## Add manually dependencies
The automatic script will erase this dependency, but you can add it for your local test.
```bash
diff --git a/doc/RELEASE.md b/doc/RELEASE.md
index 3c43935..10fde8a 100644
--- a/doc/RELEASE.md
+++ b/doc/RELEASE.md
@@ -1,24 +1,68 @@
# Release
+
A guide on how to generate a release.
-## Generate new prod
+Before starting, validate [manifest/default.dev.xml](../manifest/default.dev.xml) is ready for production.
+
+## Clean environment before generate new release
+
+Be sure all files are commit and push, this will erase everything in addons.
+
+```bash
+./script/clean_repo_manifest.sh
+```
+
+And update all from dev to merge into prod.
+
+```bash
+./script/install_locally_dev.sh
+```
+
+## Generate new prod and release
+
+Generate production manifest and freeze all repos versions.
+
```bash
./.venv/repo manifest -r -o ./default.xml
```
-Commit.
+
+Update ERPLIBRE_VERSION variable in [env_var.sh](../env_var.sh) and [Dockerfile.prod](../docker/Dockerfile.prod.pkg).
+
+Generate [poetry](./POETRY.md) and keep only missing dependencies, remove updates.
```bash
-git commit -am "[#ticket] subject: short sentence"
+./script/poetry_update.py
```
-Update ERPLIBRE_VERSION variable in [env_var.sh](../env_var.sh)
+When running script poetry_update.py, note manually inserted dependencies, stash all changes and add it manually.
+```bash
+poetry add DEPENDENCY
+```
-## Merge release
-When you are ready to generate a release, create a branch release/#.#.# and create a pull request to master.
+Understand differences from last release:
-Update file [CHANGELOG.md](../CHANGELOG.md) and create a section with new version.
-Merge it when the maintainer accepts it.
+```bash
+# Get all differences between the last tag and HEAD, to update the CHANGELOG.md
+# ERPLibre
+git diff v#.#.#..HEAD
+
+# All repo
+./.venv/repo forall -pc "git diff ERPLibre/v#.#.#..HEAD"
+```
+
+Update file [CHANGELOG.md](../CHANGELOG.md) and create a section with new version, use next command to read all changes.
+
+Create a branch release/#.#.# and create a pull request to branch master with your commit:
+
+```bash
+git commit -am "Release v#.#.#"
+```
+
+Review by your peers, test the docker file and merge to master.
+
+## Create tag
Add a tag on the commit in branch master with your release. When adding tag, be sure to update default.xml
+
```bash
git tag v#.#.#
# Push your tags
@@ -26,11 +70,12 @@ git push --tags
# Add tags for all repo
./.venv/repo forall -pc "git tag ERPLibre/v#.#.#"
./.venv/repo forall -pc "git push ERPLibre --tags"
-# Get all difference between a tag and HEAD, to update the CHANGELOG.md
-./.venv/repo forall -pc "git diff ERPLibre/v#.#.#..HEAD"
```
-## Push docker
+## Generate and push docker
+
+Important to generate container after push git tags, otherwise the git version will be wrong.
+
When building your docker with script
> ./script/docker_build.sh --release
@@ -41,8 +86,11 @@ You need to push your docker image and update your tag, like 1.0.1:
> docker push technolibre/erplibre:VERSION
# TIPS
+
## Compare repo differences with another ERPLibre project
-To generate a list of differences between repo git commit
+
+To generate a list of differences between repo git commit
+
```bash
./script/git_change_remote.py --sync_to /path/to/directory
```
\ No newline at end of file
diff --git a/docker/Dockerfile.prod.pkg b/docker/Dockerfile.prod.pkg
index a6be82b..f9a3c30 100644
--- a/docker/Dockerfile.prod.pkg
+++ b/docker/Dockerfile.prod.pkg
@@ -1,4 +1,4 @@
-FROM technolibre/erplibre-base:1.1.0
+FROM technolibre/erplibre-base:1.1.1
ENV REPO_MANIFEST_URL https://github.com/ERPLibre/ERPLibre
ARG WORKING_BRANCH
diff --git a/env_var.sh b/env_var.sh
index d7111c6..6d58466 100755
--- a/env_var.sh
+++ b/env_var.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
-ERPLIBRE_VERSION="1.1.0"
+ERPLIBRE_VERSION="1.1.1"
EL_USER="erplibre"
EL_HOME="/${EL_USER}"
@@ -19,7 +19,7 @@ EL_MINIMAL_ADDONS="False"
# Set this to True if you want to install Nginx!
EL_INSTALL_NGINX="True"
# Set the website name
-EL_WEBSITE_NAME="_"
+EL_WEBSITE_NAME=""
EL_GITHUB_TOKEN=""
EL_MANIFEST_PROD="./default.xml"
EL_MANIFEST_DEV="./manifest/default.dev.xml"
diff --git a/manifest/default.dev.xml b/manifest/default.dev.xml
index c1bb70d..b074a79 100644
--- a/manifest/default.dev.xml
+++ b/manifest/default.dev.xml
@@ -133,7 +133,7 @@
-
+
diff --git a/poetry.lock b/poetry.lock
index a1ad91a..8eeab1d 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -1,26 +1,29 @@
[[package]]
-category = "main"
-description = "A lightweight, transparent syntax for REST clients"
name = "agithub"
-optional = false
-python-versions = "*"
version = "2.2.2"
-
-[[package]]
+description = "A lightweight, transparent syntax for REST clients"
category = "main"
-description = "A configurable sidebar-enabled Sphinx theme"
-name = "alabaster"
optional = false
python-versions = "*"
-version = "0.7.12"
[[package]]
+name = "alabaster"
+version = "0.7.12"
+description = "A configurable sidebar-enabled Sphinx theme"
category = "main"
-description = "Altair: A declarative statistical visualization library for Python."
+optional = false
+python-versions = "*"
+
+[[package]]
name = "altair"
+version = "4.1.0"
+description = "Altair: A declarative statistical visualization library for Python."
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "4.1.0"
+
+[package.extras]
+dev = ["black", "docutils", "ipython", "flake8", "pytest", "sphinx", "m2r", "vega-datasets", "recommonmark"]
[package.dependencies]
entrypoints = "*"
@@ -30,67 +33,64 @@ numpy = "*"
pandas = ">=0.18"
toolz = "*"
-[package.extras]
-dev = ["black", "docutils", "ipython", "flake8", "pytest", "sphinx", "m2r", "vega-datasets", "recommonmark"]
-
[[package]]
-category = "main"
-description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
name = "appdirs"
+version = "1.4.4"
+description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
+category = "main"
optional = false
python-versions = "*"
-version = "1.4.4"
[[package]]
-category = "main"
-description = "Bash tab completion for argparse"
name = "argcomplete"
+version = "1.12.1"
+description = "Bash tab completion for argparse"
+category = "main"
optional = false
python-versions = "*"
-version = "1.12.1"
-
-[package.dependencies]
-[package.dependencies.importlib-metadata]
-python = ">=3.7,<3.8"
-version = ">=0.23,<3"
[package.extras]
test = ["coverage", "flake8", "pexpect", "wheel"]
+[package.dependencies]
+[package.dependencies.importlib-metadata]
+version = ">=0.23,<3"
+python = ">=3.7,<3.8"
+
[[package]]
-category = "main"
-description = "Python command-line parsing library"
name = "argparse"
+version = "1.4.0"
+description = "Python command-line parsing library"
+category = "main"
optional = false
python-versions = "*"
-version = "1.4.0"
[[package]]
-category = "main"
-description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"
name = "asn1crypto"
+version = "1.4.0"
+description = "Fast ASN.1 parser and serializer with definitions for private keys, public keys, certificates, CRL, OCSP, CMS, PKCS#3, PKCS#7, PKCS#8, PKCS#12, PKCS#5, X.509 and TSP"
+category = "main"
optional = false
python-versions = "*"
-version = "1.4.0"
[[package]]
-category = "main"
-description = "Tools for computing asset risk with respect to goals."
name = "asterisk"
+version = "0.0.8"
+description = "Tools for computing asset risk with respect to goals."
+category = "main"
optional = false
python-versions = "*"
-version = "0.0.8"
[package.dependencies]
requests = "*"
[[package]]
-category = "main"
-description = "Classes Without Boilerplate"
name = "attrs"
+version = "19.3.0"
+description = "Classes Without Boilerplate"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "19.3.0"
[package.extras]
azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"]
@@ -99,79 +99,79 @@ docs = ["sphinx", "zope.interface"]
tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
[[package]]
-category = "main"
-description = "Internationalization utilities"
name = "babel"
+version = "2.3.4"
+description = "Internationalization utilities"
+category = "main"
optional = false
python-versions = "*"
-version = "2.3.4"
[package.dependencies]
pytz = ">=0a"
[[package]]
-category = "main"
-description = "Modern password hashing for your software and your servers"
name = "bcrypt"
+version = "3.1.7"
+description = "Modern password hashing for your software and your servers"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "3.1.7"
+
+[package.extras]
+tests = ["pytest (>=3.2.1,<3.3.0 || >3.3.0)"]
[package.dependencies]
cffi = ">=1.1"
six = ">=1.4.1"
-[package.extras]
-tests = ["pytest (>=3.2.1,<3.3.0 || >3.3.0)"]
-
[[package]]
-category = "main"
-description = "Screen-scraping library"
name = "beautifulsoup4"
+version = "4.9.1"
+description = "Screen-scraping library"
+category = "main"
optional = false
python-versions = "*"
-version = "4.9.1"
-
-[package.dependencies]
-soupsieve = [">1.2", "<2.0"]
[package.extras]
html5lib = ["html5lib"]
lxml = ["lxml"]
+[package.dependencies]
+soupsieve = [">1.2", "<2.0"]
+
[[package]]
-category = "main"
-description = "Interactive plots and applications in the browser from Python"
name = "bokeh"
+version = "1.1.0"
+description = "Interactive plots and applications in the browser from Python"
+category = "main"
optional = false
python-versions = "*"
-version = "1.1.0"
[package.dependencies]
Jinja2 = ">=2.7"
-PyYAML = ">=3.10"
numpy = ">=1.7.1"
packaging = ">=16.8"
pillow = ">=4.0"
python-dateutil = ">=2.1"
+PyYAML = ">=3.10"
six = ">=1.5.2"
tornado = ">=4.3"
[[package]]
-category = "main"
-description = "Amazon Web Services Library"
name = "boto"
+version = "2.49.0"
+description = "Amazon Web Services Library"
+category = "main"
optional = false
python-versions = "*"
-version = "2.49.0"
[[package]]
-category = "main"
-description = "The AWS SDK for Python"
name = "boto3"
+version = "1.9.102"
+description = "The AWS SDK for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "1.9.102"
[package.dependencies]
botocore = ">=1.12.102,<1.13.0"
@@ -179,129 +179,124 @@ jmespath = ">=0.7.1,<1.0.0"
s3transfer = ">=0.2.0,<0.3.0"
[[package]]
-category = "main"
-description = "Low-level, data-driven core of boto 3."
name = "botocore"
+version = "1.12.253"
+description = "Low-level, data-driven core of boto 3."
+category = "main"
optional = false
python-versions = "*"
-version = "1.12.253"
[package.dependencies]
docutils = ">=0.10,<0.16"
jmespath = ">=0.7.1,<1.0.0"
[package.dependencies.python-dateutil]
-python = ">=2.7"
version = ">=2.1,<3.0.0"
+python = ">=2.7"
[package.dependencies.urllib3]
-python = ">=3.4"
version = ">=1.20,<1.26"
+python = ">=3.4"
[[package]]
-category = "main"
-description = "A decorator for caching properties in classes."
name = "cached-property"
+version = "1.5.1"
+description = "A decorator for caching properties in classes."
+category = "main"
optional = false
python-versions = "*"
-version = "1.5.1"
[[package]]
-category = "main"
-description = "Extensible memoizing collections and decorators"
name = "cachetools"
+version = "4.1.1"
+description = "Extensible memoizing collections and decorators"
+category = "main"
optional = false
python-versions = "~=3.5"
-version = "4.1.1"
[[package]]
-category = "main"
-description = "Lightweight, extensible schema and data validation tool for Python dictionaries."
name = "cerberus"
+version = "1.3.2"
+description = "Lightweight, extensible schema and data validation tool for Python dictionaries."
+category = "main"
optional = false
python-versions = ">=2.7"
-version = "1.3.2"
[package.dependencies]
setuptools = "*"
[[package]]
-category = "main"
-description = "Python package for providing Mozilla's CA Bundle."
name = "certifi"
+version = "2020.6.20"
+description = "Python package for providing Mozilla's CA Bundle."
+category = "main"
optional = false
python-versions = "*"
-version = "2020.6.20"
[[package]]
-category = "main"
-description = "Foreign Function Interface for Python calling C code."
name = "cffi"
+version = "1.14.1"
+description = "Foreign Function Interface for Python calling C code."
+category = "main"
optional = false
python-versions = "*"
-version = "1.14.1"
[package.dependencies]
pycparser = "*"
[[package]]
-category = "main"
-description = "Universal encoding detector for Python 2 and 3"
name = "chardet"
+version = "3.0.4"
+description = "Universal encoding detector for Python 2 and 3"
+category = "main"
optional = false
python-versions = "*"
-version = "3.0.4"
[[package]]
-category = "main"
-description = "Composable command line interface toolkit"
name = "click"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
version = "7.1.2"
+description = "Composable command line interface toolkit"
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
[[package]]
-category = "main"
-description = "Cross-platform colored terminal text."
name = "colorama"
+version = "0.4.3"
+description = "Cross-platform colored terminal text."
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "0.4.3"
[[package]]
-category = "main"
-description = "Colored terminal output for Python's logging module"
name = "coloredlogs"
+version = "14.0"
+description = "Colored terminal output for Python's logging module"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "14.0"
-
-[package.dependencies]
-humanfriendly = ">=7.1"
[package.extras]
cron = ["capturer (>=2.4)"]
+[package.dependencies]
+humanfriendly = ">=7.1"
+
[[package]]
-category = "main"
-description = "Compressed Rich Text Format (RTF) compression and decompression package"
name = "compressed-rtf"
+version = "1.0.6"
+description = "Compressed Rich Text Format (RTF) compression and decompression package"
+category = "main"
optional = false
python-versions = "*"
-version = "1.0.6"
[[package]]
-category = "main"
-description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
name = "cryptography"
+version = "2.6.1"
+description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
+category = "main"
optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
-version = "2.6.1"
-
-[package.dependencies]
-asn1crypto = ">=0.21.0"
-cffi = ">=1.8,<1.11.3 || >1.11.3"
-six = ">=1.4.1"
[package.extras]
docs = ["sphinx (>=1.6.5,<1.8.0 || >1.8.0)", "sphinx-rtd-theme"]
@@ -310,48 +305,53 @@ idna = ["idna (>=2.1)"]
pep8test = ["flake8", "flake8-import-order", "pep8-naming"]
test = ["pytest (>=3.6.0,<3.9.0 || >3.9.0,<3.9.1 || >3.9.1,<3.9.2 || >3.9.2)", "pretend", "iso8601", "pytz", "hypothesis (>=1.11.4,<3.79.2 || >3.79.2)"]
+[package.dependencies]
+asn1crypto = ">=0.21.0"
+cffi = ">=1.8,<1.11.3 || >1.11.3"
+six = ">=1.4.1"
+
[[package]]
-category = "main"
-description = "cssselect parses CSS3 Selectors and translates them to XPath 1.0"
name = "cssselect"
+version = "1.1.0"
+description = "cssselect parses CSS3 Selectors and translates them to XPath 1.0"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "1.1.0"
[[package]]
-category = "main"
-description = "A CSS Cascading Style Sheets library for Python"
name = "cssutils"
+version = "1.0.2"
+description = "A CSS Cascading Style Sheets library for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "1.0.2"
[[package]]
-category = "main"
-description = "Composable style cycles"
name = "cycler"
+version = "0.10.0"
+description = "Composable style cycles"
+category = "main"
optional = false
python-versions = "*"
-version = "0.10.0"
[package.dependencies]
six = "*"
[[package]]
-category = "main"
-description = "The Cython compiler for writing C extensions for the Python language."
name = "cython"
+version = "0.29.21"
+description = "The Cython compiler for writing C extensions for the Python language."
+category = "main"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
-version = "0.29.21"
[[package]]
-category = "main"
-description = "Date parsing library designed to parse dates from HTML pages"
name = "dateparser"
+version = "0.7.6"
+description = "Date parsing library designed to parse dates from HTML pages"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "0.7.6"
[package.dependencies]
python-dateutil = "*"
@@ -360,20 +360,20 @@ regex = "!=2019.02.19"
tzlocal = "*"
[[package]]
-category = "main"
-description = "Data-Driven/Decorated Tests"
name = "ddt"
+version = "1.2.0"
+description = "Data-Driven/Decorated Tests"
+category = "main"
optional = false
python-versions = "*"
-version = "1.2.0"
[[package]]
-category = "main"
-description = "A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner."
name = "debtcollector"
+version = "2.2.0"
+description = "A collection of Python deprecation patterns and strategies that help you collect your technical debt in a non-destructive manner."
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "2.2.0"
[package.dependencies]
pbr = ">=2.0.0,<2.1.0 || >2.1.0"
@@ -381,28 +381,28 @@ six = ">=1.10.0"
wrapt = ">=1.7.0"
[[package]]
-category = "main"
-description = "Better living through Python with decorators"
name = "decorator"
+version = "4.0.10"
+description = "Better living through Python with decorators"
+category = "main"
optional = false
python-versions = "*"
-version = "4.0.10"
[[package]]
-category = "main"
-description = "XML bomb protection for Python stdlib modules"
name = "defusedxml"
+version = "0.6.0"
+description = "XML bomb protection for Python stdlib modules"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "0.6.0"
[[package]]
-category = "main"
-description = "library for manipulating datetimes with ease and clarity"
name = "delorean"
+version = "1.0.0"
+description = "library for manipulating datetimes with ease and clarity"
+category = "main"
optional = false
python-versions = "*"
-version = "1.0.0"
[package.dependencies]
babel = ">=2.1.1"
@@ -412,91 +412,91 @@ pytz = ">=2015.7"
tzlocal = ">=1.2"
[[package]]
-category = "main"
-description = "encoder, decoder, and lint/validator for JSON (JavaScript Object Notation) compliant with RFC 7159"
name = "demjson"
+version = "2.2.4"
+description = "encoder, decoder, and lint/validator for JSON (JavaScript Object Notation) compliant with RFC 7159"
+category = "main"
optional = false
python-versions = "*"
-version = "2.2.4"
[[package]]
-category = "main"
-description = "DNS toolkit"
name = "dnspython"
+version = "2.0.0"
+description = "DNS toolkit"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "2.0.0"
[package.extras]
-curio = ["curio (>=1.2)", "sniffio (>=1.1)"]
dnssec = ["cryptography (>=2.6)"]
doh = ["requests", "requests-toolbelt"]
idna = ["idna (>=2.1)"]
+curio = ["curio (>=1.2)", "sniffio (>=1.1)"]
trio = ["trio (>=0.14.0)", "sniffio (>=1.1)"]
[[package]]
-category = "main"
-description = "Docutils -- Python Documentation Utilities"
name = "docutils"
+version = "0.12"
+description = "Docutils -- Python Documentation Utilities"
+category = "main"
optional = false
python-versions = "*"
-version = "0.12"
[[package]]
-category = "main"
-description = "eBay SDK for Python"
name = "ebaysdk"
+version = "2.1.5"
+description = "eBay SDK for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "2.1.5"
[package.dependencies]
lxml = "*"
requests = "*"
[[package]]
-category = "main"
-description = "A robust email syntax and deliverability validation library for Python 2.x/3.x."
name = "email-validator"
+version = "1.1.1"
+description = "A robust email syntax and deliverability validation library for Python 2.x/3.x."
+category = "main"
optional = false
python-versions = "*"
-version = "1.1.1"
[package.dependencies]
dnspython = ">=1.15.0"
idna = ">=2.0.0"
[[package]]
-category = "main"
-description = "Discover and load entry points from installed packages."
name = "entrypoints"
+version = "0.3"
+description = "Discover and load entry points from installed packages."
+category = "main"
optional = false
python-versions = ">=2.7"
-version = "0.3"
[[package]]
-category = "main"
-description = "Python library to manipulate ESC/POS Printers"
name = "escpos"
-optional = false
-python-versions = "*"
version = "1.6"
-
-[[package]]
+description = "Python library to manipulate ESC/POS Printers"
category = "main"
-description = "An implementation of lxml.xmlfile for the standard library"
-name = "et-xmlfile"
optional = false
python-versions = "*"
-version = "1.0.1"
[[package]]
+name = "et-xmlfile"
+version = "1.0.1"
+description = "An implementation of lxml.xmlfile for the standard library"
category = "main"
-description = "Programmer friendly subprocess wrapper"
+optional = false
+python-versions = "*"
+
+[[package]]
name = "executor"
+version = "23.1"
+description = "Programmer friendly subprocess wrapper"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "23.1"
[package.dependencies]
coloredlogs = ">=3.5"
@@ -506,12 +506,12 @@ property-manager = ">=3.0"
six = ">=1.9.0"
[[package]]
-category = "main"
-description = "Extracts emails and attachments saved in Microsoft Outlook's .msg files"
name = "extract-msg"
+version = "0.27.4"
+description = "Extracts emails and attachments saved in Microsoft Outlook's .msg files"
+category = "main"
optional = false
python-versions = "*"
-version = "0.27.4"
[package.dependencies]
compressed-rtf = "1.0.6"
@@ -520,88 +520,84 @@ olefile = "0.46"
tzlocal = "1.5.1"
[[package]]
-category = "main"
-description = "Factur-X: electronic invoicing standard for Germany & France"
name = "factur-x"
+version = "1.12"
+description = "Factur-X: electronic invoicing standard for Germany & France"
+category = "main"
optional = false
python-versions = "*"
-version = "1.12"
[package.dependencies]
-PyPDF4 = "*"
lxml = "*"
+PyPDF4 = "*"
[[package]]
-category = "main"
-description = "A python package that provides useful locks."
name = "fasteners"
+version = "0.15"
+description = "A python package that provides useful locks."
+category = "main"
optional = false
python-versions = "*"
-version = "0.15"
[package.dependencies]
monotonic = ">=0.1"
six = "*"
[[package]]
-category = "main"
-description = "Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds"
name = "feedparser"
+version = "5.2.1"
+description = "Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 0.3, and Atom 1.0 feeds"
+category = "main"
optional = false
python-versions = "*"
-version = "5.2.1"
[[package]]
-category = "main"
-description = "Let your Python tests travel through time"
name = "freezegun"
+version = "0.3.11"
+description = "Let your Python tests travel through time"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.3.11"
[package.dependencies]
python-dateutil = ">=1.0,<2.0 || >2.0"
six = "*"
[[package]]
-category = "main"
-description = "Clean single-source support for Python 3 and 2"
name = "future"
+version = "0.18.2"
+description = "Clean single-source support for Python 3 and 2"
+category = "main"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
-version = "0.18.2"
[[package]]
-category = "main"
-description = "A toolkit for generation of output for the web"
name = "genshi"
+version = "0.7.3"
+description = "A toolkit for generation of output for the web"
+category = "main"
optional = false
python-versions = "*"
-version = "0.7.3"
[package.extras]
i18n = ["Babel (>=0.8)"]
plugin = ["setuptools (>=0.6a2)"]
[[package]]
-category = "main"
-description = "Python bindings and utilities for GeoJSON"
name = "geojson"
+version = "2.4.1"
+description = "Python bindings and utilities for GeoJSON"
+category = "main"
optional = false
python-versions = "*"
-version = "2.4.1"
[[package]]
-category = "main"
-description = "Coroutine-based network library"
name = "gevent"
+version = "1.3.4"
+description = "Coroutine-based network library"
+category = "main"
optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
-version = "1.3.4"
-
-[package.dependencies]
-cffi = ">=1.11.5"
-greenlet = ">=0.4.13"
[package.extras]
dnspython = ["dnspython", "idna"]
@@ -609,128 +605,132 @@ doc = ["repoze.sphinx.autointerface"]
events = ["zope.event", "zope.interface"]
test = ["zope.interface", "zope.event", "requests", "objgraph", "psutil", "futures", "mock", "coverage (>=4.0)", "coveralls (>=1.0)"]
+[package.dependencies]
+cffi = ">=1.11.5"
+greenlet = ">=0.4.13"
+
[[package]]
-category = "main"
-description = "Git Object Database"
name = "gitdb"
+version = "4.0.5"
+description = "Git Object Database"
+category = "main"
optional = false
python-versions = ">=3.4"
-version = "4.0.5"
[package.dependencies]
smmap = ">=3.0.1,<4"
[[package]]
-category = "main"
-description = "Python Git Library"
name = "gitpython"
+version = "3.1.9"
+description = "Python Git Library"
+category = "main"
optional = false
python-versions = ">=3.4"
-version = "3.1.9"
[package.dependencies]
gitdb = ">=4.0.1,<5"
[[package]]
-category = "main"
-description = "A Git URL parsing module (supports parsing and rewriting)"
name = "giturlparse"
-optional = false
-python-versions = "*"
version = "0.9.2"
+description = "A Git URL parsing module (supports parsing and rewriting)"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "Lightweight in-process concurrent programming"
name = "greenlet"
-optional = false
-python-versions = "*"
version = "0.4.13"
-
-[[package]]
+description = "Lightweight in-process concurrent programming"
category = "main"
-description = "Turn HTML into equivalent Markdown-structured text."
-name = "html2text"
optional = false
python-versions = "*"
-version = "2016.9.19"
[[package]]
+name = "html2text"
+version = "2016.9.19"
+description = "Turn HTML into equivalent Markdown-structured text."
category = "main"
-description = "Human friendly output for text interfaces using Python"
+optional = false
+python-versions = "*"
+
+[[package]]
name = "humanfriendly"
+version = "8.2"
+description = "Human friendly output for text interfaces using Python"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "8.2"
[package.dependencies]
pyreadline = "*"
[[package]]
-category = "main"
-description = "Python humanize utilities"
name = "humanize"
+version = "2.5.0"
+description = "Python humanize utilities"
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "2.5.0"
[package.extras]
tests = ["freezegun", "pytest", "pytest-cov"]
[[package]]
-category = "main"
-description = "Internationalized Domain Names in Applications (IDNA)"
name = "idna"
+version = "2.7"
+description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
optional = false
python-versions = "*"
-version = "2.7"
[[package]]
-category = "main"
-description = "Getting image size from png/jpeg/jpeg2000/gif file"
name = "imagesize"
+version = "1.2.0"
+description = "Getting image size from png/jpeg/jpeg2000/gif file"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "1.2.0"
[[package]]
-category = "main"
-description = "Easy-to-use, Pythonic and complete IMAP client library"
name = "imapclient"
+version = "2.1.0"
+description = "Easy-to-use, Pythonic and complete IMAP client library"
+category = "main"
optional = false
python-versions = "*"
-version = "2.1.0"
-
-[package.dependencies]
-six = "*"
[package.extras]
doc = ["sphinx"]
test = ["mock (>=1.3.0)"]
+[package.dependencies]
+six = "*"
+
[[package]]
-category = "main"
-description = "Read metadata from Python packages"
-marker = "python_version < \"3.8\""
name = "importlib-metadata"
+version = "1.7.0"
+description = "Read metadata from Python packages"
+category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
-version = "1.7.0"
-
-[package.dependencies]
-zipp = ">=0.5"
+marker = "python_version < \"3.8\""
[package.extras]
docs = ["sphinx", "rst.linker"]
testing = ["packaging", "pep517", "importlib-resources (>=1.3)"]
+[package.dependencies]
+zipp = ">=0.5"
+
[[package]]
-category = "main"
-description = "Python parser to extract data from pdf invoice"
name = "invoice2data"
+version = "0.3.5"
+description = "Python parser to extract data from pdf invoice"
+category = "main"
optional = false
python-versions = "*"
-version = "0.3.5"
[package.dependencies]
chardet = "*"
@@ -740,61 +740,66 @@ pyyaml = "*"
unidecode = "*"
[[package]]
-category = "main"
-description = "Python versioning with requirements.txt syntax"
name = "iscompatible"
-optional = false
-python-versions = "*"
version = "0.1.1"
+description = "Python versioning with requirements.txt syntax"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "Simple module to parse ISO 8601 dates"
name = "iso8601"
+version = "0.1.12"
+description = "Simple module to parse ISO 8601 dates"
+category = "main"
optional = false
python-versions = "*"
-version = "0.1.12"
[[package]]
-category = "main"
-description = "An ISO 8601 date/time/duration parser and formatter"
name = "isodate"
+version = "0.6.0"
+description = "An ISO 8601 date/time/duration parser and formatter"
+category = "main"
optional = false
python-versions = "*"
-version = "0.6.0"
[package.dependencies]
six = "*"
[[package]]
-category = "main"
-description = "Julian dates from proleptic Gregorian and Julian calendars."
name = "jdcal"
+version = "1.4.1"
+description = "Julian dates from proleptic Gregorian and Julian calendars."
+category = "main"
optional = false
python-versions = "*"
-version = "1.4.1"
[[package]]
-category = "main"
-description = "A small but fast and easy to use stand-alone template engine written in pure python."
name = "jinja2"
+version = "2.10.1"
+description = "A small but fast and easy to use stand-alone template engine written in pure python."
+category = "main"
optional = false
python-versions = "*"
-version = "2.10.1"
-
-[package.dependencies]
-MarkupSafe = ">=0.23"
[package.extras]
i18n = ["Babel (>=0.8)"]
+[package.dependencies]
+MarkupSafe = ">=0.23"
+
[[package]]
-category = "main"
-description = "Python library for interacting with JIRA via REST APIs."
name = "jira"
+version = "2.0.0"
+description = "Python library for interacting with JIRA via REST APIs."
+category = "main"
optional = false
python-versions = "*"
-version = "2.0.0"
+
+[package.extras]
+async = ["requests-futures (>=0.9.7)"]
+cli = ["ipython (>=4.0.0,<6.0.0)", "ipython (>=4.0.0)"]
+opt = ["filemagic (>=1.6)", "pyjwt", "requests-jwt", "requests-kerberos"]
[package.dependencies]
defusedxml = "*"
@@ -806,29 +811,28 @@ setuptools = ">=20.10.1"
six = ">=1.10.0"
[package.dependencies.oauthlib]
-extras = ["signedtoken"]
version = ">=1.0.0"
-
-[package.extras]
-async = ["requests-futures (>=0.9.7)"]
-cli = ["ipython (>=4.0.0,<6.0.0)", "ipython (>=4.0.0)"]
-opt = ["filemagic (>=1.6)", "pyjwt", "requests-jwt", "requests-kerberos"]
+extras = ["signedtoken"]
[[package]]
-category = "main"
-description = "JSON Matching Expressions"
name = "jmespath"
+version = "0.10.0"
+description = "JSON Matching Expressions"
+category = "main"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
-version = "0.10.0"
[[package]]
-category = "main"
-description = "An implementation of JSON Schema validation for Python"
name = "jsonschema"
+version = "3.2.0"
+description = "An implementation of JSON Schema validation for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "3.2.0"
+
+[package.extras]
+format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"]
+format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"]
[package.dependencies]
attrs = ">=17.4.0"
@@ -837,32 +841,35 @@ setuptools = "*"
six = ">=1.11.0"
[package.dependencies.importlib-metadata]
-python = "<3.8"
version = "*"
-
-[package.extras]
-format = ["idna", "jsonpointer (>1.13)", "rfc3987", "strict-rfc3339", "webcolors"]
-format_nongpl = ["idna", "jsonpointer (>1.13)", "webcolors", "rfc3986-validator (>0.1.0)", "rfc3339-validator"]
+python = "<3.8"
[[package]]
-category = "main"
-description = "Placeholder description"
name = "jtutils"
+version = "0.0.6"
+description = "Placeholder description"
+category = "main"
optional = false
python-versions = "*"
-version = "0.0.6"
[package.dependencies]
beautifulsoup4 = "*"
requests = "*"
[[package]]
-category = "main"
-description = "Authentication Library for OpenStack Identity"
name = "keystoneauth1"
+version = "3.14.0"
+description = "Authentication Library for OpenStack Identity"
+category = "main"
optional = false
python-versions = "*"
-version = "3.14.0"
+
+[package.extras]
+betamax = ["betamax (>=0.7.0)", "fixtures (>=3.0.0)", "mock (>=2.0.0)"]
+kerberos = ["requests-kerberos (>=0.8.0)"]
+oauth1 = ["oauthlib (>=0.6.2)"]
+saml2 = ["lxml (>=3.4.1,<3.7.0 || >3.7.0)"]
+test = ["hacking (>=0.12.0,<0.13.0 || >0.13.0,<0.14)", "flake8-docstrings (0.2.1.post1)", "flake8-import-order (>=0.17.1)", "bandit (>=1.1.0)", "coverage (>=4.0,<4.4 || >4.4)", "fixtures (>=3.0.0)", "mock (>=2.0.0)", "oslo.config (>=5.2.0)", "openstackdocstheme (>=1.18.1)", "oslo.utils (>=3.33.0)", "oslotest (>=3.2.0)", "betamax (>=0.7.0)", "reno (>=2.5.0)", "requests-mock (>=1.2.0)", "sphinx (>=1.6.2,<1.6.6 || >1.6.6,<1.6.7 || >1.6.7)", "stestr (>=1.0.0)", "testresources (>=2.0.0)", "testtools (>=2.2.0)", "PyYAML (>=3.12)", "requests-kerberos (>=0.8.0)", "lxml (>=3.4.1,<3.7.0 || >3.7.0)", "oauthlib (>=0.6.2)"]
[package.dependencies]
iso8601 = ">=0.1.11"
@@ -872,66 +879,59 @@ requests = ">=2.14.2"
six = ">=1.10.0"
stevedore = ">=1.20.0"
-[package.extras]
-betamax = ["betamax (>=0.7.0)", "fixtures (>=3.0.0)", "mock (>=2.0.0)"]
-kerberos = ["requests-kerberos (>=0.8.0)"]
-oauth1 = ["oauthlib (>=0.6.2)"]
-saml2 = ["lxml (>=3.4.1,<3.7.0 || >3.7.0)"]
-test = ["hacking (>=0.12.0,<0.13.0 || >0.13.0,<0.14)", "flake8-docstrings (0.2.1.post1)", "flake8-import-order (>=0.17.1)", "bandit (>=1.1.0)", "coverage (>=4.0,<4.4 || >4.4)", "fixtures (>=3.0.0)", "mock (>=2.0.0)", "oslo.config (>=5.2.0)", "openstackdocstheme (>=1.18.1)", "oslo.utils (>=3.33.0)", "oslotest (>=3.2.0)", "betamax (>=0.7.0)", "reno (>=2.5.0)", "requests-mock (>=1.2.0)", "sphinx (>=1.6.2,<1.6.6 || >1.6.6,<1.6.7 || >1.6.7)", "stestr (>=1.0.0)", "testresources (>=2.0.0)", "testtools (>=2.2.0)", "PyYAML (>=3.12)", "requests-kerberos (>=0.8.0)", "lxml (>=3.4.1,<3.7.0 || >3.7.0)", "oauthlib (>=0.6.2)"]
-
[[package]]
-category = "main"
-description = "A fast implementation of the Cassowary constraint solver"
name = "kiwisolver"
+version = "1.2.0"
+description = "A fast implementation of the Cassowary constraint solver"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "1.2.0"
[[package]]
-category = "main"
-description = "Lightweight module to define serializable, schema-validated classes"
name = "lasso"
+version = "0.0.5"
+description = "Lightweight module to define serializable, schema-validated classes"
+category = "main"
optional = false
python-versions = "*"
-version = "0.0.5"
[package.dependencies]
delorean = ">=0.4.4"
schema = ">=0.3.1,<0.4.0"
[[package]]
-category = "main"
-description = "Levenshtein edit distance library"
name = "leven"
+version = "1.0.4"
+description = "Levenshtein edit distance library"
+category = "main"
optional = false
python-versions = "*"
-version = "1.0.4"
[package.dependencies]
nose = "*"
six = "*"
[[package]]
-category = "main"
-description = "SASS for Python: A straightforward binding of libsass for Python."
name = "libsass"
+version = "0.12.3"
+description = "SASS for Python: A straightforward binding of libsass for Python."
+category = "main"
optional = false
python-versions = "*"
-version = "0.12.3"
-
-[package.dependencies]
-six = "*"
[package.extras]
upload_appveyor_builds = ["twine (1.5.0)"]
+[package.dependencies]
+six = "*"
+
[[package]]
-category = "main"
-description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
name = "lxml"
+version = "4.2.3"
+description = "Powerful and Pythonic XML processing library combining libxml2/libxslt with the ElementTree API."
+category = "main"
optional = false
python-versions = "*"
-version = "4.2.3"
[package.extras]
cssselect = ["cssselect (>=0.7)"]
@@ -940,31 +940,31 @@ htmlsoup = ["beautifulsoup4"]
source = ["Cython (>=0.26.1)"]
[[package]]
-category = "main"
-description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
name = "mako"
+version = "1.0.4"
+description = "A super-fast templating language that borrows the best ideas from the existing templating languages."
+category = "main"
optional = false
python-versions = "*"
-version = "1.0.4"
[package.dependencies]
MarkupSafe = ">=0.9.2"
[[package]]
-category = "main"
-description = "Implements a XML/HTML/XHTML Markup safe string for Python"
name = "markupsafe"
+version = "0.23"
+description = "Implements a XML/HTML/XHTML Markup safe string for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "0.23"
[[package]]
-category = "main"
-description = "Python plotting package"
name = "matplotlib"
+version = "3.2.2"
+description = "Python plotting package"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "3.2.2"
[package.dependencies]
cycler = ">=0.10"
@@ -974,117 +974,117 @@ pyparsing = ">=2.0.1,<2.0.4 || >2.0.4,<2.1.2 || >2.1.2,<2.1.6 || >2.1.6"
python-dateutil = ">=2.1"
[[package]]
-category = "main"
-description = "Rolling backport of unittest.mock for all Pythons"
name = "mock"
+version = "2.0.0"
+description = "Rolling backport of unittest.mock for all Pythons"
+category = "main"
optional = false
python-versions = "*"
-version = "2.0.0"
-
-[package.dependencies]
-pbr = ">=0.11"
-six = ">=1.9"
[package.extras]
docs = ["sphinx", "Pygments (<2)", "jinja2 (<2.7)", "sphinx (<1.3)"]
test = ["unittest2 (>=1.1.0)"]
+[package.dependencies]
+pbr = ">=0.11"
+six = ">=1.9"
+
[[package]]
-category = "main"
-description = "An implementation of time.monotonic() for Python 2 & < 3.3"
name = "monotonic"
-optional = false
-python-versions = "*"
version = "1.5"
+description = "An implementation of time.monotonic() for Python 2 & < 3.3"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "D3 Viewer for Matplotlib"
name = "mpld3"
-optional = false
-python-versions = "*"
version = "0.3"
+description = "D3 Viewer for Matplotlib"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "MessagePack (de)serializer."
name = "msgpack"
-optional = false
-python-versions = "*"
version = "1.0.0"
+description = "MessagePack (de)serializer."
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "multidict implementation"
-marker = "python_version >= \"3.6\""
name = "multidict"
-optional = false
-python-versions = ">=3.5"
version = "4.7.6"
-
-[[package]]
+description = "multidict implementation"
category = "main"
-description = "Python interface to MySQL"
-name = "mysqlclient"
optional = false
python-versions = ">=3.5"
+marker = "python_version >= \"3.6\""
+
+[[package]]
+name = "mysqlclient"
version = "2.0.1"
+description = "Python interface to MySQL"
+category = "main"
+optional = false
+python-versions = ">=3.5"
[[package]]
-category = "main"
-description = "Simple natural order sorting API for Python"
name = "naturalsort"
-optional = false
-python-versions = "*"
version = "1.5.1"
+description = "Simple natural order sorting API for Python"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "A network address manipulation library for Python"
name = "netaddr"
-optional = false
-python-versions = "*"
version = "0.8.0"
+description = "A network address manipulation library for Python"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "Portable network interface information."
name = "netifaces"
-optional = false
-python-versions = "*"
version = "0.10.9"
+description = "Portable network interface information."
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "nose extends unittest to make testing easier"
name = "nose"
-optional = false
-python-versions = "*"
version = "1.3.7"
-
-[[package]]
+description = "nose extends unittest to make testing easier"
category = "main"
-description = "Modules to convert numbers to words. Easily extensible."
-name = "num2words"
optional = false
python-versions = "*"
-version = "0.5.6"
[[package]]
+name = "num2words"
+version = "0.5.6"
+description = "Modules to convert numbers to words. Easily extensible."
category = "main"
-description = "NumPy is the fundamental package for array computing with Python."
+optional = false
+python-versions = "*"
+
+[[package]]
name = "numpy"
+version = "1.19.2"
+description = "NumPy is the fundamental package for array computing with Python."
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "1.19.2"
[[package]]
-category = "main"
-description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
name = "oauthlib"
+version = "2.1.0"
+description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic"
+category = "main"
optional = false
python-versions = "*"
-version = "2.1.0"
[package.extras]
rsa = ["cryptography"]
@@ -1093,23 +1093,23 @@ signedtoken = ["cryptography", "pyjwt (>=1.0.0)"]
test = ["nose", "unittest2", "cryptography", "mock", "pyjwt (>=1.0.0)", "blinker"]
[[package]]
-category = "main"
-description = "This is a library of decorators for Odoo developers."
name = "oca.decorators"
+version = "0.0.1"
+description = "This is a library of decorators for Odoo developers."
+category = "main"
optional = false
python-versions = "*"
-version = "0.0.1"
[package.dependencies]
decorator = "*"
[[package]]
-category = "main"
-description = "Tools for working with the OFX (Open Financial Exchange) file format"
name = "ofxparse"
+version = "0.16"
+description = "Tools for working with the OFX (Open Financial Exchange) file format"
+category = "main"
optional = false
python-versions = "*"
-version = "0.16"
[package.dependencies]
beautifulsoup4 = "*"
@@ -1117,92 +1117,92 @@ lxml = "*"
six = "*"
[[package]]
-category = "main"
-description = "Python package to parse, read and write Microsoft OLE2 files (Structured Storage or Compound Document, Microsoft Office)"
name = "olefile"
+version = "0.46"
+description = "Python package to parse, read and write Microsoft OLE2 files (Structured Storage or Compound Document, Microsoft Office)"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.46"
[[package]]
-category = "main"
-description = "A Python library to read/write Excel 2010 xlsx/xlsm files"
name = "openpyxl"
+version = "3.0.5"
+description = "A Python library to read/write Excel 2010 xlsx/xlsm files"
+category = "main"
optional = false
python-versions = ">=3.6,"
-version = "3.0.5"
[package.dependencies]
et-xmlfile = "*"
jdcal = "*"
[[package]]
-category = "main"
-description = "A library with support functions to be called from Odoo migration scripts."
name = "openupgradelib"
-optional = false
-python-versions = "*"
version = "2.0.0"
+description = "A library with support functions to be called from Odoo migration scripts."
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "A dict-like object that ignore NoneType values for Python"
name = "optionaldict"
+version = "0.1.1"
+description = "A dict-like object that ignore NoneType values for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "0.1.1"
[[package]]
-category = "main"
-description = "Python library for consuming OpenStack sevice-types-authority data"
name = "os-service-types"
+version = "1.7.0"
+description = "Python library for consuming OpenStack sevice-types-authority data"
+category = "main"
optional = false
python-versions = "*"
-version = "1.7.0"
[package.dependencies]
pbr = ">=2.0.0,<2.1.0 || >2.1.0"
[[package]]
-category = "main"
-description = "Oslo Configuration API"
name = "oslo.config"
+version = "8.3.1"
+description = "Oslo Configuration API"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "8.3.1"
[package.dependencies]
-PyYAML = ">=3.12"
debtcollector = ">=1.2.0"
netaddr = ">=0.7.18"
"oslo.i18n" = ">=3.15.3"
+PyYAML = ">=3.12"
requests = ">=2.18.0"
rfc3986 = ">=1.2.0"
stevedore = ">=1.20.0"
[package.dependencies.importlib-metadata]
-python = "<3.8"
version = ">=1.7.0"
+python = "<3.8"
[[package]]
-category = "main"
-description = "Oslo i18n library"
name = "oslo.i18n"
+version = "5.0.0"
+description = "Oslo i18n library"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "5.0.0"
[package.dependencies]
pbr = ">=2.0.0,<2.1.0 || >2.1.0"
six = ">=1.10.0"
[[package]]
-category = "main"
-description = "Oslo Serialization library"
name = "oslo.serialization"
+version = "4.0.0"
+description = "Oslo Serialization library"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "4.0.0"
[package.dependencies]
msgpack = ">=0.5.2"
@@ -1211,12 +1211,12 @@ pbr = ">=2.0.0,<2.1.0 || >2.1.0"
pytz = ">=2013.6"
[[package]]
-category = "main"
-description = "Oslo Utility library"
name = "oslo.utils"
+version = "4.4.0"
+description = "Oslo Utility library"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "4.4.0"
[package.dependencies]
debtcollector = ">=1.2.0"
@@ -1231,45 +1231,40 @@ pytz = ">=2013.6"
six = ">=1.10.0"
[[package]]
-category = "main"
-description = "Core utilities for Python packages"
name = "packaging"
+version = "20.4"
+description = "Core utilities for Python packages"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "20.4"
[package.dependencies]
pyparsing = ">=2.0.2"
six = "*"
[[package]]
-category = "main"
-description = "Powerful data structures for data analysis, time series, and statistics"
name = "pandas"
+version = "1.1.2"
+description = "Powerful data structures for data analysis, time series, and statistics"
+category = "main"
optional = false
python-versions = ">=3.6.1"
-version = "1.1.2"
+
+[package.extras]
+test = ["pytest (>=4.0.2)", "pytest-xdist", "hypothesis (>=3.58)"]
[package.dependencies]
numpy = ">=1.15.4"
python-dateutil = ">=2.7.3"
pytz = ">=2017.2"
-[package.extras]
-test = ["pytest (>=4.0.2)", "pytest-xdist", "hypothesis (>=3.58)"]
-
[[package]]
-category = "main"
-description = "SSH2 protocol library"
name = "paramiko"
+version = "2.7.2"
+description = "SSH2 protocol library"
+category = "main"
optional = false
python-versions = "*"
-version = "2.7.2"
-
-[package.dependencies]
-bcrypt = ">=3.1.3"
-cryptography = ">=2.5"
-pynacl = ">=1.0.1"
[package.extras]
all = ["pyasn1 (>=0.1.7)", "pynacl (>=1.0.1)", "bcrypt (>=3.1.3)", "invoke (>=1.3)", "gssapi (>=1.4.1)", "pywin32 (>=2.1.8)"]
@@ -1277,68 +1272,88 @@ ed25519 = ["pynacl (>=1.0.1)", "bcrypt (>=3.1.3)"]
gssapi = ["pyasn1 (>=0.1.7)", "gssapi (>=1.4.1)", "pywin32 (>=2.1.8)"]
invoke = ["invoke (>=1.3)"]
+[package.dependencies]
+bcrypt = ">=3.1.3"
+cryptography = ">=2.5"
+pynacl = ">=1.0.1"
+
[[package]]
-category = "main"
-description = "comprehensive password hashing framework supporting over 30 schemes"
name = "passlib"
-optional = false
-python-versions = "*"
version = "1.6.5"
+description = "comprehensive password hashing framework supporting over 30 schemes"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "Python Build Reasonableness"
name = "pbr"
+version = "5.4.5"
+description = "Python Build Reasonableness"
+category = "main"
optional = false
python-versions = "*"
-version = "5.4.5"
[[package]]
-category = "main"
-description = "A wrapper around the pdftoppm and pdftocairo command line tools to convert PDF to a PIL Image list."
name = "pdf2image"
+version = "1.14.0"
+description = "A wrapper around the pdftoppm and pdftocairo command line tools to convert PDF to a PIL Image list."
+category = "main"
optional = false
python-versions = "*"
-version = "1.14.0"
[package.dependencies]
pillow = "*"
[[package]]
+name = "pexpect"
+version = "4.8.0"
+description = "Pexpect allows easy control of interactive console applications."
category = "main"
-description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers."
-name = "phonenumbers"
optional = false
python-versions = "*"
-version = "8.12.10"
+
+[package.dependencies]
+ptyprocess = ">=0.5"
[[package]]
+name = "phonenumbers"
+version = "8.12.10"
+description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers."
category = "main"
-description = "Python Imaging Library (Fork)"
+optional = false
+python-versions = "*"
+
+[[package]]
name = "pillow"
+version = "6.1.0"
+description = "Python Imaging Library (Fork)"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "6.1.0"
[[package]]
-category = "main"
-description = "An open-source, interactive graphing library for Python"
name = "plotly"
+version = "4.1.0"
+description = "An open-source, interactive graphing library for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "4.1.0"
[package.dependencies]
retrying = ">=1.3.3"
six = "*"
[[package]]
-category = "main"
-description = "Turns CSS blocks into style attributes"
name = "premailer"
+version = "3.7.0"
+description = "Turns CSS blocks into style attributes"
+category = "main"
optional = false
python-versions = "*"
-version = "3.7.0"
+
+[package.extras]
+dev = ["tox", "twine", "therapist", "black", "flake8", "wheel"]
+test = ["nose", "mock"]
[package.dependencies]
cachetools = "*"
@@ -1347,138 +1362,142 @@ cssutils = "*"
lxml = "*"
requests = "*"
-[package.extras]
-dev = ["tox", "twine", "therapist", "black", "flake8", "wheel"]
-test = ["nose", "mock"]
-
[[package]]
-category = "main"
-description = "Useful property variants for Python programming (required properties, writable properties, cached properties, etc)"
name = "property-manager"
+version = "3.0"
+description = "Useful property variants for Python programming (required properties, writable properties, cached properties, etc)"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "3.0"
[package.dependencies]
humanfriendly = ">=8.0"
verboselogs = ">=1.1"
[[package]]
-category = "main"
-description = "psutil is a cross-platform library for retrieving information onrunning processes and system utilization (CPU, memory, disks, network)in Python."
name = "psutil"
-optional = false
-python-versions = "*"
version = "4.3.1"
+description = "psutil is a cross-platform library for retrieving information onrunning processes and system utilization (CPU, memory, disks, network)in Python."
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "psycopg2 - Python-PostgreSQL Database Adapter"
name = "psycopg2"
-optional = false
-python-versions = "*"
version = "2.7.3.1"
+description = "psycopg2 - Python-PostgreSQL Database Adapter"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
+name = "ptyprocess"
+version = "0.6.0"
+description = "Run a subprocess in a pseudo terminal"
category = "main"
-description = "Asterisk Manager API Python interface."
+optional = false
+python-versions = "*"
+
+[[package]]
name = "py-asterisk"
+version = "0.5.18"
+description = "Asterisk Manager API Python interface."
+category = "main"
optional = false
python-versions = "*"
-version = "0.5.18"
[[package]]
-category = "main"
-description = "Formats declarations for py3o"
name = "py3o.formats"
+version = "0.3"
+description = "Formats declarations for py3o"
+category = "main"
optional = false
python-versions = "*"
-version = "0.3"
[package.dependencies]
setuptools = "*"
[[package]]
-category = "main"
-description = "An easy solution to design reports using LibreOffice"
name = "py3o.template"
+version = "0.10.0"
+description = "An easy solution to design reports using LibreOffice"
+category = "main"
optional = false
python-versions = "*"
-version = "0.10.0"
[package.dependencies]
-Pillow = "*"
babel = "*"
genshi = ">=0.7"
lxml = "*"
+Pillow = "*"
"pyjon.utils" = ">0.6"
setuptools = "*"
six = ">=1.9"
[[package]]
-category = "main"
-description = "ISO country, subdivision, language, currency and script definitions and their translations"
name = "pycountry"
+version = "20.7.3"
+description = "ISO country, subdivision, language, currency and script definitions and their translations"
+category = "main"
optional = false
python-versions = "*"
-version = "20.7.3"
[[package]]
-category = "main"
-description = "C parser in Python"
name = "pycparser"
+version = "2.20"
+description = "C parser in Python"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "2.20"
[[package]]
-category = "main"
-description = "Python interface to Graphviz's Dot"
name = "pydot"
+version = "1.2.3"
+description = "Python interface to Graphviz's Dot"
+category = "main"
optional = false
python-versions = "*"
-version = "1.2.3"
[package.dependencies]
pyparsing = ">=2.1.4"
[[package]]
-category = "main"
-description = "Pygments is a syntax highlighting package written in Python."
name = "pygments"
+version = "2.6.1"
+description = "Pygments is a syntax highlighting package written in Python."
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "2.6.1"
[[package]]
-category = "main"
-description = "count source lines of code (SLOC) using pygments"
name = "pygount"
+version = "1.1.0"
+description = "count source lines of code (SLOC) using pygments"
+category = "main"
optional = false
python-versions = "*"
-version = "1.1.0"
[package.dependencies]
pygments = ">=2.0"
[[package]]
-category = "main"
-description = "Useful tools library with classes to do singletons, dynamic function pointers..."
name = "pyjon.utils"
+version = "0.7"
+description = "Useful tools library with classes to do singletons, dynamic function pointers..."
+category = "main"
optional = false
python-versions = "*"
-version = "0.7"
[package.dependencies]
setuptools = "*"
[[package]]
-category = "main"
-description = "JSON Web Token implementation in Python"
name = "pyjwt"
+version = "1.7.1"
+description = "JSON Web Token implementation in Python"
+category = "main"
optional = false
python-versions = "*"
-version = "1.7.1"
[package.extras]
crypto = ["cryptography (>=1.4)"]
@@ -1486,137 +1505,137 @@ flake8 = ["flake8", "flake8-import-order", "pep8-naming"]
test = ["pytest (>=4.0.1,<5.0.0)", "pytest-cov (>=2.6.0,<3.0.0)", "pytest-runner (>=4.2,<5.0.0)"]
[[package]]
-category = "main"
-description = "Python modules for implementing LDAP clients"
name = "pyldap"
+version = "2.4.28"
+description = "Python modules for implementing LDAP clients"
+category = "main"
optional = false
python-versions = "*"
-version = "2.4.28"
[package.dependencies]
setuptools = "*"
[[package]]
-category = "main"
-description = "DB-API interface to Microsoft SQL Server for Python. (new Cython-based version)"
name = "pymssql"
+version = "2.1.5"
+description = "DB-API interface to Microsoft SQL Server for Python. (new Cython-based version)"
+category = "main"
optional = false
python-versions = "*"
-version = "2.1.5"
[[package]]
-category = "main"
-description = "Python binding to the Networking and Cryptography (NaCl) library"
name = "pynacl"
+version = "1.4.0"
+description = "Python binding to the Networking and Cryptography (NaCl) library"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "1.4.0"
-
-[package.dependencies]
-cffi = ">=1.4.1"
-six = "*"
[package.extras]
docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"]
tests = ["pytest (>=3.2.1,<3.3.0 || >3.3.0)", "hypothesis (>=3.27.0)"]
+[package.dependencies]
+cffi = ">=1.4.1"
+six = "*"
+
[[package]]
-category = "main"
-description = "Python One Time Password Library"
name = "pyotp"
-optional = false
-python-versions = "*"
version = "2.4.0"
+description = "Python One Time Password Library"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "Python parsing module"
name = "pyparsing"
-optional = false
-python-versions = "*"
version = "2.1.10"
+description = "Python parsing module"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "PDF toolkit"
name = "pypdf2"
-optional = false
-python-versions = "*"
version = "1.26.0"
-
-[[package]]
-category = "main"
description = "PDF toolkit"
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
name = "pypdf4"
-optional = false
-python-versions = "*"
version = "1.27.0"
+description = "PDF toolkit"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "A python implmementation of GNU readline."
-marker = "sys_platform == \"win32\""
name = "pyreadline"
-optional = false
-python-versions = "*"
version = "2.1"
+description = "A python implmementation of GNU readline."
+category = "main"
+optional = false
+python-versions = "*"
+marker = "sys_platform == \"win32\""
[[package]]
-category = "main"
-description = "Implementation of some RFC standard algorithms"
name = "pyrfc"
+version = "0.1.2"
+description = "Implementation of some RFC standard algorithms"
+category = "main"
optional = false
python-versions = "*"
-version = "0.1.2"
[[package]]
-category = "main"
-description = "Persistent/Functional/Immutable data structures"
name = "pyrsistent"
+version = "0.16.0"
+description = "Persistent/Functional/Immutable data structures"
+category = "main"
optional = false
python-versions = "*"
-version = "0.16.0"
[package.dependencies]
six = "*"
[[package]]
-category = "main"
-description = "Python Serial Port Extension"
name = "pyserial"
+version = "3.1.1"
+description = "Python Serial Port Extension"
+category = "main"
optional = false
python-versions = "*"
-version = "3.1.1"
[[package]]
-category = "main"
-description = "A friendly face on SFTP"
name = "pysftp"
+version = "0.2.9"
+description = "A friendly face on SFTP"
+category = "main"
optional = false
python-versions = "*"
-version = "0.2.9"
[package.dependencies]
paramiko = ">=1.17"
[[package]]
-category = "main"
-description = "A pure Python chess library with move generation and validation, Polyglot opening book probing, PGN reading and writing, Gaviota tablebase probing, Syzygy tablebase probing and XBoard/UCI engine communication."
name = "python-chess"
+version = "0.23.11"
+description = "A pure Python chess library with move generation and validation, Polyglot opening book probing, PGN reading and writing, Gaviota tablebase probing, Syzygy tablebase probing and XBoard/UCI engine communication."
+category = "main"
optional = false
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
-version = "0.23.11"
[package.extras]
test = ["spur"]
[[package]]
-category = "main"
-description = "Python tools for manipulating csv files"
name = "python-csv"
+version = "0.0.13"
+description = "Python tools for manipulating csv files"
+category = "main"
optional = false
python-versions = "*"
-version = "0.0.13"
[package.dependencies]
argparse = "*"
@@ -1630,45 +1649,45 @@ xlrd = "*"
xmltodict = "*"
[[package]]
-category = "main"
-description = "Extensions to the standard Python datetime module"
name = "python-dateutil"
+version = "2.7.3"
+description = "Extensions to the standard Python datetime module"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-version = "2.7.3"
[package.dependencies]
six = ">=1.5"
[[package]]
-category = "main"
-description = "Automate boring git tasks"
name = "python-git"
+version = "2018.2.1"
+description = "Automate boring git tasks"
+category = "main"
optional = false
python-versions = "*"
-version = "2018.2.1"
[package.dependencies]
send2trash = "*"
[[package]]
-category = "main"
-description = "A python library adding a json log formatter"
name = "python-json-logger"
+version = "0.1.5"
+description = "A python library adding a json log formatter"
+category = "main"
optional = false
python-versions = "*"
-version = "0.1.5"
[package.dependencies]
setuptools = "*"
[[package]]
-category = "main"
-description = "Client Library for OpenStack Identity"
name = "python-keystoneclient"
+version = "3.22.0"
+description = "Client Library for OpenStack Identity"
+category = "main"
optional = false
python-versions = "*"
-version = "3.22.0"
[package.dependencies]
debtcollector = ">=1.2.0"
@@ -1683,26 +1702,26 @@ six = ">=1.10.0"
stevedore = ">=1.20.0"
[[package]]
-category = "main"
-description = "A Python Slugify application that handles Unicode"
name = "python-slugify"
+version = "4.0.1"
+description = "A Python Slugify application that handles Unicode"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "4.0.1"
-
-[package.dependencies]
-text-unidecode = ">=1.3"
[package.extras]
unidecode = ["Unidecode (>=1.1.1)"]
+[package.dependencies]
+text-unidecode = ">=1.3"
+
[[package]]
-category = "main"
-description = "Python module to handle standardized numbers and codes"
name = "python-stdnum"
+version = "1.14"
+description = "Python module to handle standardized numbers and codes"
+category = "main"
optional = false
python-versions = "*"
-version = "1.14"
[package.extras]
soap = ["zeep"]
@@ -1710,125 +1729,129 @@ soap-alt = ["suds"]
soap-fallback = ["pysimplesoap"]
[[package]]
-category = "main"
-description = "OpenStack Object Storage API Client Library"
name = "python-swiftclient"
+version = "3.9.0"
+description = "OpenStack Object Storage API Client Library"
+category = "main"
optional = false
python-versions = "*"
-version = "3.9.0"
-
-[package.dependencies]
-requests = ">=1.1.0"
-six = ">=1.9.0"
[package.extras]
keystone = ["python-keystoneclient (>=0.7.0)"]
test = ["hacking (>=1.1.0,<1.2.0)", "coverage (>=4.0,<4.4 || >4.4)", "keystoneauth1 (>=3.4.0)", "mock (>=1.2.0)", "stestr (>=2.0.0)", "openstacksdk (>=0.11.0)"]
+[package.dependencies]
+requests = ">=1.1.0"
+six = ">=1.9.0"
+
[[package]]
-category = "main"
-description = "Python based U2F server library"
name = "python-u2flib-server"
+version = "5.0.0"
+description = "Python based U2F server library"
+category = "main"
optional = false
python-versions = "*"
-version = "5.0.0"
+
+[package.extras]
+u2f_server = ["webob"]
[package.dependencies]
cryptography = ">=1.2"
six = "*"
-[package.extras]
-u2f_server = ["webob"]
-
[[package]]
-category = "main"
-description = "World timezone definitions, modern and historical"
name = "pytz"
-optional = false
-python-versions = "*"
version = "2017.2"
-
-[[package]]
+description = "World timezone definitions, modern and historical"
category = "main"
-description = "Python USB access module"
-name = "pyusb"
optional = false
python-versions = "*"
-version = "1.0.0"
[[package]]
+name = "pyusb"
+version = "1.0.0"
+description = "Python USB access module"
category = "main"
-description = "YAML parser and emitter for Python"
+optional = false
+python-versions = "*"
+
+[[package]]
name = "pyyaml"
+version = "4.2b4"
+description = "YAML parser and emitter for Python"
+category = "main"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "4.2b4"
[[package]]
-category = "main"
-description = "Read one-dimensional barcodes and QR codes from Python 2 and 3."
name = "pyzbar"
+version = "0.1.8"
+description = "Read one-dimensional barcodes and QR codes from Python 2 and 3."
+category = "main"
optional = false
python-versions = "*"
-version = "0.1.8"
[package.extras]
scripts = ["Pillow (>=3.2.0)"]
[[package]]
-category = "main"
-description = "QR Code image generator"
name = "qrcode"
+version = "5.3"
+description = "QR Code image generator"
+category = "main"
optional = false
python-versions = "*"
-version = "5.3"
[package.dependencies]
six = "*"
[[package]]
-category = "main"
-description = "Raven is a client for Sentry (https://getsentry.com)"
name = "raven"
+version = "6.10.0"
+description = "Raven is a client for Sentry (https://getsentry.com)"
+category = "main"
optional = false
python-versions = "*"
-version = "6.10.0"
[package.extras]
flask = ["Flask (>=0.8)", "blinker (>=1.1)"]
tests = ["bottle", "celery (>=2.5)", "coverage (<4)", "exam (>=0.5.2)", "flake8 (3.5.0)", "logbook", "mock", "nose", "pytz", "pytest (>=3.2.0,<3.3.0)", "pytest-timeout (1.2.1)", "pytest-xdist (1.18.2)", "pytest-pythonpath (0.7.2)", "pytest-cov (2.5.1)", "pytest-flake8 (1.0.0)", "requests", "tornado (>=4.1,<5.0)", "tox", "webob", "webtest", "wheel", "anyjson", "zconfig", "Flask (>=0.8)", "blinker (>=1.1)", "Flask-Login (>=0.2.0)", "blinker (>=1.1)", "sanic (>=0.7.0)", "aiohttp"]
[[package]]
-category = "main"
-description = "Python client for Redis key-value store"
name = "redis"
-optional = false
-python-versions = "*"
version = "2.10.5"
+description = "Python client for Redis key-value store"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "Alternative regular expression module, to replace re."
name = "regex"
-optional = false
-python-versions = "*"
version = "2020.7.14"
-
-[[package]]
+description = "Alternative regular expression module, to replace re."
category = "main"
-description = "The Reportlab Toolkit"
-name = "reportlab"
optional = false
python-versions = "*"
-version = "3.3.0"
[[package]]
+name = "reportlab"
+version = "3.3.0"
+description = "The Reportlab Toolkit"
category = "main"
-description = "Python HTTP for Humans."
+optional = false
+python-versions = "*"
+
+[[package]]
name = "requests"
+version = "2.20.0"
+description = "Python HTTP for Humans."
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "2.20.0"
+
+[package.extras]
+security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)"]
+socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"]
[package.dependencies]
certifi = ">=2017.4.17"
@@ -1836,81 +1859,77 @@ chardet = ">=3.0.2,<3.1.0"
idna = ">=2.5,<2.8"
urllib3 = ">=1.21.1,<1.25"
-[package.extras]
-security = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)"]
-socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7)", "win-inet-pton"]
-
[[package]]
-category = "main"
-description = "Mock out responses from the requests package"
name = "requests-mock"
+version = "1.8.0"
+description = "Mock out responses from the requests package"
+category = "main"
optional = false
python-versions = "*"
-version = "1.8.0"
-
-[package.dependencies]
-requests = ">=2.3,<3"
-six = "*"
[package.extras]
fixture = ["fixtures"]
test = ["fixtures", "mock", "purl", "pytest", "sphinx", "testrepository (>=0.0.18)", "testtools"]
+[package.dependencies]
+requests = ">=2.3,<3"
+six = "*"
+
[[package]]
-category = "main"
-description = "OAuthlib authentication support for Requests."
name = "requests-oauthlib"
+version = "1.1.0"
+description = "OAuthlib authentication support for Requests."
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "1.1.0"
+
+[package.extras]
+rsa = ["oauthlib (>=2.1.0,<3.0.0)"]
[package.dependencies]
oauthlib = ">=2.1.0,<3.0.0"
requests = ">=2.0.0"
-[package.extras]
-rsa = ["oauthlib (>=2.1.0,<3.0.0)"]
-
[[package]]
-category = "main"
-description = "A utility belt for advanced users of python-requests"
name = "requests-toolbelt"
+version = "0.9.1"
+description = "A utility belt for advanced users of python-requests"
+category = "main"
optional = false
python-versions = "*"
-version = "0.9.1"
[package.dependencies]
requests = ">=2.0.1,<3.0.0"
[[package]]
-category = "main"
-description = "Retrying"
name = "retrying"
+version = "1.3.3"
+description = "Retrying"
+category = "main"
optional = false
python-versions = "*"
-version = "1.3.3"
[package.dependencies]
six = ">=1.7.0"
[[package]]
-category = "main"
-description = "Validating URI References per RFC 3986"
name = "rfc3986"
+version = "1.4.0"
+description = "Validating URI References per RFC 3986"
+category = "main"
optional = false
python-versions = "*"
-version = "1.4.0"
[package.extras]
idna2008 = ["idna"]
[[package]]
-category = "main"
-description = "Simple command line interface for backup rotation"
name = "rotate-backups"
+version = "4.3"
+description = "Simple command line interface for backup rotation"
+category = "main"
optional = false
python-versions = "*"
-version = "4.3"
[package.dependencies]
coloredlogs = ">=5.0"
@@ -1924,51 +1943,51 @@ six = ">=1.9.0"
verboselogs = ">=1.4"
[[package]]
-category = "main"
-description = "Simple command line interface for S3 backup rotation"
name = "rotate-backups-s3"
+version = "0.3"
+description = "Simple command line interface for S3 backup rotation"
+category = "main"
optional = false
python-versions = "*"
-version = "0.3"
[package.dependencies]
boto = "*"
rotate-backups = "4.3"
[[package]]
-category = "main"
-description = "An Amazon S3 Transfer Manager"
name = "s3transfer"
+version = "0.2.1"
+description = "An Amazon S3 Transfer Manager"
+category = "main"
optional = false
python-versions = "*"
-version = "0.2.1"
[package.dependencies]
botocore = ">=1.12.36,<2.0.0"
[[package]]
-category = "main"
-description = "Simple data validation library"
name = "schema"
-optional = false
-python-versions = "*"
version = "0.3.1"
+description = "Simple data validation library"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "Send file to trash natively under Mac OS X, Windows and Linux."
name = "send2trash"
+version = "1.5.0"
+description = "Send file to trash natively under Mac OS X, Windows and Linux."
+category = "main"
optional = false
python-versions = "*"
-version = "1.5.0"
[[package]]
-category = "main"
-description = "A framework for serializing/deserializing JSON/YAML/XML into python class instances and vice versa"
name = "serial"
+version = "0.0.97"
+description = "A framework for serializing/deserializing JSON/YAML/XML into python class instances and vice versa"
+category = "main"
optional = false
python-versions = "*"
-version = "0.0.97"
[package.dependencies]
future = ">=0.17.1"
@@ -1976,12 +1995,12 @@ iso8601 = ">=0.1.12"
pyyaml = ">=3.13"
[[package]]
-category = "main"
-description = "Geometric objects, predicates, and operations"
name = "shapely"
+version = "1.6.4.post2"
+description = "Geometric objects, predicates, and operations"
+category = "main"
optional = false
python-versions = "*"
-version = "1.6.4.post2"
[package.extras]
all = ["pytest", "pytest-cov", "numpy"]
@@ -1989,90 +2008,95 @@ test = ["pytest", "pytest-cov"]
vectorized = ["numpy"]
[[package]]
-category = "main"
-description = "A simple, safe single expression evaluator library."
name = "simpleeval"
+version = "0.9.10"
+description = "A simple, safe single expression evaluator library."
+category = "main"
optional = false
python-versions = "*"
-version = "0.9.10"
[[package]]
-category = "main"
-description = "Simple, fast, extensible JSON encoder/decoder for Python"
name = "simplejson"
+version = "3.17.2"
+description = "Simple, fast, extensible JSON encoder/decoder for Python"
+category = "main"
optional = false
python-versions = ">=2.5, !=3.0.*, !=3.1.*, !=3.2.*"
-version = "3.17.2"
[[package]]
-category = "main"
-description = "Python 2 and 3 compatibility utilities"
name = "six"
+version = "1.15.0"
+description = "Python 2 and 3 compatibility utilities"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-version = "1.15.0"
[[package]]
-category = "main"
-description = "A generic slugifier."
name = "slugify"
+version = "0.0.1"
+description = "A generic slugifier."
+category = "main"
optional = false
python-versions = "*"
-version = "0.0.1"
[[package]]
-category = "main"
-description = "A pure Python implementation of a sliding window memory map manager"
name = "smmap"
+version = "3.0.4"
+description = "A pure Python implementation of a sliding window memory map manager"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "3.0.4"
[[package]]
-category = "main"
-description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms."
name = "snowballstemmer"
+version = "2.0.0"
+description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms."
+category = "main"
optional = false
python-versions = "*"
-version = "2.0.0"
[[package]]
-category = "main"
-description = "SOAP Services for Python"
name = "soappy"
+version = "0.12.22"
+description = "SOAP Services for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "0.12.22"
[package.dependencies]
defusedxml = "*"
wstools = "*"
[[package]]
-category = "main"
-description = "A modern CSS selector implementation for Beautiful Soup."
name = "soupsieve"
+version = "1.9.6"
+description = "A modern CSS selector implementation for Beautiful Soup."
+category = "main"
optional = false
python-versions = "*"
-version = "1.9.6"
[[package]]
-category = "main"
-description = "Python documentation generator"
name = "sphinx"
+version = "3.2.1"
+description = "Python documentation generator"
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "3.2.1"
+
+[package.extras]
+docs = ["sphinxcontrib-websupport"]
+lint = ["flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.780)", "docutils-stubs"]
+test = ["pytest", "pytest-cov", "html5lib", "typed-ast", "cython"]
[package.dependencies]
-Jinja2 = ">=2.3"
-Pygments = ">=2.0"
alabaster = ">=0.7,<0.8"
babel = ">=1.3"
colorama = ">=0.3.5"
docutils = ">=0.12"
imagesize = "*"
+Jinja2 = ">=2.3"
packaging = "*"
+Pygments = ">=2.0"
requests = ">=2.5.0"
setuptools = "*"
snowballstemmer = ">=1.1"
@@ -2083,18 +2107,17 @@ sphinxcontrib-jsmath = "*"
sphinxcontrib-qthelp = "*"
sphinxcontrib-serializinghtml = "*"
-[package.extras]
-docs = ["sphinxcontrib-websupport"]
-lint = ["flake8 (>=3.5.0)", "flake8-import-order", "mypy (>=0.780)", "docutils-stubs"]
-test = ["pytest", "pytest-cov", "html5lib", "typed-ast", "cython"]
-
[[package]]
-category = "main"
-description = "Sphinx utility that make it easy to translate and to apply translation."
name = "sphinx-intl"
+version = "2.0.1"
+description = "Sphinx utility that make it easy to translate and to apply translation."
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "2.0.1"
+
+[package.extras]
+test = ["pytest", "mock"]
+transifex = ["transifex_client (>=0.11)"]
[package.dependencies]
babel = "*"
@@ -2102,114 +2125,110 @@ click = "*"
setuptools = "*"
sphinx = "*"
-[package.extras]
-test = ["pytest", "mock"]
-transifex = ["transifex_client (>=0.11)"]
-
[[package]]
-category = "main"
-description = "Sphinx extension for embedding sequences of file alterations"
name = "sphinx-patchqueue"
+version = "1.0.4"
+description = "Sphinx extension for embedding sequences of file alterations"
+category = "main"
optional = false
python-versions = "*"
-version = "1.0.4"
[package.dependencies]
sphinx = "*"
unidiff = "*"
[[package]]
-category = "main"
-description = "Read the Docs theme for Sphinx"
name = "sphinx-rtd-theme"
+version = "0.5.0"
+description = "Read the Docs theme for Sphinx"
+category = "main"
optional = false
python-versions = "*"
-version = "0.5.0"
-
-[package.dependencies]
-sphinx = "*"
[package.extras]
dev = ["transifex-client", "sphinxcontrib-httpdomain", "bump2version"]
+[package.dependencies]
+sphinx = "*"
+
[[package]]
-category = "main"
-description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
name = "sphinxcontrib-applehelp"
+version = "1.0.2"
+description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "1.0.2"
[package.extras]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
[[package]]
-category = "main"
-description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
name = "sphinxcontrib-devhelp"
+version = "1.0.2"
+description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "1.0.2"
[package.extras]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
[[package]]
-category = "main"
-description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
name = "sphinxcontrib-htmlhelp"
+version = "1.0.3"
+description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "1.0.3"
[package.extras]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest", "html5lib"]
[[package]]
-category = "main"
-description = "A sphinx extension which renders display math in HTML via JavaScript"
name = "sphinxcontrib-jsmath"
+version = "1.0.1"
+description = "A sphinx extension which renders display math in HTML via JavaScript"
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "1.0.1"
[package.extras]
test = ["pytest", "flake8", "mypy"]
[[package]]
-category = "main"
-description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
name = "sphinxcontrib-qthelp"
-optional = false
-python-versions = ">=3.5"
version = "1.0.3"
-
-[package.extras]
-lint = ["flake8", "mypy", "docutils-stubs"]
-test = ["pytest"]
-
-[[package]]
+description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
category = "main"
-description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
-name = "sphinxcontrib-serializinghtml"
optional = false
python-versions = ">=3.5"
-version = "1.1.4"
[package.extras]
lint = ["flake8", "mypy", "docutils-stubs"]
test = ["pytest"]
[[package]]
+name = "sphinxcontrib-serializinghtml"
+version = "1.1.4"
+description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
category = "main"
-description = "Database Abstraction Library"
+optional = false
+python-versions = ">=3.5"
+
+[package.extras]
+lint = ["flake8", "mypy", "docutils-stubs"]
+test = ["pytest"]
+
+[[package]]
name = "sqlalchemy"
+version = "1.3.19"
+description = "Database Abstraction Library"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "1.3.19"
[package.extras]
mssql = ["pyodbc"]
@@ -2224,149 +2243,149 @@ postgresql_psycopg2cffi = ["psycopg2cffi"]
pymysql = ["pymysql"]
[[package]]
-category = "main"
-description = "A simple statsd client."
name = "statsd"
+version = "3.2.1"
+description = "A simple statsd client."
+category = "main"
optional = false
python-versions = "*"
-version = "3.2.1"
[[package]]
-category = "main"
-description = "Manage dynamic plugins for Python applications"
name = "stevedore"
+version = "3.2.0"
+description = "Manage dynamic plugins for Python applications"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "3.2.0"
[package.dependencies]
pbr = ">=2.0.0,<2.1.0 || >2.1.0"
[package.dependencies.importlib-metadata]
-python = "<3.8"
version = ">=1.7.0"
+python = "<3.8"
[[package]]
-category = "main"
-description = "Lightweight SOAP client (Jurko's fork)"
name = "suds-jurko"
-optional = false
-python-versions = "*"
version = "0.6"
+description = "Lightweight SOAP client (Jurko's fork)"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "The most basic Text::Unidecode port"
name = "text-unidecode"
-optional = false
-python-versions = "*"
version = "1.3"
-
-[[package]]
+description = "The most basic Text::Unidecode port"
category = "main"
-description = "Python Library for Tom's Obvious, Minimal Language"
-name = "toml"
optional = false
python-versions = "*"
-version = "0.10.1"
[[package]]
+name = "toml"
+version = "0.10.1"
+description = "Python Library for Tom's Obvious, Minimal Language"
category = "main"
-description = "List processing tools and functional utilities"
+optional = false
+python-versions = "*"
+
+[[package]]
name = "toolz"
+version = "0.10.0"
+description = "List processing tools and functional utilities"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.10.0"
[[package]]
-category = "main"
-description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
name = "tornado"
+version = "6.0.4"
+description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
+category = "main"
optional = false
python-versions = ">= 3.5"
-version = "6.0.4"
[[package]]
-category = "main"
-description = "Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs"
name = "twython"
+version = "3.8.2"
+description = "Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs"
+category = "main"
optional = false
python-versions = "*"
-version = "3.8.2"
[package.dependencies]
requests = ">=2.1.0"
requests-oauthlib = ">=0.4.0"
[[package]]
-category = "main"
-description = "Backported and Experimental Type Hints for Python 3.5+"
-marker = "python_version >= \"3.6\" and python_version < \"3.8\""
name = "typing-extensions"
+version = "3.7.4.2"
+description = "Backported and Experimental Type Hints for Python 3.5+"
+category = "main"
optional = false
python-versions = "*"
-version = "3.7.4.2"
+marker = "python_version >= \"3.6\" and python_version < \"3.8\""
[[package]]
-category = "main"
-description = "tzinfo object for the local timezone"
name = "tzlocal"
+version = "1.5.1"
+description = "tzinfo object for the local timezone"
+category = "main"
optional = false
python-versions = "*"
-version = "1.5.1"
[package.dependencies]
pytz = "*"
[[package]]
-category = "main"
-description = "ASCII transliterations of Unicode text"
name = "unidecode"
-optional = false
-python-versions = "*"
version = "1.0.22"
-
-[[package]]
+description = "ASCII transliterations of Unicode text"
category = "main"
-description = "Unified diff parsing/metadata extraction library."
-name = "unidiff"
optional = false
python-versions = "*"
-version = "0.6.0"
[[package]]
+name = "unidiff"
+version = "0.6.0"
+description = "Unified diff parsing/metadata extraction library."
category = "main"
-description = "HTTP library with thread-safe connection pooling, file post, and more."
+optional = false
+python-versions = "*"
+
+[[package]]
name = "urllib3"
+version = "1.24.3"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
-version = "1.24.3"
[package.extras]
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"]
[[package]]
-category = "main"
-description = "[UNMAINTAINED] Python module to validate VAT numbers"
name = "vatnumber"
+version = "1.2"
+description = "[UNMAINTAINED] Python module to validate VAT numbers"
+category = "main"
optional = false
python-versions = "*"
-version = "1.2"
-
-[package.dependencies]
-python-stdnum = "*"
[package.extras]
suds = ["suds"]
+[package.dependencies]
+python-stdnum = "*"
+
[[package]]
-category = "main"
-description = "Automatically mock your HTTP interactions to simplify and speed up testing"
name = "vcrpy"
+version = "4.1.0"
+description = "Automatically mock your HTTP interactions to simplify and speed up testing"
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "4.1.0"
[package.dependencies]
PyYAML = "*"
@@ -2374,79 +2393,83 @@ six = ">=1.5"
wrapt = "*"
[package.dependencies.yarl]
-python = ">=3.6"
version = "*"
+python = ">=3.6"
[[package]]
-category = "main"
-description = "Python unittest integration for vcr.py"
name = "vcrpy-unittest"
+version = "0.1.7"
+description = "Python unittest integration for vcr.py"
+category = "main"
optional = false
python-versions = "*"
-version = "0.1.7"
[package.dependencies]
vcrpy = "*"
[[package]]
-category = "main"
-description = "Verbose logging level for Python's logging module"
name = "verboselogs"
+version = "1.7"
+description = "Verbose logging level for Python's logging module"
+category = "main"
optional = false
python-versions = "*"
-version = "1.7"
[[package]]
-category = "main"
-description = "A full-featured Python package for parsing and creating iCalendar and vCard files"
name = "vobject"
+version = "0.9.3"
+description = "A full-featured Python package for parsing and creating iCalendar and vCard files"
+category = "main"
optional = false
python-versions = "*"
-version = "0.9.3"
[package.dependencies]
python-dateutil = ">=2.4.0"
[[package]]
-category = "main"
-description = "Voicent Python Library"
name = "voicent-python"
+version = "1.0"
+description = "Voicent Python Library"
+category = "main"
optional = false
python-versions = "*"
-version = "1.0"
[package.dependencies]
requests = ">=2.20.0"
[[package]]
-category = "main"
-description = "A library for working with color names and color values formats defined by HTML and CSS."
name = "webcolors"
+version = "1.10"
+description = "A library for working with color names and color values formats defined by HTML and CSS."
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-version = "1.10"
[package.dependencies]
six = "*"
[[package]]
-category = "main"
-description = "WebSocket client for Python. hybi13 is supported."
name = "websocket-client"
+version = "0.57.0"
+description = "WebSocket client for Python. hybi13 is supported."
+category = "main"
optional = false
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.57.0"
[package.dependencies]
six = "*"
[[package]]
-category = "main"
-description = "WeChat SDK for Python"
name = "wechatpy"
+version = "1.8.14"
+description = "WeChat SDK for Python"
+category = "main"
optional = false
python-versions = "*"
-version = "1.8.14"
+
+[package.extras]
+cryptography = ["cryptography"]
+pycrypto = ["pycryptodome"]
[package.dependencies]
optionaldict = ">=0.1.0"
@@ -2455,44 +2478,40 @@ requests = ">=2.4.3"
six = ">=1.8.0"
xmltodict = ">=0.11.0"
-[package.extras]
-cryptography = ["cryptography"]
-pycrypto = ["pycryptodome"]
-
[[package]]
-category = "main"
-description = "The Swiss Army knife of Python web development"
name = "werkzeug"
+version = "0.11.15"
+description = "The Swiss Army knife of Python web development"
+category = "main"
optional = false
python-versions = "*"
-version = "0.11.15"
[[package]]
-category = "main"
-description = "A built-package format for Python"
name = "wheel"
+version = "0.35.1"
+description = "A built-package format for Python"
+category = "main"
optional = false
python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
-version = "0.35.1"
[package.extras]
test = ["pytest (>=3.0.0)", "pytest-cov"]
[[package]]
-category = "main"
-description = "Module for decorators, wrappers and monkey patching."
name = "wrapt"
+version = "1.12.1"
+description = "Module for decorators, wrappers and monkey patching."
+category = "main"
optional = false
python-versions = "*"
-version = "1.12.1"
[[package]]
-category = "main"
-description = "WSDL parsing services package for Web Services for Python."
name = "wstools"
+version = "0.4.8"
+description = "WSDL parsing services package for Web Services for Python."
+category = "main"
optional = false
python-versions = "*"
-version = "0.4.8"
[package.dependencies]
pbr = "*"
@@ -2500,61 +2519,68 @@ setuptools = ">=17.1"
six = "*"
[[package]]
-category = "main"
-description = "Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
name = "xlrd"
-optional = false
-python-versions = "*"
version = "1.0.0"
+description = "Library for developers to extract data from Microsoft Excel (tm) spreadsheet files"
+category = "main"
+optional = false
+python-versions = "*"
[[package]]
-category = "main"
-description = "A Python module for creating Excel XLSX files."
name = "xlsxwriter"
-optional = false
-python-versions = "*"
version = "0.9.3"
-
-[[package]]
+description = "A Python module for creating Excel XLSX files."
category = "main"
-description = "Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 XLS files, on any platform, with Python 2.6, 2.7, 3.3+"
-name = "xlwt"
optional = false
python-versions = "*"
-version = "1.3.0"
[[package]]
+name = "xlwt"
+version = "1.3.0"
+description = "Library to create spreadsheet files compatible with MS Excel 97/2000/XP/2003 XLS files, on any platform, with Python 2.6, 2.7, 3.3+"
category = "main"
-description = "Makes working with XML feel like you are working with JSON"
+optional = false
+python-versions = "*"
+
+[[package]]
name = "xmltodict"
+version = "0.12.0"
+description = "Makes working with XML feel like you are working with JSON"
+category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "0.12.0"
[[package]]
-category = "main"
-description = "Yet another URL library"
-marker = "python_version >= \"3.6\""
name = "yarl"
+version = "1.5.1"
+description = "Yet another URL library"
+category = "main"
optional = false
python-versions = ">=3.5"
-version = "1.5.1"
+marker = "python_version >= \"3.6\""
[package.dependencies]
idna = ">=2.0"
multidict = ">=4.0"
[package.dependencies.typing-extensions]
-python = "<3.8"
version = ">=3.7.4"
+python = "<3.8"
[[package]]
-category = "main"
-description = "A modern/fast Python SOAP client based on lxml / requests"
name = "zeep"
+version = "3.4.0"
+description = "A modern/fast Python SOAP client based on lxml / requests"
+category = "main"
optional = false
python-versions = "*"
-version = "3.4.0"
+
+[package.extras]
+async = ["aiohttp (>=1.0)"]
+docs = ["sphinx (>=1.4.0)"]
+test = ["freezegun (0.3.8)", "mock (2.0.0)", "pretend (1.0.8)", "pytest-cov (2.5.1)", "pytest (3.1.3)", "requests-mock (>=0.7.0)", "pytest-tornado (0.4.5)", "isort (4.2.15)", "flake8 (3.3.0)", "flake8-blind-except (0.1.1)", "flake8-debugger (1.4.0)", "flake8-imports (0.1.1)", "aioresponses (>=0.4.1)"]
+tornado = ["tornado (>=4.0.2,<5)"]
+xmlsec = ["xmlsec (>=0.6.1)"]
[package.dependencies]
appdirs = ">=1.4.0"
@@ -2568,38 +2594,31 @@ requests = ">=2.7.0"
requests-toolbelt = ">=0.7.1"
six = ">=1.9.0"
-[package.extras]
-async = ["aiohttp (>=1.0)"]
-docs = ["sphinx (>=1.4.0)"]
-test = ["freezegun (0.3.8)", "mock (2.0.0)", "pretend (1.0.8)", "pytest-cov (2.5.1)", "pytest (3.1.3)", "requests-mock (>=0.7.0)", "pytest-tornado (0.4.5)", "isort (4.2.15)", "flake8 (3.3.0)", "flake8-blind-except (0.1.1)", "flake8-debugger (1.4.0)", "flake8-imports (0.1.1)", "aioresponses (>=0.4.1)"]
-tornado = ["tornado (>=4.0.2,<5)"]
-xmlsec = ["xmlsec (>=0.6.1)"]
-
[[package]]
-category = "main"
-description = "Backport of pathlib-compatible object wrapper for zip files"
-marker = "python_version < \"3.8\""
name = "zipp"
+version = "3.1.0"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
optional = false
python-versions = ">=3.6"
-version = "3.1.0"
+marker = "python_version < \"3.8\""
[package.extras]
docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
testing = ["jaraco.itertools", "func-timeout"]
[[package]]
-category = "main"
-description = ""
name = "zxcvbn"
+version = "4.4.28"
+description = ""
+category = "main"
optional = false
python-versions = "*"
-version = "4.4.28"
[metadata]
-content-hash = "8ef90dc3ca2233a0a6a25a0d855ef5e3517903f06616af7ddce347165b9dd1ab"
lock-version = "1.0"
python-versions = "^3.7"
+content-hash = "add98a5142cb63404b0f61132b791c65be6ca03aa14f5e09497a0b5f36878668"
[metadata.files]
agithub = [
@@ -2811,6 +2830,8 @@ cython = [
{file = "Cython-0.29.21-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:603b9f1b8e93e8b494d3e89320c410679e21018e48b6cbc77280f5db71f17dc0"},
{file = "Cython-0.29.21-cp38-cp38-win32.whl", hash = "sha256:473df5d5e400444a36ed81c6596f56a5b52a3481312d0a48d68b777790f730ae"},
{file = "Cython-0.29.21-cp38-cp38-win_amd64.whl", hash = "sha256:b8a8a31b9e8860634adbca30fea1d0c7f08e208b3d7611f3e580e5f20992e5d7"},
+ {file = "Cython-0.29.21-cp39-cp39-manylinux1_i686.whl", hash = "sha256:7ebaa8800c376bcdae596fb1372cb4232a5ef957619d35839520d2786f2debb9"},
+ {file = "Cython-0.29.21-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:c111ac9abdf715762e4fb87395e59d61c0fbb6ce79eb2e24167700b6cfa8ba79"},
{file = "Cython-0.29.21-py2.py3-none-any.whl", hash = "sha256:5c4276fdcbccdf1e3c1756c7aeb8395e9a36874fa4d30860e7694f43d325ae13"},
{file = "Cython-0.29.21.tar.gz", hash = "sha256:e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad"},
]
@@ -3335,6 +3356,10 @@ pdf2image = [
{file = "pdf2image-1.14.0-py3-none-any.whl", hash = "sha256:cf1b2dc77cf3e050cb06078cd7373469c8dca93d4cea1af2a2e1bbe0ed4a8800"},
{file = "pdf2image-1.14.0.tar.gz", hash = "sha256:066527e1bf954762fb4369c677ae3bc15f2ce8707eee830cccef8471fde736d7"},
]
+pexpect = [
+ {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"},
+ {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"},
+]
phonenumbers = [
{file = "phonenumbers-8.12.10-py2.py3-none-any.whl", hash = "sha256:58f96147fe1ca6d62a72dab3af6a3fda3551da4e0d360c5db2e3a909229d9f6e"},
{file = "phonenumbers-8.12.10.tar.gz", hash = "sha256:d6e108352e7113c55cf0d92f8aede876a379580e46a3b9c2e779dc3601f11863"},
@@ -3448,6 +3473,10 @@ psycopg2 = [
{file = "psycopg2-2.7.3.1-cp36-cp36m-win_amd64.whl", hash = "sha256:a4d7134058e8869d785c0be386cd702fe2a4be14b678d7571a51045e1bbad862"},
{file = "psycopg2-2.7.3.1.tar.gz", hash = "sha256:9b7b16e26448b43cf167f785d8b5345007731ebf153a510e12dae826800caa65"},
]
+ptyprocess = [
+ {file = "ptyprocess-0.6.0-py2.py3-none-any.whl", hash = "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f"},
+ {file = "ptyprocess-0.6.0.tar.gz", hash = "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0"},
+]
py-asterisk = [
{file = "py-Asterisk-0.5.18.tar.gz", hash = "sha256:f2e9319626bbc5346ac9cbddfb73480d5fcdf25c1e9d78775c3061a1c01462f1"},
]
diff --git a/pyproject.toml b/pyproject.toml
index 1c468ec..9418095 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -77,6 +77,7 @@ pandas = "^1.1.2"
paramiko = "^2.7.2"
passlib = "1.6.5"
pdf2image = "^1.14.0"
+pexpect = "^4.8.0"
phonenumbers = "^8.12.10"
plotly = "4.1.0"
premailer = "^3.7.0"