Skip to content
Snippets Groups Projects
Commit 900ac0f8 authored by Rajmund Hruška's avatar Rajmund Hruška
Browse files

Merge branch 'devel' into 'master'

0.1.14

Closes #3 and #2

See merge request 709/warden/typedcols!6
parents ba94a996 78d9ab19
Branches
No related tags found
1 merge request!60.1.14
Pipeline #1868 passed
# Official language image. Look for the different tagged releases at: # Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/ # https://hub.docker.com/r/library/python/tags/
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.6 image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:latest
# Change pip's cache directory to be inside the project directory since we can # Change pip's cache directory to be inside the project directory since we can
# only cache local items. # only cache local items.
...@@ -15,7 +15,6 @@ variables: ...@@ -15,7 +15,6 @@ variables:
cache: cache:
paths: paths:
- .cache/pip - .cache/pip
- venv/
before_script: before_script:
- pip install virtualenv - pip install virtualenv
...@@ -26,14 +25,57 @@ before_script: ...@@ -26,14 +25,57 @@ before_script:
stages: # List of stages for jobs, and their order of execution stages: # List of stages for jobs, and their order of execution
- test - test
- check-warnings
- build - build
- deploy - deploy
unit-test-job: unit-test-job:
stage: test
script:
- make test 2>&1 | tee errors.log
artifacts:
when: always
paths:
- errors.log
reports:
junit: nose2-junit.xml
unit-test-2.7-job:
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:2.7
stage: test stage: test
script: script:
- make test - make test
unit-test-3.7-job:
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.7
stage: test
script:
- make test 2>&1 | tee errors-3.7.log
artifacts:
when: always
paths:
- errors-3.7.log
unit-test-3.8-job:
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.8
stage: test
script:
- make test 2>&1 | tee errors-3.8.log
artifacts:
when: always
paths:
- errors-3.8.log
unit-test-3.9-job:
image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/python:3.9
stage: test
script:
- make test 2>&1 | tee errors-3.9.log
artifacts:
when: always
paths:
- errors-3.9.log
pylint-test-job: pylint-test-job:
stage: test stage: test
script: script:
...@@ -44,6 +86,34 @@ pyflakes-test-job: ...@@ -44,6 +86,34 @@ pyflakes-test-job:
script: script:
- make pyflakes - make pyflakes
check-deprecation-warnings:
before_script: []
stage: check-warnings
script:
- "if [[ $(grep DeprecationWarning errors.log) ]]; then cat errors.log; exit 1; fi"
allow_failure: true
check-deprecation-warnings-3.7:
before_script: []
stage: check-warnings
script:
- "if [[ $(grep DeprecationWarning errors-3.7.log) ]]; then cat errors-3.7.log; exit 1; fi"
allow_failure: true
check-deprecation-warnings-3.8:
before_script: []
stage: check-warnings
script:
- "if [[ $(grep DeprecationWarning errors-3.8.log) ]]; then cat errors-3.8.log; exit 1; fi"
allow_failure: true
check-deprecation-warnings-3.9:
before_script: []
stage: check-warnings
script:
- "if [[ $(grep DeprecationWarning errors-3.9.log) ]]; then cat errors-3.9.log; exit 1; fi"
allow_failure: true
build-job: build-job:
stage: build stage: build
script: script:
...@@ -105,4 +175,4 @@ pages: ...@@ -105,4 +175,4 @@ pages:
- public - public
only: only:
- master - master
- devel - devel
\ No newline at end of file
...@@ -98,7 +98,7 @@ help: ...@@ -98,7 +98,7 @@ help:
show-version: FORCE show-version: FORCE
@PYTHONPATH=lib python3 -c "import typedcols; print(typedcols.__version__);" @PYTHONPATH=lib python -c "import typedcols; print(typedcols.__version__);"
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
...@@ -108,13 +108,13 @@ deps: deps-python deps-python-dev ...@@ -108,13 +108,13 @@ deps: deps-python deps-python-dev
deps-python-dev: FORCE deps-python-dev: FORCE
@echo "\n$(GREEN)*** Installing Python development dependencies ***$(NC)\n" @echo "\n$(GREEN)*** Installing Python development dependencies ***$(NC)\n"
@pip3 --version @pip --version
@pip3 install -r requirements-dev.pip @pip install -r requirements-dev.pip
deps-python: FORCE deps-python: FORCE
@echo "\n${GREEN}*** Installing Python dependencies ***${NC}\n" @echo "\n${GREEN}*** Installing Python dependencies ***${NC}\n"
@echo "\nThis project does not have any dependencies, nothing to do here...\n" @echo "\nThis project does not have any dependencies, nothing to do here...\n"
@#pip3 install -r requirements.pip --upgrade @#pip install -r requirements.pip --upgrade
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
...@@ -138,11 +138,11 @@ pyflakes: ...@@ -138,11 +138,11 @@ pyflakes:
pyflakes-lib: FORCE pyflakes-lib: FORCE
@echo "\n${GREEN}*** Checking code with pyflakes ***${NC}\n" @echo "\n${GREEN}*** Checking code with pyflakes ***${NC}\n"
-@python3 -m pyflakes typedcols.py -@python -m pyflakes typedcols.py
pyflakes-test: FORCE pyflakes-test: FORCE
@echo "\n${GREEN}*** Checking test files with pyflakes ***${NC}\n" @echo "\n${GREEN}*** Checking test files with pyflakes ***${NC}\n"
-@python3 -m pyflakes test_typedcols.py -@python -m pyflakes test_typedcols.py
#pylint: pylint-lib pylint-test #pylint: pylint-lib pylint-test
pylint: pylint:
...@@ -150,15 +150,15 @@ pylint: ...@@ -150,15 +150,15 @@ pylint:
pylint-lib: FORCE pylint-lib: FORCE
@echo "\n${GREEN}*** Checking code with pylint ***${NC}\n" @echo "\n${GREEN}*** Checking code with pylint ***${NC}\n"
-@python3 -m pylint typedcols.py --rcfile .pylintrc-lib -@python -m pylint typedcols.py --rcfile .pylintrc-lib
pylint-test: FORCE pylint-test: FORCE
@echo "\n${GREEN}*** Checking test files with pylint ***${NC}\n" @echo "\n${GREEN}*** Checking test files with pylint ***${NC}\n"
-@python3 -m pylint test_typedcols.py --rcfile .pylintrc-test -@python -m pylint test_typedcols.py --rcfile .pylintrc-test
test: FORCE test: FORCE
@echo "\n${GREEN}*** Checking code with nosetests ***${NC}\n" @echo "\n${GREEN}*** Checking code with nosetests ***${NC}\n"
@nosetests test_typedcols.py @python -W always::DeprecationWarning -m nose2 --junit-xml
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
...@@ -172,11 +172,11 @@ archive: FORCE ...@@ -172,11 +172,11 @@ archive: FORCE
bdist: FORCE bdist: FORCE
@echo "\n${GREEN}*** Building Python packages ***${NC}\n" @echo "\n${GREEN}*** Building Python packages ***${NC}\n"
@python3 setup.py sdist bdist_wheel --universal @python setup.py sdist bdist_wheel --universal
install: FORCE install: FORCE
@echo "\n${GREEN}*** Performing local installation ***${NC}\n" @echo "\n${GREEN}*** Performing local installation ***${NC}\n"
@pip3 install dist/typedcols*.whl --upgrade @pip install dist/typedcols*.whl --upgrade
deploy: FORCE deploy: FORCE
@echo "\n${GREEN}*** Deploying packages to PyPI ***${NC}\n" @echo "\n${GREEN}*** Deploying packages to PyPI ***${NC}\n"
......
...@@ -22,3 +22,18 @@ Copyright ...@@ -22,3 +22,18 @@ Copyright
| Author: Pavel Kácha <pavel.kacha@cesnet.cz> | Author: Pavel Kácha <pavel.kacha@cesnet.cz>
| Use of this package is governed by the ISC license, see LICENSE file. | Use of this package is governed by the ISC license, see LICENSE file.
| |
Changelog
--------------------------------------------------------------------------------
Version 0.1.14
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Released 2022-06-27
- Added a config file for GitLab CI/CD.
- Fixed deprecation warnings for Python 3.7+ regarding ``collections.abc``
- Updated the repository information.
- Updated packages versions.
[unittest]
plugins = nose2.plugins.junitxml
...@@ -2,8 +2,8 @@ setuptools ...@@ -2,8 +2,8 @@ setuptools
wheel wheel
twine twine
docutils<0.18 docutils<0.18
nose==1.3.7 nose2
pyflakes==2.1.0 pyflakes
pylint==2.2.2 pylint
sphinx==1.8.4 sphinx
sphinx-rtd-theme==0.4.2 sphinx-rtd-theme
...@@ -46,14 +46,14 @@ setup( ...@@ -46,14 +46,14 @@ setup(
'Programming Language :: Python', 'Programming Language :: Python',
], ],
keywords = 'library', keywords = 'library',
url = 'https://homeproj.cesnet.cz/git/typedcols.git', project_urls={
'Documentation': 'https://709.gitlab-pages.cesnet.cz/warden/typedcols/master/html/manual.html',
'Source': 'https://gitlab.cesnet.cz/709/warden/typedcols',
'Tracker': 'https://gitlab.cesnet.cz/709/warden/typedcols/-/issues',
},
author = 'Pavel Kacha', author = 'Pavel Kacha',
author_email = 'pavel.kacha@cesnet.cz', author_email = 'pavel.kacha@cesnet.cz',
license = 'ISC', license = 'ISC',
py_modules = ['typedcols'], py_modules = ['typedcols'],
test_suite = 'nose.collector',
tests_require = [
'nose'
],
zip_safe = True zip_safe = True
) )
...@@ -10,10 +10,15 @@ Defines TypedDict and TypedList, which enforce inserted types based on simple ...@@ -10,10 +10,15 @@ Defines TypedDict and TypedList, which enforce inserted types based on simple
type definition. type definition.
""" """
__version__ = '0.1.13' __version__ = '0.1.14'
__author__ = 'Pavel Kácha <pavel.kacha@cesnet.cz>' __author__ = 'Pavel Kácha <pavel.kacha@cesnet.cz>'
import collections try: # Python 2
from collections.abc import MutableMapping
from collections.abc import MutableSequence
except ImportError: # Python 3
from collections import MutableMapping
from collections import MutableSequence
import abc import abc
...@@ -61,7 +66,7 @@ class TypedDictMetaclass(abc.ABCMeta): ...@@ -61,7 +66,7 @@ class TypedDictMetaclass(abc.ABCMeta):
dictify_typedef(cls.typedef) dictify_typedef(cls.typedef)
class TypedDict(collections.MutableMapping): class TypedDict(MutableMapping):
""" Dictionary type abstract class, which supports checking of inserted """ Dictionary type abstract class, which supports checking of inserted
types, based on simple type definition. types, based on simple type definition.
...@@ -222,7 +227,7 @@ class TypedDict(collections.MutableMapping): ...@@ -222,7 +227,7 @@ class TypedDict(collections.MutableMapping):
TypedDict = TypedDictMetaclass("TypedDict", (TypedDict,), {}) TypedDict = TypedDictMetaclass("TypedDict", (TypedDict,), {})
class TypedList(collections.MutableSequence): class TypedList(MutableSequence):
""" List type abstract class, which supports checking of inserted items """ List type abstract class, which supports checking of inserted items
type. type.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment