lockss-turtles 0.6.0.dev26__tar.gz → 0.6.0.post1__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 (18) hide show
  1. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/CHANGELOG.rst +9 -1
  2. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/PKG-INFO +7 -4
  3. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/README.rst +5 -2
  4. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/pyproject.toml +2 -2
  5. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/__init__.py +1 -1
  6. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/plugin_set.py +2 -2
  7. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/tests/unittest/lockss/turtles/test_plugin_registry.py +6 -0
  8. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/LICENSE +0 -0
  9. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/__main__.py +0 -0
  10. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/app.py +0 -0
  11. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/cli.py +0 -0
  12. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/plugin.py +0 -0
  13. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/plugin_registry.py +0 -0
  14. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/plugin_signing_credentials.py +0 -0
  15. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/src/lockss/turtles/util.py +0 -0
  16. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/tests/unittest/lockss/turtles/__init__.py +0 -0
  17. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/tests/unittest/lockss/turtles/test_plugin_set.py +0 -0
  18. {lockss_turtles-0.6.0.dev26 → lockss_turtles-0.6.0.post1}/tests/unittest/lockss/turtles/test_plugin_signing_credentials.py +0 -0
@@ -2,11 +2,19 @@
2
2
  Release Notes
3
3
  =============
4
4
 
5
+ -----
6
+ 0.6.1
7
+ -----
8
+
9
+ Released: 2026-02-03
10
+
11
+ * Requires Python 3.9-3.13.
12
+
5
13
  -----
6
14
  0.6.0
7
15
  -----
8
16
 
9
- Released: ?
17
+ Released: 2025-10-23
10
18
 
11
19
  * **Changes**
12
20
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lockss-turtles
3
- Version: 0.6.0.dev26
3
+ Version: 0.6.0.post1
4
4
  Summary: Library and command line tool to manage LOCKSS plugin sets and LOCKSS plugin registries
5
5
  License: BSD-3-Clause
6
6
  License-File: LICENSE
@@ -8,7 +8,7 @@ Author: Thib Guicherd-Callin
8
8
  Author-email: thib@cs.stanford.edu
9
9
  Maintainer: Thib Guicherd-Callin
10
10
  Maintainer-email: thib@cs.stanford.edu
11
- Requires-Python: >=3.9,<4.0
11
+ Requires-Python: >=3.9,<3.14
12
12
  Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Environment :: Console
14
14
  Classifier: Framework :: Pydantic :: 2
@@ -35,8 +35,8 @@ Description-Content-Type: text/x-rst
35
35
  Turtles
36
36
  =======
37
37
 
38
- .. |RELEASE| replace:: 0.6.0-dev26 NOT YET RELEASED
39
- .. |RELEASE_DATE| replace:: NOT YET RELEASED
38
+ .. |RELEASE| replace:: 0.6.0-post1
39
+ .. |RELEASE_DATE| replace:: 2026-02-03
40
40
  .. |TURTLES| replace:: **Turtles**
41
41
 
42
42
  .. image:: https://assets.lockss.org/images/logos/turtles/turtles_128x128.png
@@ -56,6 +56,9 @@ Turtles
56
56
 
57
57
  Quick Start::
58
58
 
59
+ # Requires Python 3.9-3.13
60
+ python --version
61
+
59
62
  # Install with pipx
60
63
  pipx install lockss-turtles
61
64
 
@@ -2,8 +2,8 @@
2
2
  Turtles
3
3
  =======
4
4
 
5
- .. |RELEASE| replace:: 0.6.0-dev26 NOT YET RELEASED
6
- .. |RELEASE_DATE| replace:: NOT YET RELEASED
5
+ .. |RELEASE| replace:: 0.6.0-post1
6
+ .. |RELEASE_DATE| replace:: 2026-02-03
7
7
  .. |TURTLES| replace:: **Turtles**
8
8
 
9
9
  .. image:: https://assets.lockss.org/images/logos/turtles/turtles_128x128.png
@@ -23,6 +23,9 @@ Turtles
23
23
 
24
24
  Quick Start::
25
25
 
26
+ # Requires Python 3.9-3.13
27
+ python --version
28
+
26
29
  # Install with pipx
27
30
  pipx install lockss-turtles
28
31
 
@@ -28,11 +28,11 @@
28
28
 
29
29
  [project]
30
30
  name = "lockss-turtles"
31
- version = "0.6.0-dev26" # Always change in __init__.py, and at release time in README.rst and CHANGELOG.rst
31
+ version = "0.6.0-post1" # Always change in __init__.py, and at release time in README.rst and CHANGELOG.rst
32
32
  description = "Library and command line tool to manage LOCKSS plugin sets and LOCKSS plugin registries"
33
33
  license = { text = "BSD-3-Clause" }
34
34
  readme = "README.rst"
35
- requires-python = ">=3.9,<4.0"
35
+ requires-python = ">=3.9,<3.14"
36
36
  authors = [
37
37
  { name = "Thib Guicherd-Callin", email = "thib@cs.stanford.edu" },
38
38
  ]
@@ -6,7 +6,7 @@ registries.
6
6
  """
7
7
 
8
8
  #: This package's version.
9
- __version__ = '0.6.0-dev26'
9
+ __version__ = '0.6.0-post1'
10
10
 
11
11
  #: This package's copyright.
12
12
  __copyright__ = '''
@@ -293,7 +293,7 @@ class MavenPluginSetBuilder(BasePluginSetBuilder):
293
293
  :param keystore_alias: The alias to use in the plugin signing keystore.
294
294
  :type keystore_alias: str
295
295
  :param keystore_password: The plugin signing password.
296
- :type keystore_password:
296
+ :type keystore_password: Optional[Callable[[], str]]
297
297
  :raises subprocess.CalledProcessError: If a subprocess fails.
298
298
  """
299
299
  if not self._built:
@@ -302,7 +302,7 @@ class MavenPluginSetBuilder(BasePluginSetBuilder):
302
302
  f'-Dkeystore.file={keystore_path!s}',
303
303
  f'-Dkeystore.alias={keystore_alias}']
304
304
  if keystore_password:
305
- cmd.extend(f'-Dkeystore.password={keystore_password()}')
305
+ cmd.append(f'-Dkeystore.password={keystore_password()}')
306
306
  try:
307
307
  subprocess.run(cmd, cwd=self.get_root(), check=True, stdout=sys.stdout, stderr=sys.stderr)
308
308
  except subprocess.CalledProcessError as cpe:
@@ -259,6 +259,12 @@ class TestPluginRegistryLayer(PydanticTestCase):
259
259
  for valid in self.valid:
260
260
  self.assertEqual(valid.get_plugin_registry(), self.fake_plugin_registry)
261
261
 
262
+ def test_path_dot_works(self) -> None:
263
+ prl = PluginRegistryLayer(id='mylayer',
264
+ name='My Layer',
265
+ path='.').initialize(self.fake_plugin_registry)
266
+ self.assertEqual(prl.get_path(), ROOT)
267
+
262
268
 
263
269
  class TestPluginRegistry(PydanticTestCase):
264
270