Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-typepy for openSUSE:Factory 
checked in at 2023-12-04 23:01:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-typepy (Old)
 and      /work/SRC/openSUSE:Factory/.python-typepy.new.25432 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-typepy"

Mon Dec  4 23:01:40 2023 rev:9 rq:1130708 version:1.3.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-typepy/python-typepy.changes      
2021-12-08 00:00:38.567556582 +0100
+++ /work/SRC/openSUSE:Factory/.python-typepy.new.25432/python-typepy.changes   
2023-12-04 23:02:10.885102778 +0100
@@ -1,0 +2,8 @@
+Mon Dec  4 10:42:07 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 1.3.2:
+  * Fix `DateTime` conversion for timezone aware datetime
+  * Modify to use `pypa/build` for package build
+  * Add support for Python 3.12
+
+-------------------------------------------------------------------

Old:
----
  typepy-1.3.0.tar.gz

New:
----
  typepy-1.3.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-typepy.spec ++++++
--- /var/tmp/diff_new_pack.mxMF5A/_old  2023-12-04 23:02:11.397121631 +0100
+++ /var/tmp/diff_new_pack.mxMF5A/_new  2023-12-04 23:02:11.401121779 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-typepy
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,10 +16,9 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
+%{?sle15_python_module_pythons}
 Name:           python-typepy
-Version:        1.3.0
+Version:        1.3.2
 Release:        0
 Summary:        Python library for run time variable type checker
 License:        MIT

++++++ typepy-1.3.0.tar.gz -> typepy-1.3.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/PKG-INFO new/typepy-1.3.2/PKG-INFO
--- old/typepy-1.3.0/PKG-INFO   2021-09-20 16:50:14.700000000 +0200
+++ new/typepy-1.3.2/PKG-INFO   2023-10-03 15:18:42.228973400 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: typepy
-Version: 1.3.0
+Version: 1.3.2
 Summary: typepy is a Python library for variable type 
checker/validator/converter at a run time.
 Home-page: https://github.com/thombashi/typepy
 Author: Tsuyoshi Hombashi
@@ -9,30 +9,39 @@
 Project-URL: Documentation, https://typepy.rtfd.io/
 Project-URL: Source, https://github.com/thombashi/typepy
 Project-URL: Tracker, https://github.com/thombashi/typepy/issues
-Project-URL: Changes, https://github.com/thombashi/typepy/releases
+Project-URL: Changlog, https://github.com/thombashi/typepy/releases
 Keywords: library,type-checking,type-conversion,validator
-Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Information Technology
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Libraries
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: mbstrdecoder<2,>=1.0.0
 Provides-Extra: datetime
+Requires-Dist: python-dateutil<3.0.0,>=2.8.0; extra == "datetime"
+Requires-Dist: pytz>=2018.9; extra == "datetime"
+Requires-Dist: packaging; extra == "datetime"
 Provides-Extra: test
-License-File: LICENSE
+Requires-Dist: pytest>=6.0.1; extra == "test"
+Requires-Dist: tcolorpy; extra == "test"
+Requires-Dist: python-dateutil<3.0.0,>=2.8.0; extra == "test"
+Requires-Dist: pytz>=2018.9; extra == "test"
+Requires-Dist: packaging; extra == "test"
 
 .. contents:: **typepy**
    :backlinks: top
@@ -66,15 +75,15 @@
     :target: https://coveralls.io/github/thombashi/typepy?branch=master
     :alt: Test coverage
 
-.. image:: 
https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml/badge.svg
-    :target: 
https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml
+.. image:: 
https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/codeql/badge.svg
+    :target: 
https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/codeql
     :alt: CodeQL
 
 Features
 ==========
 - checking a value type
 - validate a value for a type
-- convert a value from a type to the other type
+- convert a value from one type to the other type
 
 The correspondence between Python types and ``typepy`` classes are as follows:
 
@@ -129,10 +138,10 @@
 
 Dependencies
 ============
-- Python 3.6+
+- Python 3.7+
 - `Python package dependencies (automatically installed) 
<https://github.com/thombashi/typepy/network/dependencies>`__
 
-Optioal dependencies
+Optional dependencies
 ----------------------------------
 These packages can be installed via ``pip install typepy[datetime]``:
 
@@ -212,7 +221,7 @@
         >>> try:
         ...     Integer("abc").force_convert()
         ... except TypeConversionError as e:
-        ...     # force_convert() raised TypeConversionError when the value 
not convertible
+        ...     # force_convert() raised TypeConversionError when the value 
was not convertible
         ...     print(e)
         ...
         failed to force_convert to int: type=<class 'str'>
@@ -221,7 +230,7 @@
 For more information
 --------------------------------------------
 Type check/validate/convert results differed according to
-``strict_level`` value which can pass to typepy classes constructors as an 
argument.
+``strict_level`` value which can pass to typepy class constructors as an 
argument.
 More information can be found in the
 `API reference 
<https://typepy.rtfd.io/en/latest/pages/reference/index.html>`__.
 
@@ -229,5 +238,3 @@
 ===============
 https://typepy.rtfd.io/
 
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/README.rst new/typepy-1.3.2/README.rst
--- old/typepy-1.3.0/README.rst 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/README.rst 2023-10-03 15:17:50.000000000 +0200
@@ -30,15 +30,15 @@
     :target: https://coveralls.io/github/thombashi/typepy?branch=master
     :alt: Test coverage
 
-.. image:: 
https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml/badge.svg
-    :target: 
https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml
+.. image:: 
https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/codeql/badge.svg
+    :target: 
https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/codeql
     :alt: CodeQL
 
 Features
 ==========
 - checking a value type
 - validate a value for a type
-- convert a value from a type to the other type
+- convert a value from one type to the other type
 
 The correspondence between Python types and ``typepy`` classes are as follows:
 
@@ -93,10 +93,10 @@
 
 Dependencies
 ============
-- Python 3.6+
+- Python 3.7+
 - `Python package dependencies (automatically installed) 
<https://github.com/thombashi/typepy/network/dependencies>`__
 
-Optioal dependencies
+Optional dependencies
 ----------------------------------
 These packages can be installed via ``pip install typepy[datetime]``:
 
@@ -176,7 +176,7 @@
         >>> try:
         ...     Integer("abc").force_convert()
         ... except TypeConversionError as e:
-        ...     # force_convert() raised TypeConversionError when the value 
not convertible
+        ...     # force_convert() raised TypeConversionError when the value 
was not convertible
         ...     print(e)
         ...
         failed to force_convert to int: type=<class 'str'>
@@ -185,7 +185,7 @@
 For more information
 --------------------------------------------
 Type check/validate/convert results differed according to
-``strict_level`` value which can pass to typepy classes constructors as an 
argument.
+``strict_level`` value which can pass to typepy class constructors as an 
argument.
 More information can be found in the
 `API reference 
<https://typepy.rtfd.io/en/latest/pages/reference/index.html>`__.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/pyproject.toml 
new/typepy-1.3.2/pyproject.toml
--- old/typepy-1.3.0/pyproject.toml     2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/pyproject.toml     2023-10-03 15:17:50.000000000 +0200
@@ -1,8 +1,8 @@
 [build-system]
-requires = ["setuptools", "wheel"]
+build-backend = "setuptools.build_meta"
+requires = ["setuptools>=61.0"]
 
 [tool.black]
-line-length = 100
 exclude = '''
 /(
       \.eggs
@@ -18,48 +18,50 @@
 )/
 | docs/conf.py
 '''
+line-length = 100
+target-version = ['py37', 'py38', 'py39', 'py310', 'py311', 'py312']
 
 [tool.isort]
+include_trailing_comma = true
 known_third_party = [
-    'dateutil',
-    'logbook',
-    'pytablewriter',
-    'pytest',
-    'pytz',
-    'sphinx_rtd_theme',
-    'tcolorpy',
+  'dateutil',
+  'logbook',
+  'pytablewriter',
+  'pytest',
+  'pytz',
+  'sphinx_rtd_theme',
+  'tcolorpy',
 ]
-include_trailing_comma = true
 line_length = 100
 lines_after_imports = 2
 multi_line_output = 3
 skip_glob = [
-    '*/.eggs/*',
-    '*/.pytype/*',
-    '*/.tox/*',
+  '*/.eggs/*',
+  '*/.pytype/*',
+  '*/.tox/*',
 ]
 
 [tool.coverage.run]
-source = ["typepy"]
 branch = true
+source = ["typepy"]
 
 [tool.coverage.report]
-show_missing = true
-precision = 1
 exclude_lines = [
-    'except ImportError',
-    'raise NotImplementedError',
-    'pass',
-    'ABCmeta',
-    'abstractmethod',
-    'abstractproperty',
-    'abstractclassmethod',
-    'warnings.warn',
+  'except ImportError',
+  'raise NotImplementedError',
+  'pass',
+  'ABCmeta',
+  'abstractmethod',
+  'abstractproperty',
+  'abstractclassmethod',
+  'warnings.warn',
 ]
+precision = 1
+show_missing = true
 
 [tool.mypy]
 ignore_missing_imports = true
-python_version = 3.6
+python_version = 3.7
 
 pretty = true
 show_error_codes = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/requirements/docs_requirements.txt 
new/typepy-1.3.2/requirements/docs_requirements.txt
--- old/typepy-1.3.0/requirements/docs_requirements.txt 2021-09-20 
16:49:59.000000000 +0200
+++ new/typepy-1.3.2/requirements/docs_requirements.txt 2023-10-03 
15:17:50.000000000 +0200
@@ -1,2 +1,2 @@
-sphinx_rtd_theme
+sphinx_rtd_theme>=1.2.2
 Sphinx>=2.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/setup.py new/typepy-1.3.2/setup.py
--- old/typepy-1.3.0/setup.py   2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/setup.py   2023-10-03 15:17:50.000000000 +0200
@@ -3,7 +3,7 @@
 """
 
 import os.path
-from typing import Dict
+from typing import Dict, Type
 
 import setuptools
 
@@ -16,7 +16,7 @@
 pkg_info: Dict[str, str] = {}
 
 
-def get_release_command_class() -> Dict[str, setuptools.Command]:
+def get_release_command_class() -> Dict[str, Type[setuptools.Command]]:
     try:
         from releasecmd import ReleaseCommand
     except ImportError:
@@ -55,7 +55,12 @@
     author_email=pkg_info["__email__"],
     description=summary,
     include_package_data=True,
-    keywords=["library", "type-checking", "type-conversion", "validator"],
+    keywords=[
+        "library",
+        "type-checking",
+        "type-conversion",
+        "validator",
+    ],
     license=pkg_info["__license__"],
     long_description=long_description,
     long_description_content_type="text/x-rst",
@@ -65,9 +70,9 @@
         "Documentation": f"https://{MODULE_NAME:s}.rtfd.io/";,
         "Source": REPOSITORY_URL,
         "Tracker": f"{REPOSITORY_URL:s}/issues",
-        "Changes": f"{REPOSITORY_URL:s}/releases",
+        "Changlog": f"{REPOSITORY_URL:s}/releases",
     },
-    python_requires=">=3.6",
+    python_requires=">=3.7",
     install_requires=install_requires,
     extras_require={"datetime": DATETIME_REQUIRES, "test": tests_requires + 
DATETIME_REQUIRES},
     classifiers=[
@@ -77,11 +82,12 @@
         "License :: OSI Approved :: MIT License",
         "Operating System :: OS Independent",
         "Programming Language :: Python :: 3",
-        "Programming Language :: Python :: 3.6",
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
         "Programming Language :: Python :: 3.10",
+        "Programming Language :: Python :: 3.11",
+        "Programming Language :: Python :: 3.12",
         "Programming Language :: Python :: 3 :: Only",
         "Programming Language :: Python :: Implementation :: CPython",
         "Programming Language :: Python :: Implementation :: PyPy",
@@ -89,4 +95,5 @@
         "Topic :: Software Development :: Libraries :: Python Modules",
     ],
     cmdclass=get_release_command_class(),
+    zip_safe=False,
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/test/converter/_common.py 
new/typepy-1.3.2/test/converter/_common.py
--- old/typepy-1.3.0/test/converter/_common.py  2021-09-20 16:49:59.000000000 
+0200
+++ new/typepy-1.3.2/test/converter/_common.py  2023-10-03 15:17:50.000000000 
+0200
@@ -11,5 +11,5 @@
 def convert_wrapper(typeobj, method):
     try:
         return getattr(typeobj, method)()
-    except (typepy.TypeConversionError):
+    except typepy.TypeConversionError:
         return EXCEPTION_RESULT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/test/test_type.py 
new/typepy-1.3.2/test/test_type.py
--- old/typepy-1.3.0/test/test_type.py  2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/test/test_type.py  2023-10-03 15:17:50.000000000 +0200
@@ -3,7 +3,7 @@
 """
 
 import sys
-from datetime import date, datetime
+from datetime import date, datetime, timedelta
 from decimal import Decimal
 from ipaddress import IPv4Address, IPv6Address
 
@@ -64,6 +64,21 @@
 
         assert result == timezone.localize(expected)
 
+    def test_normal_datetime_tz_aware(self):
+        utc_dt = datetime(2017, 1, 29, 10, 27, 3, tzinfo=utc)
+        got = typepy.DateTime(
+            utc_dt, strict_level=StrictLevel.MIN, 
timezone=timezone("Asia/Tokyo")
+        ).convert()
+        assert got.tzinfo.tzname(got) == "JST"
+
+        jst_dt = typepy.DateTime(
+            "2017-01-29 19:27:03+0900",
+            strict_level=StrictLevel.MIN,
+        ).convert()
+        assert jst_dt.tzinfo.utcoffset(jst_dt) == timedelta(seconds=32400)
+        got = typepy.DateTime(jst_dt, strict_level=StrictLevel.MIN, 
timezone=utc).convert()
+        assert got.tzinfo.utcoffset(got) == timedelta(0)
+
     @pytest.mark.parametrize(
         ["value", "expected"],
         [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/tox.ini new/typepy-1.3.2/tox.ini
--- old/typepy-1.3.0/tox.ini    2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/tox.ini    2023-10-03 15:17:50.000000000 +0200
@@ -1,58 +1,56 @@
 [tox]
 envlist =
-    py{36,37,38,39,310}
+    py{37,38,39,310,311,312}
     pypy3
     build
-    clean
     cov
     docs
     lint
     readme
 
 [testenv]
-deps =
-    .[test]
+passenv = *
+extras =
+    test
 commands =
     pytest {posargs}
 
 [testenv:build]
-basepython = python3.8
 deps =
     twine
+    build>=1
     wheel
 commands =
-    python setup.py sdist bdist_wheel
+    python -m build
     twine check dist/*.whl dist/*.tar.gz
-    python setup.py clean --all
 
 [testenv:clean]
 skip_install = true
 deps =
-    cleanpy>=0.3
+    cleanpy>=0.4
 commands =
     cleanpy --all --exclude-envs .
 
 [testenv:cov]
+extras =
+    test
 deps =
-    .[test]
     coverage[toml]>=5
 commands =
     coverage run -m pytest {posargs:-vv}
     coverage report -m
 
 [testenv:docs]
-basepython = python3.8
 deps =
     -r{toxinidir}/requirements/docs_requirements.txt
 commands =
-    python setup.py build_sphinx --source-dir=docs/ --build-dir=docs/_build 
--all-files
+    sphinx-build docs/ docs/_build
 
 [testenv:fmt]
-basepython = python3.8
 skip_install = true
 deps =
-    autoflake
-    black
+    autoflake>=2
+    black>=23.1
     isort>=5
 commands =
     black make_test_cases.py setup.py test typepy
@@ -60,16 +58,14 @@
     isort .
 
 [testenv:lint]
-basepython = python3.8
 skip_install = true
 deps =
-    codespell
-    pylama
-    mypy>=0.902
+    codespell>=2
+    mypy>=1
+    pylama>=8.4.1
     types-python-dateutil
     types-pytz
 commands =
-    python setup.py check
     codespell typepy docs/pages test -q2 --check-filenames
     mypy typepy setup.py
     pylama
@@ -78,6 +74,6 @@
 skip_install = true
 changedir = docs
 deps =
-    readmemaker>=1.0.0
+    readmemaker>=1.1.0
 commands =
     python make_readme.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy/__init__.py 
new/typepy-1.3.2/typepy/__init__.py
--- old/typepy-1.3.0/typepy/__init__.py 2021-09-20 16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/__init__.py 2023-10-03 15:17:50.000000000 +0200
@@ -32,3 +32,32 @@
     RealNumber,
     String,
 )
+
+
+__all__ = (
+    "ParamKey",
+    "StrictLevel",
+    "Typecode",
+    "TypeConversionError",
+    "Binary",
+    "Bool",
+    "Bytes",
+    "DateTime",
+    "Dictionary",
+    "Infinity",
+    "Integer",
+    "IpAddress",
+    "List",
+    "Nan",
+    "NoneType",
+    "NullString",
+    "RealNumber",
+    "String",
+    "extract_typepy_from_dtype",
+    "is_empty_sequence",
+    "is_hex",
+    "is_not_empty_sequence",
+    "is_not_null_string",
+    "is_null_string",
+    "typepy",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy/__version__.py 
new/typepy-1.3.2/typepy/__version__.py
--- old/typepy-1.3.0/typepy/__version__.py      2021-09-20 16:49:59.000000000 
+0200
+++ new/typepy-1.3.2/typepy/__version__.py      2023-10-03 15:17:50.000000000 
+0200
@@ -1,6 +1,6 @@
 __author__ = "Tsuyoshi Hombashi"
 __copyright__ = f"Copyright 2017, {__author__}"
 __license__ = "MIT License"
-__version__ = "1.3.0"
+__version__ = "1.3.2"
 __maintainer__ = __author__
 __email__ = "tsuyoshi.homba...@gmail.com"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy/checker/__init__.py 
new/typepy-1.3.2/typepy/checker/__init__.py
--- old/typepy-1.3.0/typepy/checker/__init__.py 2021-09-20 16:49:59.000000000 
+0200
+++ new/typepy-1.3.2/typepy/checker/__init__.py 2023-10-03 15:17:50.000000000 
+0200
@@ -15,3 +15,21 @@
 from ._none import NoneTypeChecker
 from ._realnumber import RealNumberTypeChecker
 from ._string import NullStringTypeChecker, StringTypeChecker
+
+
+__all__ = (
+    "BoolTypeChecker",
+    "BytesTypeChecker",
+    "DateTimeTypeChecker",
+    "DictionaryTypeChecker",
+    "InfinityTypeChecker",
+    "IntegerTypeChecker",
+    "IpAddressTypeChecker",
+    "ListTypeChecker",
+    "NanTypeChecker",
+    "NoneTypeChecker",
+    "NullStringTypeChecker",
+    "RealNumberTypeChecker",
+    "StringTypeChecker",
+    "TypeCheckerInterface",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy/converter/__init__.py 
new/typepy-1.3.2/typepy/converter/__init__.py
--- old/typepy-1.3.0/typepy/converter/__init__.py       2021-09-20 
16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/converter/__init__.py       2023-10-03 
15:17:50.000000000 +0200
@@ -13,3 +13,19 @@
 from ._nop import NopConverter
 from ._realnumber import FloatConverter
 from ._string import NullStringConverter, StringConverter
+
+
+__all__ = (
+    "BoolConverter",
+    "BytesConverter",
+    "DateTimeConverter",
+    "DictionaryConverter",
+    "FloatConverter",
+    "IntegerConverter",
+    "IpAddressConverter",
+    "ListConverter",
+    "NopConverter",
+    "NullStringConverter",
+    "StringConverter",
+    "ValueConverterInterface",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy/converter/_datetime.py 
new/typepy-1.3.2/typepy/converter/_datetime.py
--- old/typepy-1.3.0/typepy/converter/_datetime.py      2021-09-20 
16:49:59.000000000 +0200
+++ new/typepy-1.3.2/typepy/converter/_datetime.py      2023-10-03 
15:17:50.000000000 +0200
@@ -11,9 +11,8 @@
 
 
 class DateTimeConverter(AbstractValueConverter):
-
-    __DAYS_TO_SECONDS_COEF = 60 ** 2 * 24
-    __MICROSECONDS_TO_SECONDS_COEF = 1000 ** 2
+    __DAYS_TO_SECONDS_COEF = 60**2 * 24
+    __MICROSECONDS_TO_SECONDS_COEF = 1000**2
     __COMMON_DST_TIMEZONE_TABLE = {
         -36000: "America/Adak",  # -1000
         -32400: "US/Alaska",  # -0900
@@ -56,7 +55,12 @@
             )
 
         if self.__timezone:
-            self.__datetime = self.__timezone.localize(self.__datetime)
+            if self.__datetime.tzinfo is None:
+                self.__datetime = self.__timezone.localize(self.__datetime)
+            else:
+                self.__datetime = datetime.fromtimestamp(
+                    self.__datetime.timestamp(), tz=self.__timezone
+                )
 
         return self.__datetime
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy/type/__init__.py 
new/typepy-1.3.2/typepy/type/__init__.py
--- old/typepy-1.3.0/typepy/type/__init__.py    2021-09-20 16:49:59.000000000 
+0200
+++ new/typepy-1.3.2/typepy/type/__init__.py    2023-10-03 15:17:50.000000000 
+0200
@@ -16,3 +16,22 @@
 from ._none import NoneType
 from ._realnumber import RealNumber
 from ._string import NullString, String
+
+
+__all__ = (
+    "AbstractType",
+    "Binary",
+    "Bool",
+    "Bytes",
+    "DateTime",
+    "Dictionary",
+    "Infinity",
+    "Integer",
+    "IpAddress",
+    "List",
+    "Nan",
+    "NoneType",
+    "NullString",
+    "RealNumber",
+    "String",
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy.egg-info/PKG-INFO 
new/typepy-1.3.2/typepy.egg-info/PKG-INFO
--- old/typepy-1.3.0/typepy.egg-info/PKG-INFO   2021-09-20 16:50:14.000000000 
+0200
+++ new/typepy-1.3.2/typepy.egg-info/PKG-INFO   2023-10-03 15:18:42.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: typepy
-Version: 1.3.0
+Version: 1.3.2
 Summary: typepy is a Python library for variable type 
checker/validator/converter at a run time.
 Home-page: https://github.com/thombashi/typepy
 Author: Tsuyoshi Hombashi
@@ -9,30 +9,39 @@
 Project-URL: Documentation, https://typepy.rtfd.io/
 Project-URL: Source, https://github.com/thombashi/typepy
 Project-URL: Tracker, https://github.com/thombashi/typepy/issues
-Project-URL: Changes, https://github.com/thombashi/typepy/releases
+Project-URL: Changlog, https://github.com/thombashi/typepy/releases
 Keywords: library,type-checking,type-conversion,validator
-Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
 Classifier: Intended Audience :: Information Technology
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Libraries
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 Description-Content-Type: text/x-rst
+License-File: LICENSE
+Requires-Dist: mbstrdecoder<2,>=1.0.0
 Provides-Extra: datetime
+Requires-Dist: python-dateutil<3.0.0,>=2.8.0; extra == "datetime"
+Requires-Dist: pytz>=2018.9; extra == "datetime"
+Requires-Dist: packaging; extra == "datetime"
 Provides-Extra: test
-License-File: LICENSE
+Requires-Dist: pytest>=6.0.1; extra == "test"
+Requires-Dist: tcolorpy; extra == "test"
+Requires-Dist: python-dateutil<3.0.0,>=2.8.0; extra == "test"
+Requires-Dist: pytz>=2018.9; extra == "test"
+Requires-Dist: packaging; extra == "test"
 
 .. contents:: **typepy**
    :backlinks: top
@@ -66,15 +75,15 @@
     :target: https://coveralls.io/github/thombashi/typepy?branch=master
     :alt: Test coverage
 
-.. image:: 
https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml/badge.svg
-    :target: 
https://github.com/thombashi/typepy/actions/workflows/codeql-analysis.yml
+.. image:: 
https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/codeql/badge.svg
+    :target: 
https://github.com/thombashi/typepy/actions/workflows/github-code-scanning/codeql
     :alt: CodeQL
 
 Features
 ==========
 - checking a value type
 - validate a value for a type
-- convert a value from a type to the other type
+- convert a value from one type to the other type
 
 The correspondence between Python types and ``typepy`` classes are as follows:
 
@@ -129,10 +138,10 @@
 
 Dependencies
 ============
-- Python 3.6+
+- Python 3.7+
 - `Python package dependencies (automatically installed) 
<https://github.com/thombashi/typepy/network/dependencies>`__
 
-Optioal dependencies
+Optional dependencies
 ----------------------------------
 These packages can be installed via ``pip install typepy[datetime]``:
 
@@ -212,7 +221,7 @@
         >>> try:
         ...     Integer("abc").force_convert()
         ... except TypeConversionError as e:
-        ...     # force_convert() raised TypeConversionError when the value 
not convertible
+        ...     # force_convert() raised TypeConversionError when the value 
was not convertible
         ...     print(e)
         ...
         failed to force_convert to int: type=<class 'str'>
@@ -221,7 +230,7 @@
 For more information
 --------------------------------------------
 Type check/validate/convert results differed according to
-``strict_level`` value which can pass to typepy classes constructors as an 
argument.
+``strict_level`` value which can pass to typepy class constructors as an 
argument.
 More information can be found in the
 `API reference 
<https://typepy.rtfd.io/en/latest/pages/reference/index.html>`__.
 
@@ -229,5 +238,3 @@
 ===============
 https://typepy.rtfd.io/
 
-
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy.egg-info/SOURCES.txt 
new/typepy-1.3.2/typepy.egg-info/SOURCES.txt
--- old/typepy-1.3.0/typepy.egg-info/SOURCES.txt        2021-09-20 
16:50:14.000000000 +0200
+++ new/typepy-1.3.2/typepy.egg-info/SOURCES.txt        2023-10-03 
15:18:42.000000000 +0200
@@ -42,6 +42,7 @@
 typepy.egg-info/PKG-INFO
 typepy.egg-info/SOURCES.txt
 typepy.egg-info/dependency_links.txt
+typepy.egg-info/not-zip-safe
 typepy.egg-info/requires.txt
 typepy.egg-info/top_level.txt
 typepy/checker/__init__.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/typepy-1.3.0/typepy.egg-info/not-zip-safe 
new/typepy-1.3.2/typepy.egg-info/not-zip-safe
--- old/typepy-1.3.0/typepy.egg-info/not-zip-safe       1970-01-01 
01:00:00.000000000 +0100
+++ new/typepy-1.3.2/typepy.egg-info/not-zip-safe       2023-10-03 
15:18:06.000000000 +0200
@@ -0,0 +1 @@
+

Reply via email to