version-query 1.6.2__tar.gz → 1.6.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. {version_query-1.6.2/version_query.egg-info → version_query-1.6.3}/PKG-INFO +9 -9
  2. {version_query-1.6.2 → version_query-1.6.3}/pyproject.toml +1 -1
  3. {version_query-1.6.2 → version_query-1.6.3}/requirements.txt +1 -1
  4. version_query-1.6.3/requirements_test.txt +2 -0
  5. {version_query-1.6.2 → version_query-1.6.3}/setup.py +0 -1
  6. {version_query-1.6.2 → version_query-1.6.3}/test/examples.py +0 -2
  7. version_query-1.6.3/test/test_cli.py +81 -0
  8. {version_query-1.6.2 → version_query-1.6.3}/test/test_query.py +3 -69
  9. {version_query-1.6.2 → version_query-1.6.3/version_query.egg-info}/PKG-INFO +9 -9
  10. {version_query-1.6.2 → version_query-1.6.3}/version_query.egg-info/SOURCES.txt +2 -0
  11. {version_query-1.6.2 → version_query-1.6.3}/version_query.egg-info/requires.txt +1 -1
  12. version_query-1.6.2/requirements_test.txt +0 -3
  13. {version_query-1.6.2 → version_query-1.6.3}/LICENSE +0 -0
  14. {version_query-1.6.2 → version_query-1.6.3}/MANIFEST.in +0 -0
  15. {version_query-1.6.2 → version_query-1.6.3}/NOTICE +0 -0
  16. {version_query-1.6.2 → version_query-1.6.3}/README.rst +0 -0
  17. {version_query-1.6.2 → version_query-1.6.3}/setup.cfg +0 -0
  18. {version_query-1.6.2 → version_query-1.6.3}/test/__init__.py +0 -0
  19. {version_query-1.6.2 → version_query-1.6.3}/test/test_git.py +0 -0
  20. {version_query-1.6.2 → version_query-1.6.3}/test/test_packaging.py +0 -0
  21. {version_query-1.6.2 → version_query-1.6.3}/test/test_version.py +0 -0
  22. {version_query-1.6.2 → version_query-1.6.3}/version_query/__init__.py +0 -0
  23. {version_query-1.6.2 → version_query-1.6.3}/version_query/__main__.py +0 -0
  24. {version_query-1.6.2 → version_query-1.6.3}/version_query/_version.py +0 -0
  25. {version_query-1.6.2 → version_query-1.6.3}/version_query/git_query.py +0 -0
  26. {version_query-1.6.2 → version_query-1.6.3}/version_query/main.py +0 -0
  27. {version_query-1.6.2 → version_query-1.6.3}/version_query/parser.py +0 -0
  28. {version_query-1.6.2 → version_query-1.6.3}/version_query/patterns.py +0 -0
  29. {version_query-1.6.2 → version_query-1.6.3}/version_query/py.typed +0 -0
  30. {version_query-1.6.2 → version_query-1.6.3}/version_query/py_query.py +0 -0
  31. {version_query-1.6.2 → version_query-1.6.3}/version_query/query.py +0 -0
  32. {version_query-1.6.2 → version_query-1.6.3}/version_query/version.py +0 -0
  33. {version_query-1.6.2 → version_query-1.6.3}/version_query.egg-info/dependency_links.txt +0 -0
  34. {version_query-1.6.2 → version_query-1.6.3}/version_query.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: version-query
3
- Version: 1.6.2
3
+ Version: 1.6.3
4
4
  Summary: Zero-overhead package versioning for Python.
5
5
  Home-page: https://github.com/mbdevpl/version-query
6
6
  Download-URL:
@@ -8,12 +8,11 @@ Author: Mateusz Bysiek, John Vandenberg
8
8
  Author-email: mateusz.bysiek@gmail.com
9
9
  Maintainer: Mateusz Bysiek
10
10
  Maintainer-email: mateusz.bysiek@gmail.com
11
- License: Apache License 2.0
11
+ License-Expression: Apache-2.0
12
12
  Keywords: automation,continuous integration,git,releasing,semantic versioning,tagging,versioning
13
13
  Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Environment :: Console
15
15
  Classifier: Intended Audience :: Developers
16
- Classifier: License :: OSI Approved :: Apache Software License
17
16
  Classifier: Natural Language :: English
18
17
  Classifier: Operating System :: MacOS
19
18
  Classifier: Operating System :: Microsoft :: Windows
@@ -33,7 +32,7 @@ Requires-Python: >=3.9
33
32
  Description-Content-Type: text/x-rst; charset=UTF-8
34
33
  License-File: LICENSE
35
34
  License-File: NOTICE
36
- Requires-Dist: boilerplates[cli,logging]~=1.0
35
+ Requires-Dist: boilerplates[cli,logging]~=1.2
37
36
  Requires-Dist: GitPython~=3.1
38
37
  Requires-Dist: packaging>=24.0
39
38
  Requires-Dist: semver<3.1,>=2.13
@@ -44,7 +43,8 @@ Dynamic: description
44
43
  Dynamic: description-content-type
45
44
  Dynamic: home-page
46
45
  Dynamic: keywords
47
- Dynamic: license
46
+ Dynamic: license-file
47
+ Dynamic: license-expression
48
48
  Dynamic: maintainer
49
49
  Dynamic: maintainer-email
50
50
  Dynamic: requires-dist
@@ -81,7 +81,7 @@ Zero-overhead package versioning for Python.
81
81
  :alt: grade from Codacy
82
82
 
83
83
  .. image:: https://img.shields.io/github/license/mbdevpl/version-query.svg
84
- :target: https://github.com/mbdevpl/version-query/blob/v1.6.2/NOTICE
84
+ :target: https://github.com/mbdevpl/version-query/blob/v1.6.3/NOTICE
85
85
  :alt: license
86
86
 
87
87
  Package versioning toolkit for Python which relies on git tags, git history traversal
@@ -491,8 +491,8 @@ Requirements
491
491
 
492
492
  Python version 3.9 or later.
493
493
 
494
- Python libraries as specified in `requirements.txt <https://github.com/mbdevpl/version-query/blob/v1.6.2/requirements.txt>`_.
494
+ Python libraries as specified in `requirements.txt <https://github.com/mbdevpl/version-query/blob/v1.6.3/requirements.txt>`_.
495
495
 
496
- Building and running tests additionally requires packages listed in `requirements_test.txt <https://github.com/mbdevpl/version-query/blob/v1.6.2/requirements_test.txt>`_.
496
+ Building and running tests additionally requires packages listed in `requirements_test.txt <https://github.com/mbdevpl/version-query/blob/v1.6.3/requirements_test.txt>`_.
497
497
 
498
498
  Tested on Linux, macOS and Windows.
@@ -1,6 +1,6 @@
1
1
  [build-system]
2
2
  requires = [
3
- 'boilerplates[setup] ~= 1.0',
3
+ 'boilerplates[setup] ~= 1.2',
4
4
  'GitPython ~= 3.1',
5
5
  'packaging >= 24.0',
6
6
  'semver >= 2.13, < 3.1'
@@ -1,4 +1,4 @@
1
- boilerplates[cli,logging] ~= 1.0
1
+ boilerplates[cli,logging] ~= 1.2
2
2
  GitPython ~= 3.1
3
3
  packaging >= 24.0
4
4
  semver >= 2.13, < 3.1
@@ -0,0 +1,2 @@
1
+ -r requirements.txt
2
+ boilerplates[git-repo-tests,packaging-tests] ~= 1.2
@@ -15,7 +15,6 @@ class Package(boilerplates.setup.Package):
15
15
  'Development Status :: 5 - Production/Stable',
16
16
  'Environment :: Console',
17
17
  'Intended Audience :: Developers',
18
- 'License :: OSI Approved :: Apache Software License',
19
18
  'Natural Language :: English',
20
19
  'Operating System :: MacOS',
21
20
  'Operating System :: Microsoft :: Windows',
@@ -9,8 +9,6 @@ import typing as t
9
9
 
10
10
  from version_query.version import VersionComponent
11
11
 
12
- _HERE = pathlib.Path(__file__).resolve().parent
13
-
14
12
  _GIT_REPOS_ROOT = pathlib.Path(os.environ.get('EXAMPLE_PROJECTS_PATH', '..')).resolve()
15
13
 
16
14
  GIT_REPO_EXAMPLES = list(_ for _ in _GIT_REPOS_ROOT.glob('**/.git') if _.is_dir())
@@ -0,0 +1,81 @@
1
+ """Tests of the CLI."""
2
+
3
+ import contextlib
4
+ import io
5
+ import logging
6
+ import runpy
7
+ import sys
8
+ import unittest
9
+
10
+ from version_query.version import VersionComponent
11
+ from version_query.query import \
12
+ query_caller, query_version_str, predict_caller, predict_version_str
13
+
14
+ _LOG = logging.getLogger(__name__)
15
+
16
+
17
+ @contextlib.contextmanager
18
+ def temporarily_set_logger_level(logger_name: str, level: int):
19
+ """Change logger level on enter and restore on exit of this context."""
20
+ logger = logging.getLogger(logger_name)
21
+ level_ = logger.level
22
+ logger.setLevel(level)
23
+ try:
24
+ yield
25
+ finally:
26
+ logger.setLevel(level_)
27
+
28
+
29
+ def preserve_logger_level(logger_name: str):
30
+ return temporarily_set_logger_level(logger_name, logging.getLogger(logger_name).level)
31
+
32
+
33
+ def run_module(name: str, *args, run_name: str = '__main__') -> None:
34
+ backup_sys_argv = sys.argv
35
+ sys.argv = [name + '.py'] + list(args)
36
+ runpy.run_module(name, run_name=run_name, alter_sys=True)
37
+ sys.argv = backup_sys_argv
38
+
39
+
40
+ class Tests(unittest.TestCase):
41
+
42
+ def test_not_as_main(self): # pylint: disable = no-self-use
43
+ run_module('version_query', run_name='__not_main__')
44
+
45
+ def test_help(self):
46
+ sio = io.StringIO()
47
+ with contextlib.redirect_stderr(sio), preserve_logger_level('version_query'), \
48
+ self.assertRaises(SystemExit):
49
+ run_module('version_query')
50
+ _LOG.info('%s', sio.getvalue())
51
+
52
+ def test_bad_usage(self):
53
+ sio = io.StringIO()
54
+ with contextlib.redirect_stderr(sio), preserve_logger_level('version_query'), \
55
+ self.assertRaises(ValueError):
56
+ run_module('version_query', '-p', '-i', '.')
57
+ _LOG.info('%s', sio.getvalue())
58
+
59
+ def test_here(self):
60
+ sio = io.StringIO()
61
+ with temporarily_set_logger_level('version_query', logging.ERROR), \
62
+ contextlib.redirect_stdout(sio):
63
+ run_module('version_query', '.')
64
+ self.assertEqual(sio.getvalue().rstrip(), query_caller().to_str())
65
+ self.assertEqual(sio.getvalue().rstrip(), query_version_str())
66
+
67
+ def test_increment_here(self):
68
+ sio = io.StringIO()
69
+ with temporarily_set_logger_level('version_query', logging.ERROR), \
70
+ contextlib.redirect_stdout(sio):
71
+ run_module('version_query', '-i', '.')
72
+ self.assertEqual(sio.getvalue().rstrip(),
73
+ query_caller().increment(VersionComponent.Patch).to_str())
74
+
75
+ def test_predict_here(self):
76
+ sio = io.StringIO()
77
+ with temporarily_set_logger_level('version_query', logging.ERROR), \
78
+ contextlib.redirect_stdout(sio):
79
+ run_module('version_query', '-p', '.')
80
+ self.assertEqual(sio.getvalue().rstrip(), predict_caller().to_str())
81
+ self.assertEqual(sio.getvalue().rstrip(), predict_version_str())
@@ -1,47 +1,26 @@
1
1
  """Tests of querying tools."""
2
2
 
3
- import contextlib
4
3
  import importlib
5
- import io
6
4
  import logging
7
5
  import os
8
6
  import pathlib
9
7
  import sys
10
8
  import tempfile
11
9
  import unittest
12
- import unittest.mock
13
10
 
14
11
  from boilerplates.packaging_tests import run_module
15
12
 
16
- from version_query.version import VersionComponent, Version
13
+ from version_query.version import Version
17
14
  from version_query.git_query import query_git_repo, predict_git_repo
18
15
  from version_query.py_query import query_metadata_json, query_pkg_info, query_package_folder
19
- from version_query.query import \
20
- query_folder, query_caller, query_version_str, predict_caller, predict_version_str
16
+ from version_query.query import query_folder, query_caller
21
17
  from .examples import \
22
18
  PY_LIB_DIR, GIT_REPO_EXAMPLES, METADATA_JSON_EXAMPLE_PATHS, PKG_INFO_EXAMPLE_PATHS, \
23
19
  PACKAGE_FOLDER_EXAMPLES
20
+ from .test_cli import preserve_logger_level
24
21
 
25
22
  _LOG = logging.getLogger(__name__)
26
23
 
27
- IGNORED_FOLDER_NAMES = ['opencv']
28
-
29
-
30
- @contextlib.contextmanager
31
- def temporarily_set_logger_level(logger_name: str, level: int):
32
- """Change logger level on enter and restore on exit of this context."""
33
- logger = logging.getLogger(logger_name)
34
- level_ = logger.level
35
- logger.setLevel(level)
36
- try:
37
- yield
38
- finally:
39
- logger.setLevel(level_)
40
-
41
-
42
- def preserve_logger_level(logger_name: str):
43
- return temporarily_set_logger_level(logger_name, logging.getLogger(logger_name).level)
44
-
45
24
 
46
25
  class Tests(unittest.TestCase):
47
26
 
@@ -63,8 +42,6 @@ class Tests(unittest.TestCase):
63
42
 
64
43
  def _query_test_case(self, paths, query_function):
65
44
  for path in paths:
66
- if any(_ in path.parts for _ in IGNORED_FOLDER_NAMES) or not path.exists():
67
- continue
68
45
  with self.subTest(path=path, query_function=query_function):
69
46
  _LOG.debug('testing %s() on %s', query_function.__name__, path)
70
47
  try:
@@ -164,46 +141,3 @@ class Tests(unittest.TestCase):
164
141
  version = query_caller()
165
142
  _LOG.debug('caller: %s', version)
166
143
  self.assertIsInstance(version, Version)
167
-
168
- def test_not_as_main(self): # pylint: disable = no-self-use
169
- run_module('version_query', run_name=None)
170
-
171
- def test_help(self):
172
- sio = io.StringIO()
173
- with contextlib.redirect_stderr(sio):
174
- with preserve_logger_level('version_query'):
175
- with self.assertRaises(SystemExit):
176
- run_module('version_query')
177
- _LOG.info('%s', sio.getvalue())
178
-
179
- def test_bad_usage(self):
180
- sio = io.StringIO()
181
- with contextlib.redirect_stderr(sio):
182
- with preserve_logger_level('version_query'):
183
- with self.assertRaises(ValueError):
184
- run_module('version_query', '-p', '-i', '.')
185
- _LOG.info('%s', sio.getvalue())
186
-
187
- def test_here(self):
188
- with temporarily_set_logger_level('version_query', logging.INFO):
189
- sio = io.StringIO()
190
- with contextlib.redirect_stdout(sio):
191
- run_module('version_query', '.')
192
- self.assertEqual(sio.getvalue().rstrip(), query_caller().to_str())
193
- self.assertEqual(sio.getvalue().rstrip(), query_version_str())
194
-
195
- def test_increment_here(self):
196
- sio = io.StringIO()
197
- with contextlib.redirect_stdout(sio):
198
- with preserve_logger_level('version_query'):
199
- run_module('version_query', '-i', '.')
200
- self.assertEqual(sio.getvalue().rstrip(),
201
- query_caller().increment(VersionComponent.Patch).to_str())
202
-
203
- def test_predict_here(self):
204
- with temporarily_set_logger_level('version_query', logging.INFO):
205
- sio = io.StringIO()
206
- with contextlib.redirect_stdout(sio):
207
- run_module('version_query', '-p', '.')
208
- self.assertEqual(sio.getvalue().rstrip(), predict_caller().to_str())
209
- self.assertEqual(sio.getvalue().rstrip(), predict_version_str())
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: version-query
3
- Version: 1.6.2
3
+ Version: 1.6.3
4
4
  Summary: Zero-overhead package versioning for Python.
5
5
  Home-page: https://github.com/mbdevpl/version-query
6
6
  Download-URL:
@@ -8,12 +8,11 @@ Author: Mateusz Bysiek, John Vandenberg
8
8
  Author-email: mateusz.bysiek@gmail.com
9
9
  Maintainer: Mateusz Bysiek
10
10
  Maintainer-email: mateusz.bysiek@gmail.com
11
- License: Apache License 2.0
11
+ License-Expression: Apache-2.0
12
12
  Keywords: automation,continuous integration,git,releasing,semantic versioning,tagging,versioning
13
13
  Classifier: Development Status :: 5 - Production/Stable
14
14
  Classifier: Environment :: Console
15
15
  Classifier: Intended Audience :: Developers
16
- Classifier: License :: OSI Approved :: Apache Software License
17
16
  Classifier: Natural Language :: English
18
17
  Classifier: Operating System :: MacOS
19
18
  Classifier: Operating System :: Microsoft :: Windows
@@ -33,7 +32,7 @@ Requires-Python: >=3.9
33
32
  Description-Content-Type: text/x-rst; charset=UTF-8
34
33
  License-File: LICENSE
35
34
  License-File: NOTICE
36
- Requires-Dist: boilerplates[cli,logging]~=1.0
35
+ Requires-Dist: boilerplates[cli,logging]~=1.2
37
36
  Requires-Dist: GitPython~=3.1
38
37
  Requires-Dist: packaging>=24.0
39
38
  Requires-Dist: semver<3.1,>=2.13
@@ -44,7 +43,8 @@ Dynamic: description
44
43
  Dynamic: description-content-type
45
44
  Dynamic: home-page
46
45
  Dynamic: keywords
47
- Dynamic: license
46
+ Dynamic: license-file
47
+ Dynamic: license-expression
48
48
  Dynamic: maintainer
49
49
  Dynamic: maintainer-email
50
50
  Dynamic: requires-dist
@@ -81,7 +81,7 @@ Zero-overhead package versioning for Python.
81
81
  :alt: grade from Codacy
82
82
 
83
83
  .. image:: https://img.shields.io/github/license/mbdevpl/version-query.svg
84
- :target: https://github.com/mbdevpl/version-query/blob/v1.6.2/NOTICE
84
+ :target: https://github.com/mbdevpl/version-query/blob/v1.6.3/NOTICE
85
85
  :alt: license
86
86
 
87
87
  Package versioning toolkit for Python which relies on git tags, git history traversal
@@ -491,8 +491,8 @@ Requirements
491
491
 
492
492
  Python version 3.9 or later.
493
493
 
494
- Python libraries as specified in `requirements.txt <https://github.com/mbdevpl/version-query/blob/v1.6.2/requirements.txt>`_.
494
+ Python libraries as specified in `requirements.txt <https://github.com/mbdevpl/version-query/blob/v1.6.3/requirements.txt>`_.
495
495
 
496
- Building and running tests additionally requires packages listed in `requirements_test.txt <https://github.com/mbdevpl/version-query/blob/v1.6.2/requirements_test.txt>`_.
496
+ Building and running tests additionally requires packages listed in `requirements_test.txt <https://github.com/mbdevpl/version-query/blob/v1.6.3/requirements_test.txt>`_.
497
497
 
498
498
  Tested on Linux, macOS and Windows.
@@ -8,6 +8,7 @@ requirements_test.txt
8
8
  setup.py
9
9
  ./test/__init__.py
10
10
  ./test/examples.py
11
+ ./test/test_cli.py
11
12
  ./test/test_git.py
12
13
  ./test/test_packaging.py
13
14
  ./test/test_query.py
@@ -25,6 +26,7 @@ setup.py
25
26
  ./version_query/version.py
26
27
  test/__init__.py
27
28
  test/examples.py
29
+ test/test_cli.py
28
30
  test/test_git.py
29
31
  test/test_packaging.py
30
32
  test/test_query.py
@@ -1,4 +1,4 @@
1
- boilerplates[cli,logging]~=1.0
1
+ boilerplates[cli,logging]~=1.2
2
2
  GitPython~=3.1
3
3
  packaging>=24.0
4
4
  semver<3.1,>=2.13
@@ -1,3 +0,0 @@
1
- -r requirements.txt
2
- boilerplates[git_repo_tests,packaging_tests] ~= 1.0
3
- setuptools >= 67.4
File without changes
File without changes
File without changes
File without changes
File without changes