diff --git a/.travis.yml b/.travis.yml index 4559080..5f7ba8b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,26 +2,36 @@ sudo: false language: python matrix: include: - - python: 3.6 + - python: 3.8 env: TOXENV=flake8 - - python: 3.6 + - python: 3.8 env: TOXENV=pylint + - python: 3.8 + env: TOXENV=mypy - python: 3.6 env: TOXENV=py36-django22 - python: 3.6 env: TOXENV=py36-django30 + - python: 3.6 + env: TOXENV=py36-django31 - python: 3.7 env: TOXENV=py37-django22 dist: xenial - python: 3.7 env: TOXENV=py37-django30 dist: xenial + - python: 3.7 + env: TOXENV=py37-django31 + dist: xenial - python: 3.8 env: TOXENV=py38-django22 dist: xenial - python: 3.8 env: TOXENV=py38-django30 dist: xenial + - python: 3.8 + env: TOXENV=py38-django31 + dist: xenial services: - postgresql addons: @@ -31,4 +41,3 @@ before_script: install: - pip install tox script: tox - diff --git a/requirements/dev.txt b/requirements/dev-py36.txt similarity index 51% rename from requirements/dev.txt rename to requirements/dev-py36.txt index 8c4ad6c..8567cdf 100644 --- a/requirements/dev.txt +++ b/requirements/dev-py36.txt @@ -2,94 +2,94 @@ # This file is autogenerated by pip-compile # To update, run: # -# pip-compile requirements/dev.in +# pip-compile --output-file=requirements/dev-py36.txt requirements/dev.in # appdirs==1.4.4 # via black, virtualenv asgiref==3.2.10 # via django astroid==2.4.2 # via pylint -autopep8==1.5.4 +autopep8==1.5.4 # via -r requirements/dev.in backcall==0.2.0 # via ipython -black==20.8b1 +black==20.8b1 # via -r requirements/dev.in cfgv==3.2.0 # via pre-commit click==7.1.2 # via black -coverage==5.2.1 -dataclasses==0.6 # via black +coverage==5.3 # via -r requirements/dev.in +dataclasses==0.7 # via black decorator==4.4.2 # via ipython, traitlets distlib==0.3.1 # via virtualenv django-braces==1.14.0 # via django-model-reviews django-contrib-comments==1.9.2 # via django-model-reviews -django-crispy-forms==1.9.2 +django-crispy-forms==1.9.2 # via small-small-hr django-js-asset==1.2.2 # via django-mptt -django-model-reviews==1.0.2 -django-mptt==0.11.0 -django-phonenumber-field==5.0.0 -django-private-storage==2.2.2 -django==3.1.1 # via django-braces, django-contrib-comments, django-model-reviews, django-mptt, django-phonenumber-field, djangorestframework, model-mommy -djangorestframework==3.11.1 +django-model-reviews==1.2.0 # via small-small-hr +django-mptt==0.11.0 # via small-small-hr +django-phonenumber-field==5.0.0 # via small-small-hr +django-private-storage==2.2.2 # via small-small-hr +django==3.1.2 # via django-braces, django-contrib-comments, django-model-reviews, django-mptt, django-phonenumber-field, djangorestframework, model-mommy, small-small-hr +djangorestframework==3.12.1 # via small-small-hr fastdiff==0.2.0 # via snapshottest filelock==3.0.12 # via tox, virtualenv -flake8==3.8.3 -freezegun==0.3.15 -identify==1.4.30 # via pre-commit +flake8==3.8.4 # via -r requirements/dev.in +freezegun==1.0.0 # via -r requirements/dev.in +identify==1.5.5 # via pre-commit importlib-metadata==1.7.0 # via flake8, pluggy, pre-commit, tox, virtualenv importlib-resources==3.0.0 # via pre-commit, virtualenv -ipdb==0.13.3 +ipdb==0.13.4 # via -r requirements/dev.in ipython-genutils==0.2.0 # via traitlets ipython==7.16.1 # via ipdb -isort==5.4.2 +isort==5.5.4 # via -r requirements/dev.in, pylint jedi==0.17.2 # via ipython lazy-object-proxy==1.4.3 # via astroid mccabe==0.6.1 # via flake8, pylint -model-mommy==2.0.0 +model-mommy==2.0.0 # via -r requirements/dev.in mypy-extensions==0.4.3 # via black, mypy -mypy==0.782 +mypy==0.782 # via -r requirements/dev.in nodeenv==1.5.0 # via pre-commit packaging==20.4 # via tox parso==0.7.1 # via jedi pathspec==0.8.0 # via black -pep8==1.7.1 +pep8==1.7.1 # via -r requirements/dev.in pexpect==4.8.0 # via ipython -phonenumberslite==8.12.9 +phonenumberslite==8.12.10 # via small-small-hr pickleshare==0.7.5 # via ipython -pillow==7.2.0 +pillow==7.2.0 # via small-small-hr pluggy==0.13.1 # via tox -pre-commit==2.7.1 +pre-commit==2.7.1 # via -r requirements/dev.in prompt-toolkit==3.0.7 # via ipython -psycopg2-binary==2.8.5 +psycopg2-binary==2.8.6 # via -r requirements/dev.in, small-small-hr ptyprocess==0.6.0 # via pexpect py==1.9.0 # via tox -pycodestyle==2.6.0 -pydocstyle==5.1.1 +pycodestyle==2.6.0 # via -r requirements/dev.in, autopep8, flake8 +pydocstyle==5.1.1 # via -r requirements/dev.in pyflakes==2.2.0 # via flake8 -pygments==2.6.1 # via ipython -pylint-django==2.3.0 +pygments==2.7.1 # via ipython +pylint-django==2.3.0 # via -r requirements/dev.in pylint-plugin-utils==0.6 # via pylint-django -pylint==2.6.0 +pylint==2.6.0 # via -r requirements/dev.in, pylint-django, pylint-plugin-utils pyparsing==2.4.7 # via packaging python-dateutil==2.8.1 # via freezegun pytz==2020.1 # via django pyyaml==5.3.1 # via pre-commit -regex==2020.7.14 # via black -six==1.15.0 # via astroid, django-braces, django-contrib-comments, freezegun, packaging, python-dateutil, snapshottest, tox, traitlets, virtualenv -snapshottest==0.5.1 +regex==2020.9.27 # via black +six==1.15.0 # via astroid, django-braces, django-contrib-comments, packaging, python-dateutil, snapshottest, tox, traitlets, virtualenv +snapshottest==0.6.0 # via -r requirements/dev.in snowballstemmer==2.0.0 # via pydocstyle -sorl-thumbnail==12.6.3 +sorl-thumbnail==12.6.3 # via small-small-hr sqlparse==0.3.1 # via django -tblib==1.7.0 +tblib==1.7.0 # via -r requirements/dev.in termcolor==1.1.0 # via snapshottest toml==0.10.1 # via autopep8, black, pre-commit, pylint, tox -tox==3.20.0 +tox==3.20.0 # via -r requirements/dev.in traitlets==4.3.3 # via ipython typed-ast==1.4.1 # via astroid, black, mypy typing-extensions==3.7.4.3 # via black, mypy -virtualenv==20.0.31 # via pre-commit, tox -voluptuous==0.11.7 +virtualenv==20.0.32 # via pre-commit, tox +voluptuous==0.12.0 # via small-small-hr wasmer==0.4.1 # via fastdiff wcwidth==0.2.5 # via prompt-toolkit wrapt==1.12.1 # via astroid -yapf==0.30.0 -zipp==3.1.0 # via importlib-metadata, importlib-resources +yapf==0.30.0 # via -r requirements/dev.in +zipp==3.3.0 # via importlib-metadata, importlib-resources # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/dev-py37.txt b/requirements/dev-py37.txt new file mode 100644 index 0000000..2b14202 --- /dev/null +++ b/requirements/dev-py37.txt @@ -0,0 +1,93 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile --output-file=requirements/dev-py37.txt requirements/dev.in +# + +appdirs==1.4.4 # via black, virtualenv +asgiref==3.2.10 # via django +astroid==2.4.2 # via pylint +autopep8==1.5.4 # via -r requirements/dev.in +backcall==0.2.0 # via ipython +black==20.8b1 # via -r requirements/dev.in +cfgv==3.2.0 # via pre-commit +click==7.1.2 # via black +coverage==5.3 # via -r requirements/dev.in +decorator==4.4.2 # via ipython +distlib==0.3.1 # via virtualenv +django-braces==1.14.0 # via django-model-reviews +django-contrib-comments==1.9.2 # via django-model-reviews +django-crispy-forms==1.9.2 # via small-small-hr +django-js-asset==1.2.2 # via django-mptt +django-model-reviews==1.2.0 # via small-small-hr +django-mptt==0.11.0 # via small-small-hr +django-phonenumber-field==5.0.0 # via small-small-hr +django-private-storage==2.2.2 # via small-small-hr +django==3.1.2 # via django-braces, django-contrib-comments, django-model-reviews, django-mptt, django-phonenumber-field, djangorestframework, model-mommy, small-small-hr +djangorestframework==3.12.1 # via small-small-hr +fastdiff==0.2.0 # via snapshottest +filelock==3.0.12 # via tox, virtualenv +flake8==3.8.4 # via -r requirements/dev.in +freezegun==1.0.0 # via -r requirements/dev.in +identify==1.5.5 # via pre-commit +importlib-metadata==1.7.0 # via flake8, pluggy, pre-commit, tox, virtualenv +ipdb==0.13.4 # via -r requirements/dev.in +ipython-genutils==0.2.0 # via traitlets +ipython==7.18.1 # via ipdb +isort==5.5.4 # via -r requirements/dev.in, pylint +jedi==0.17.2 # via ipython +lazy-object-proxy==1.4.3 # via astroid +mccabe==0.6.1 # via flake8, pylint +model-mommy==2.0.0 # via -r requirements/dev.in +mypy-extensions==0.4.3 # via black, mypy +mypy==0.782 # via -r requirements/dev.in +nodeenv==1.5.0 # via pre-commit +packaging==20.4 # via tox +parso==0.7.1 # via jedi +pathspec==0.8.0 # via black +pep8==1.7.1 # via -r requirements/dev.in +pexpect==4.8.0 # via ipython +phonenumberslite==8.12.10 # via small-small-hr +pickleshare==0.7.5 # via ipython +pillow==7.2.0 # via small-small-hr +pluggy==0.13.1 # via tox +pre-commit==2.7.1 # via -r requirements/dev.in +prompt-toolkit==3.0.7 # via ipython +psycopg2-binary==2.8.6 # via -r requirements/dev.in, small-small-hr +ptyprocess==0.6.0 # via pexpect +py==1.9.0 # via tox +pycodestyle==2.6.0 # via -r requirements/dev.in, autopep8, flake8 +pydocstyle==5.1.1 # via -r requirements/dev.in +pyflakes==2.2.0 # via flake8 +pygments==2.7.1 # via ipython +pylint-django==2.3.0 # via -r requirements/dev.in +pylint-plugin-utils==0.6 # via pylint-django +pylint==2.6.0 # via -r requirements/dev.in, pylint-django, pylint-plugin-utils +pyparsing==2.4.7 # via packaging +python-dateutil==2.8.1 # via freezegun +pytz==2020.1 # via django +pyyaml==5.3.1 # via pre-commit +regex==2020.9.27 # via black +six==1.15.0 # via astroid, django-braces, django-contrib-comments, packaging, python-dateutil, snapshottest, tox, virtualenv +snapshottest==0.6.0 # via -r requirements/dev.in +snowballstemmer==2.0.0 # via pydocstyle +sorl-thumbnail==12.6.3 # via small-small-hr +sqlparse==0.3.1 # via django +tblib==1.7.0 # via -r requirements/dev.in +termcolor==1.1.0 # via snapshottest +toml==0.10.1 # via autopep8, black, pre-commit, pylint, tox +tox==3.20.0 # via -r requirements/dev.in +traitlets==5.0.4 # via ipython +typed-ast==1.4.1 # via astroid, black, mypy +typing-extensions==3.7.4.3 # via black, mypy +virtualenv==20.0.32 # via pre-commit, tox +voluptuous==0.12.0 # via small-small-hr +wasmer==0.4.1 # via fastdiff +wcwidth==0.2.5 # via prompt-toolkit +wrapt==1.12.1 # via astroid +yapf==0.30.0 # via -r requirements/dev.in +zipp==3.3.0 # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/dev-py38.txt b/requirements/dev-py38.txt new file mode 100644 index 0000000..99ff79d --- /dev/null +++ b/requirements/dev-py38.txt @@ -0,0 +1,91 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# pip-compile --output-file=requirements/dev-py38.txt requirements/dev.in +# + +appdirs==1.4.4 # via black, virtualenv +asgiref==3.2.10 # via django +astroid==2.4.2 # via pylint +autopep8==1.5.4 # via -r requirements/dev.in +backcall==0.2.0 # via ipython +black==20.8b1 # via -r requirements/dev.in +cfgv==3.2.0 # via pre-commit +click==7.1.2 # via black +coverage==5.3 # via -r requirements/dev.in +decorator==4.4.2 # via ipython +distlib==0.3.1 # via virtualenv +django-braces==1.14.0 # via django-model-reviews +django-contrib-comments==1.9.2 # via django-model-reviews +django-crispy-forms==1.9.2 # via small-small-hr +django-js-asset==1.2.2 # via django-mptt +django-model-reviews==1.2.0 # via small-small-hr +django-mptt==0.11.0 # via small-small-hr +django-phonenumber-field==5.0.0 # via small-small-hr +django-private-storage==2.2.2 # via small-small-hr +django==3.1.2 # via django-braces, django-contrib-comments, django-model-reviews, django-mptt, django-phonenumber-field, djangorestframework, model-mommy, small-small-hr +djangorestframework==3.12.1 # via small-small-hr +fastdiff==0.2.0 # via snapshottest +filelock==3.0.12 # via tox, virtualenv +flake8==3.8.4 # via -r requirements/dev.in +freezegun==1.0.0 # via -r requirements/dev.in +identify==1.5.5 # via pre-commit +ipdb==0.13.4 # via -r requirements/dev.in +ipython-genutils==0.2.0 # via traitlets +ipython==7.18.1 # via ipdb +isort==5.5.4 # via -r requirements/dev.in, pylint +jedi==0.17.2 # via ipython +lazy-object-proxy==1.4.3 # via astroid +mccabe==0.6.1 # via flake8, pylint +model-mommy==2.0.0 # via -r requirements/dev.in +mypy-extensions==0.4.3 # via black, mypy +mypy==0.782 # via -r requirements/dev.in +nodeenv==1.5.0 # via pre-commit +packaging==20.4 # via tox +parso==0.7.1 # via jedi +pathspec==0.8.0 # via black +pep8==1.7.1 # via -r requirements/dev.in +pexpect==4.8.0 # via ipython +phonenumberslite==8.12.10 # via small-small-hr +pickleshare==0.7.5 # via ipython +pillow==7.2.0 # via small-small-hr +pluggy==0.13.1 # via tox +pre-commit==2.7.1 # via -r requirements/dev.in +prompt-toolkit==3.0.7 # via ipython +psycopg2-binary==2.8.6 # via -r requirements/dev.in, small-small-hr +ptyprocess==0.6.0 # via pexpect +py==1.9.0 # via tox +pycodestyle==2.6.0 # via -r requirements/dev.in, autopep8, flake8 +pydocstyle==5.1.1 # via -r requirements/dev.in +pyflakes==2.2.0 # via flake8 +pygments==2.7.1 # via ipython +pylint-django==2.3.0 # via -r requirements/dev.in +pylint-plugin-utils==0.6 # via pylint-django +pylint==2.6.0 # via -r requirements/dev.in, pylint-django, pylint-plugin-utils +pyparsing==2.4.7 # via packaging +python-dateutil==2.8.1 # via freezegun +pytz==2020.1 # via django +pyyaml==5.3.1 # via pre-commit +regex==2020.9.27 # via black +six==1.15.0 # via astroid, django-braces, django-contrib-comments, packaging, python-dateutil, snapshottest, tox, virtualenv +snapshottest==0.6.0 # via -r requirements/dev.in +snowballstemmer==2.0.0 # via pydocstyle +sorl-thumbnail==12.6.3 # via small-small-hr +sqlparse==0.3.1 # via django +tblib==1.7.0 # via -r requirements/dev.in +termcolor==1.1.0 # via snapshottest +toml==0.10.1 # via autopep8, black, pre-commit, pylint, tox +tox==3.20.0 # via -r requirements/dev.in +traitlets==5.0.4 # via ipython +typed-ast==1.4.1 # via black, mypy +typing-extensions==3.7.4.3 # via black, mypy +virtualenv==20.0.32 # via pre-commit, tox +voluptuous==0.12.0 # via small-small-hr +wasmer==0.4.1 # via fastdiff +wcwidth==0.2.5 # via prompt-toolkit +wrapt==1.12.1 # via astroid +yapf==0.30.0 # via -r requirements/dev.in + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/setup.py b/setup.py index 0300348..b85fa77 100644 --- a/setup.py +++ b/setup.py @@ -60,6 +60,7 @@ "Framework :: Django", "Framework :: Django :: 2.2", "Framework :: Django :: 3.0", + "Framework :: Django :: 3.1", ], include_package_data=True, ) diff --git a/small_small_hr/__init__.py b/small_small_hr/__init__.py index 0f22369..97e6b04 100644 --- a/small_small_hr/__init__.py +++ b/small_small_hr/__init__.py @@ -1,5 +1,5 @@ """Main init file for small_small_hr.""" -VERSION = (0, 2, 2) +VERSION = (0, 3, 0) __version__ = ".".join(str(v) for v in VERSION) # pylint: disable=invalid-name default_app_config = "small_small_hr.apps.SmallSmallHrConfig" # noqa diff --git a/tox.ini b/tox.ini index 4aa9555..1cf75a1 100644 --- a/tox.ini +++ b/tox.ini @@ -2,12 +2,13 @@ envlist = flake8 pylint - py{36,37,38}-django{22,30} + mypy + py{36,37,38}-django{22,30,31} [testenv:flake8] deps = flake8 -basepython = python3.6 +basepython = python3.8 skip_install = true commands = flake8 {toxinidir}/small_small_hr @@ -15,15 +16,15 @@ commands = [testenv:pylint] deps = pylint -basepython = python3.6 +basepython = python3.8 commands = - pip install -r requirements/dev.txt + pip install -r requirements/dev-py38.txt pylint --rcfile={toxinidir}/.pylintrc {toxinidir}/small_small_hr [testenv:mypy] -basepython = python3.6 +basepython = python3.8 commands = - pip install -r requirements/dev.txt + pip install -r requirements/dev-py38.txt mypy -m small_small_hr [testenv] @@ -34,9 +35,12 @@ basepython = py37: python3.7 py38: python3.8 commands = - pip install -r requirements/dev.txt + py36: pip install -r requirements/dev-py36.txt + py37: pip install -r requirements/dev-py37.txt + py38: pip install -r requirements/dev-py38.txt django22: pip install Django>=2.2,<2.3 django30: pip install Django>=3.0,<3.1 + django31: pip install Django>=3.1,<3.2 coverage erase coverage run --include="small_small_hr/**.*" --omit="tests/**.*,small_small_hr/migrations/**.*" manage.py test {toxinidir}/tests coverage report