From c183cc17751ccedc9f41c031ce217744ee6e387f Mon Sep 17 00:00:00 2001 From: Julien BERNARD Date: Mon, 26 Apr 2021 16:15:18 -0400 Subject: [PATCH] Prepare 4.0.0 release --- .travis.yml | 5 ++--- Changelog.md | 12 ++++++++++++ README.md | 5 ++++- requirements.txt | 4 ++-- setup.py | 10 +++++----- tox.ini | 2 +- 6 files changed, 26 insertions(+), 12 deletions(-) diff --git a/.travis.yml b/.travis.yml index ae871e1..c3efb00 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,8 @@ language: python python: - - "2.7" - - "3.4" - - "3.5" - "3.6" + - "3.7" + - "3.8" install: - pip install -r requirements.txt - pip install . diff --git a/Changelog.md b/Changelog.md index 97e7dd8..ea2e053 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,17 @@ # Changelog for lgr-core +## 4.0.0 (2021-04-27) +### New features +- Add IDN table review tool +- Add an heuristic parser for any RFC format +- Drop compatibility for Python 2.7, 3.4 and 3.5 +- Add compatibility for Python 3.8 +### Improvements +- Factorize and create helpers for CLI tools +- Use Suppress-Script when retrieving LGR scripts from metadata +### Fixes +- Stop considering reflexive mapping when evaluating a variant label + ## 3.0.0 (2020-12-04) ### New features - Add a way to provide a list of TLDs to collision tool diff --git a/README.md b/README.md index 2cacaf1..1f6e1b1 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This version conforms to the specification [RFC7940](https://www.rfc-editor.org/ ## Acknowledgment This toolset was implemented by Viagenie (Audric Schiltknecht, Julien Bernard, -David Drouin and Marc Blanchet) and Wil Tan on an ICANN contract. +David Drouin, Guillaume Blanchet and Marc Blanchet) and Wil Tan on an ICANN contract. ## License @@ -46,6 +46,7 @@ THE POSSIBILITY OF SUCH DAMAGE. * [LibXML2](http://www.xmlsoft.org/) [MIT License] used by the lxml Python bindings * [LXML](http://lxml.de/) for XML parsing/serializing [BSD License] * [language-tags](https://github.com/OnroerendErfgoed/language-tags) [MIT License] +* [pycountry](https://github.com/flyingcircusio/pycountry) [L-GPL License] * [picu](https://pypi.python.org/pypi/picu) [MIT/X license] * [munidata](https://github.com/icann/munidata) for Unicode-related properties access [BSD License] @@ -53,6 +54,7 @@ For testing: * [pytest](https://docs.pytest.org/) * [coverage](http://nedbatchelder.com/code/coverage/) +* [idna](https://github.com/kjd/idna) [BSD License] For documentation generation: @@ -106,6 +108,7 @@ Other tools are available to manipulate LGR files and labels: * `lgr_check_harmonized` checks that variants code points from a list of LGRs are symmetric and transitive in each LGR, and list missing variants from one LGR to another. * `lgr_cross_script_variants` takes some LGRs and generate the list of cross-script variants. +* `lgr_idn_table_review.py` reviews IDN tables against reference LGRs. ## Testing and coverage diff --git a/requirements.txt b/requirements.txt index fa4d6be..6d43373 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,8 +3,8 @@ language-tags==1.1.0 pycountry==20.7.3 # Unicode modules -picu==1.1 -munidata==2.0.0 +picu==1.2 +munidata==2.1.0 # for tests idna==2.10 diff --git a/setup.py b/setup.py index 1f853c1..b478e13 100755 --- a/setup.py +++ b/setup.py @@ -25,13 +25,13 @@ def run_tests(self): setup( name="lgr-core", - version='3.0.0', + version='4.0.0', author='Viagénie and Wil Tan', author_email='support@viagenie.ca', description="API for manipulating Label Generation Rules", long_description=open('README.md', encoding='utf-8').read(), license="TBD", - install_requires=['lxml', 'language-tags', 'munidata', 'picu'], + install_requires=['lxml', 'language-tags', 'pycountry', 'munidata', 'picu'], packages=find_packages(), scripts=[ 'tools/lgr_cli.py', @@ -49,17 +49,17 @@ def run_tests(self): 'tools/lgr_cross_script_variants.py', 'tools/lgr_harmonize', 'tools/lgr_populate_variants.py', - 'tools/rfc7940_validate.py' + 'tools/rfc7940_validate.py', + 'tools/lgr_idn_table_review.py' ], tests_require=['pytest', 'idna'], cmdclass={'test': PyTest}, classifiers=[ 'Operating System :: OS Independent', 'Programming Language :: Python', - 'Programming Language :: Python :: 3.4', - 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', 'Topic :: Software Development :: Libraries' ] ) diff --git a/tox.ini b/tox.ini index 2e64ac8..4be6123 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py27, py34, py35, py36 +envlist = py36, py37, py38 [testenv] commands = pytest {posargs} --cov=lgr --doctest-modules --junitxml=tests-out-{envname}.xml --junitprefix={envname}