From 2b576440d6b6dac57a13b423736c732edd841c50 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Fri, 11 Dec 2020 00:24:26 -0500 Subject: [PATCH 1/4] [ADD] update dev manifest for release 1.1.1 --- manifest/default.dev.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 @@ - + From 08554315c95846ff451f930aab0978398d5f05eb Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Fri, 11 Dec 2020 03:46:56 -0500 Subject: [PATCH 2/4] [UPD] doc improve release HOW TO --- doc/DEVELOPMENT.md | 6 ++++ doc/POETRY.md | 2 ++ doc/RELEASE.md | 72 ++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 68 insertions(+), 12 deletions(-) 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 From c9bcaf4f447ca0e02d9924a9cccf453a93cb53ff Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Fri, 11 Dec 2020 04:12:26 -0500 Subject: [PATCH 3/4] [UPD] poetry for release 1.1.1 --- poetry.lock | 1783 ++++++++++++++++++++++++------------------------ pyproject.toml | 1 + 2 files changed, 907 insertions(+), 877 deletions(-) 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" From b7bb03758334aee17020a1fc1bbf63ce43c846f7 Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Fri, 11 Dec 2020 00:46:28 -0500 Subject: [PATCH 4/4] Release v1.1.1 --- CHANGELOG.md | 57 ++++++++++++++++++++++++++++++++++---- default.xml | 13 ++++++--- docker/Dockerfile.prod.pkg | 2 +- env_var.sh | 4 +-- 4 files changed, 63 insertions(+), 13 deletions(-) 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/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"