Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • devel
  • master
2 results

Target

Select target project
  • 713/warden/typedcols
1 result
Select Git revision
Show changes
Commits on Source (20)
# Official language image. Look for the different tagged releases at:
# 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
# only cache local items.
......@@ -15,7 +15,6 @@ variables:
cache:
paths:
- .cache/pip
- venv/
before_script:
- pip install virtualenv
......@@ -26,14 +25,57 @@ before_script:
stages: # List of stages for jobs, and their order of execution
- test
- check-warnings
- build
- 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
script:
- 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:
stage: test
script:
......@@ -44,6 +86,34 @@ pyflakes-test-job:
script:
- 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:
stage: build
script:
......@@ -105,4 +175,4 @@ pages:
- public
only:
- master
- devel
\ No newline at end of file
- devel
......@@ -98,7 +98,7 @@ help:
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
deps-python-dev: FORCE
@echo "\n$(GREEN)*** Installing Python development dependencies ***$(NC)\n"
@pip3 --version
@pip3 install -r requirements-dev.pip
@pip --version
@pip install -r requirements-dev.pip
deps-python: FORCE
@echo "\n${GREEN}*** Installing Python dependencies ***${NC}\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:
pyflakes-lib: FORCE
@echo "\n${GREEN}*** Checking code with pyflakes ***${NC}\n"
-@python3 -m pyflakes typedcols.py
-@python -m pyflakes typedcols.py
pyflakes-test: FORCE
@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:
......@@ -150,15 +150,15 @@ pylint:
pylint-lib: FORCE
@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
@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
@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
bdist: FORCE
@echo "\n${GREEN}*** Building Python packages ***${NC}\n"
@python3 setup.py sdist bdist_wheel --universal
@python setup.py sdist bdist_wheel --universal
install: FORCE
@echo "\n${GREEN}*** Performing local installation ***${NC}\n"
@pip3 install dist/typedcols*.whl --upgrade
@pip install dist/typedcols*.whl --upgrade
deploy: FORCE
@echo "\n${GREEN}*** Deploying packages to PyPI ***${NC}\n"
......
......@@ -22,3 +22,18 @@ Copyright
| Author: Pavel Kácha <pavel.kacha@cesnet.cz>
| 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
wheel
twine
docutils<0.18
nose==1.3.7
pyflakes==2.1.0
pylint==2.2.2
sphinx==1.8.4
sphinx-rtd-theme==0.4.2
nose2
pyflakes
pylint
sphinx
sphinx-rtd-theme
......@@ -46,14 +46,14 @@ setup(
'Programming Language :: Python',
],
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_email = 'pavel.kacha@cesnet.cz',
license = 'ISC',
py_modules = ['typedcols'],
test_suite = 'nose.collector',
tests_require = [
'nose'
],
zip_safe = True
)
......@@ -10,10 +10,15 @@ Defines TypedDict and TypedList, which enforce inserted types based on simple
type definition.
"""
__version__ = '0.1.13'
__version__ = '0.1.14'
__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
......@@ -61,7 +66,7 @@ class TypedDictMetaclass(abc.ABCMeta):
dictify_typedef(cls.typedef)
class TypedDict(collections.MutableMapping):
class TypedDict(MutableMapping):
""" Dictionary type abstract class, which supports checking of inserted
types, based on simple type definition.
......@@ -222,7 +227,7 @@ class TypedDict(collections.MutableMapping):
TypedDict = TypedDictMetaclass("TypedDict", (TypedDict,), {})
class TypedList(collections.MutableSequence):
class TypedList(MutableSequence):
""" List type abstract class, which supports checking of inserted items
type.
......