[med-svn] [Git][med-team/q2cli][master] 7 commits: routine-update: New upstream version
Michael R. Crusoe (@crusoe)
gitlab at salsa.debian.org
Tue Jun 25 03:25:52 BST 2024
Michael R. Crusoe pushed to branch master at Debian Med / q2cli
Commits:
06f916bb by Michael R. Crusoe at 2024-06-25T03:51:57+02:00
routine-update: New upstream version
- - - - -
d9f39410 by Michael R. Crusoe at 2024-06-25T03:51:58+02:00
New upstream version 2024.5.0
- - - - -
72b817a3 by Michael R. Crusoe at 2024-06-25T03:51:59+02:00
Update upstream source from tag 'upstream/2024.5.0'
Update to upstream version '2024.5.0'
with Debian dir f9299067fe25e384253e644238fb8b7f67a4a022
- - - - -
afbc0a49 by Michael R. Crusoe at 2024-06-25T03:52:20+02:00
routine-update: Regenerate debian/control from debian/control.in
- - - - -
a16c97c0 by Michael R. Crusoe at 2024-06-25T04:15:16+02:00
d/patches/configparser.patch: copy from qiime packaging
- - - - -
d38d5496 by Michael R. Crusoe at 2024-06-25T04:20:07+02:00
Only build for Python 3.11 until upstream catches up with Python 3.12.
- - - - -
aa8f4040 by Michael R. Crusoe at 2024-06-25T04:20:08+02:00
routine-update: Ready to upload to unstable
- - - - -
10 changed files:
- debian/changelog
- debian/control
- + debian/patches/configparser.patch
- debian/patches/series
- debian/rules
- debian/tests/control
- q2cli/_version.py
- q2cli/tests/test_cache_cli.py
- q2cli/tests/test_core.py
- q2cli/util.py
Changes:
=====================================
debian/changelog
=====================================
@@ -1,10 +1,17 @@
-q2cli (2024.2.0-2) UNRELEASED; urgency=medium
+q2cli (2024.5.0-1) unstable; urgency=medium
+ [ Andreas Tille ]
* Team upload.
* Make the build reproducible
Closes: #1066085
- -- Andreas Tille <tille at debian.org> Tue, 12 Mar 2024 14:07:10 +0100
+ [ Michael R. Crusoe ]
+ * Regenerate debian/control from debian/control.in (routine-update)
+ * d/patches/configparser.patch: copy from qiime packaging
+ * Only build for Python 3.11 until upstream catches up with Python
+ 3.12.
+
+ -- Michael R. Crusoe <crusoe at debian.org> Tue, 25 Jun 2024 03:52:20 +0200
q2cli (2024.2.0-1) unstable; urgency=medium
=====================================
debian/control
=====================================
@@ -7,10 +7,10 @@ Section: science
Priority: optional
Build-Depends: debhelper-compat (= 13),
dh-sequence-python3,
- python3,
+ python3-all,
python3-pytest <!nocheck>,
python3-setuptools,
- qiime (>= 2024.2),
+ qiime (>= 2024.5),
python3-click
Standards-Version: 4.6.2
Vcs-Browser: https://salsa.debian.org/med-team/q2cli
@@ -23,8 +23,8 @@ Architecture: all
Depends: ${shlibs:Depends},
${misc:Depends},
${python3:Depends},
- q2-feature-table (>= 2024.2),
- qiime (>= 2024.2),
+ q2-feature-table (>= 2024.5),
+ qiime (>= 2024.5),
python3-setuptools,
python3-click
Description: Click-based command line interface for QIIME 2
=====================================
debian/patches/configparser.patch
=====================================
@@ -0,0 +1,35 @@
+From: Athos Ribeiro <athos.ribeiro at canonical.com>
+Date: Mon, 3 Jun 2024 11:31:54 -0300
+Subject: [PATCH] Use ConfigParser instead of SafeConfigParser
+
+The configparser's SafeConfigParser has been renamed to ConfigParser in
+Python 3.2 [1]. It was finally removed in Python 3.12 [2].
+
+[1] https://docs.python.org/dev/whatsnew/3.2.html#configparser
+[2] https://docs.python.org/3/whatsnew/3.12.html#configparser
+
+Last-Update: 2024-06-03
+Forwarded: not-needed, see https://github.com/qiime2/q2-sample-classifier/pull/229
+---
+ versioneer.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/versioneer.py b/versioneer.py
+index a5e7a20..886455f 100644
+--- a/versioneer.py
++++ b/versioneer.py
+@@ -340,9 +340,9 @@ def get_config_from_root(root):
+ # configparser.NoOptionError (if it lacks "VCS="). See the docstring at
+ # the top of versioneer.py for instructions on writing your setup.cfg .
+ setup_cfg = os.path.join(root, "setup.cfg")
+- parser = configparser.SafeConfigParser()
++ parser = configparser.ConfigParser()
+ with open(setup_cfg, "r") as f:
+- parser.readfp(f)
++ parser.read_file(f)
+ VCS = parser.get("versioneer", "VCS") # mandatory
+
+ def get(parser, name):
+--
+2.43.0
+
=====================================
debian/patches/series
=====================================
@@ -1,3 +1,4 @@
+configparser.patch
call_py3.patch
inform_zsh_users_howto_set_autocompletion.patch
bash-completion-with-hashbang.patch
=====================================
debian/rules
=====================================
@@ -8,6 +8,7 @@ include /usr/share/dpkg/default.mk
VERSION_UPSTREAM=$(shell echo $(DEB_VERSION_UPSTREAM) | sed -e 's/\(20[0-9][0-9]\.[0-9]\+\)\..*/\1/')
export PYBUILD_TEST_ARGS=--ignore=q2cli/tests/test_usage.py
+export PYBUILD_DISABLE=python3.12
%:
dh $@ --buildsystem=pybuild
=====================================
debian/tests/control
=====================================
@@ -1,3 +1,3 @@
Tests: run-unit-test
-Depends: @, q2-sample-classifier, file, python3-sklearn
+Depends: @, q2-sample-classifier, file, python3-sklearn, python3-all
Restrictions: allow-stderr
=====================================
q2cli/_version.py
=====================================
@@ -23,9 +23,9 @@ def get_keywords():
# setup.py/versioneer.py will grep for the variable names, so they must
# each be defined on a line of their own. _version.py will just call
# get_keywords().
- git_refnames = " (tag: 2024.2.0, Release-2024.2)"
- git_full = "722997ebe6be5973716cc5f3e9f0bbd4ce722095"
- git_date = "2024-02-16 21:49:58 +0000"
+ git_refnames = " (tag: 2024.5.0, Release-2024.5)"
+ git_full = "2bbd82625406a601add2182ad087aaeae0d1d701"
+ git_date = "2024-05-29 04:19:12 +0000"
keywords = {"refnames": git_refnames, "full": git_full, "date": git_date}
return keywords
=====================================
q2cli/tests/test_cache_cli.py
=====================================
@@ -730,8 +730,8 @@ class TestCacheCli(unittest.TestCase):
art2_path = str(self.cache.path) + ':art2'
art3_path = str(self.cache.path) + ':art3'
- out_path = str(self.cache.path) + ':not_valid_identifier$&;'
-
+ invalid = 'not_valid_identifier$&;'
+ out_path = str(self.cache.path) + ':' + invalid
result = self._run_command(
'concatenate-ints', '--i-ints1', art1_path, '--i-ints2', art2_path,
'--i-ints3', art3_path, '--p-int1', '9', '--p-int2', '10',
@@ -739,7 +739,7 @@ class TestCacheCli(unittest.TestCase):
)
self.assertEqual(result.exit_code, 1)
- self.assertIn('Keys must be valid Python identifiers',
+ self.assertIn(f"Key '{invalid}' is not a valid Python identifier",
str(result.exception))
def test_artifact_as_metadata_cache(self):
=====================================
q2cli/tests/test_core.py
=====================================
@@ -26,7 +26,7 @@ from qiime2.sdk import PluginManager
from qiime2.core.archive.provenance_lib import DummyArtifacts, ProvDAG
from qiime2.core.archive.provenance_lib.replay import (
ReplayConfig, param_is_metadata_column, dump_recorded_md_file,
- NamespaceCollections, build_import_usage, build_action_usage,
+ ReplayNamespaces, build_import_usage, build_action_usage,
ActionCollections, replay_provenance, replay_supplement
)
from qiime2.core.archive.provenance_lib.usage_drivers import ReplayPythonUsage
@@ -283,7 +283,7 @@ class ReplayCLIUsageTests(unittest.TestCase):
self.assertTrue(out_path2.is_file())
def test_build_import_usage_cli(self):
- ns = NamespaceCollections()
+ ns = ReplayNamespaces()
cfg = ReplayConfig(use=ReplayCLIUsage(),
use_recorded_metadata=False, pm=self.pm)
dag = self.das.concated_ints_v6.dag
@@ -293,12 +293,12 @@ class ReplayCLIUsageTests(unittest.TestCase):
unq_var_nm = c_to_s_type + '_0'
build_import_usage(import_node, ns, cfg)
rendered = cfg.use.render()
- vars = ns.usg_vars
- out_name = vars[import_uuid].to_interface_name()
+ usg_var = ns.get_usg_var_record(import_uuid).variable
+ out_name = usg_var.to_interface_name()
- self.assertIsInstance(vars[import_uuid], UsageVariable)
- self.assertEqual(vars[import_uuid].var_type, 'artifact')
- self.assertEqual(vars[import_uuid].name, unq_var_nm)
+ self.assertIsInstance(usg_var, UsageVariable)
+ self.assertEqual(usg_var.var_type, 'artifact')
+ self.assertEqual(usg_var.name, unq_var_nm)
self.assertRegex(rendered, r'qiime tools import \\')
self.assertRegex(rendered, f" --type '{import_node.type}'")
self.assertRegex(rendered, " --input-path <your data here>")
@@ -310,7 +310,7 @@ class ReplayCLIUsageTests(unittest.TestCase):
cfg = ReplayConfig(use=ReplayCLIUsage(),
use_recorded_metadata=False, pm=self.pm)
- ns = NamespaceCollections()
+ ns = ReplayNamespaces()
import_var_1 = CLIUsageVariable(
'imported_ints_0', lambda: None, 'artifact', cfg.use
)
@@ -319,10 +319,10 @@ class ReplayCLIUsageTests(unittest.TestCase):
)
import_uuid_1 = '8dea2f1a-2164-4a85-9f7d-e0641b1db22b'
import_uuid_2 = '7727c060-5384-445d-b007-b64b41a090ee'
- ns.usg_vars = {
- import_uuid_1: import_var_1,
- import_uuid_2: import_var_2
- }
+ ns.add_usg_var_record(import_uuid_1, 'imported_ints_0')
+ ns.update_usg_var_record(import_uuid_1, import_var_1)
+ ns.add_usg_var_record(import_uuid_2, 'imported_ints_1')
+ ns.update_usg_var_record(import_uuid_2, import_var_2)
dag = self.das.concated_ints_v6.dag
action_uuid = '5035a60e-6f9a-40d4-b412-48ae52255bb5'
@@ -334,12 +334,13 @@ class ReplayCLIUsageTests(unittest.TestCase):
unique_var_name = node.action.output_name + '_0'
build_action_usage(node, ns, actions.std_actions, action_uuid, cfg)
rendered = cfg.use.render()
- out_name = ns.usg_vars[node_uuid].to_interface_name()
- vars = ns.usg_vars
- self.assertIsInstance(vars[node_uuid], UsageVariable)
- self.assertEqual(vars[node_uuid].var_type, 'artifact')
- self.assertEqual(vars[node_uuid].name, unique_var_name)
+ usg_var = ns.get_usg_var_record(node_uuid).variable
+ out_name = usg_var.to_interface_name()
+
+ self.assertIsInstance(usg_var, UsageVariable)
+ self.assertEqual(usg_var.var_type, 'artifact')
+ self.assertEqual(usg_var.name, unique_var_name)
self.assertIn(f'qiime {plugin} {action}', rendered)
self.assertIn('--i-ints1 imported-ints-0.qza', rendered)
=====================================
q2cli/util.py
=====================================
@@ -107,14 +107,8 @@ def output_in_cache(fp):
try:
if Cache.is_cache(cache_path):
- if not key.isidentifier():
- raise ValueError(
- f"Key '{key}' is not a valid Python identifier. Keys must "
- "be valid Python identifiers. Python identifier rules may "
- "be found here https://www.askpython.com/python/"
- "python-identifiers-rules-best-practices")
- else:
- return True
+ Cache.validate_key(key)
+ return True
except FileNotFoundError as e:
# If cache_path doesn't exist, don't treat this as a cache output
if 'No such file or directory' in str(e):
View it on GitLab: https://salsa.debian.org/med-team/q2cli/-/compare/8348f31baa1c29441410c270987ef332de609eba...aa8f40407a7c908cbf76dcce8959a8d1c65884c5
--
This project does not include diff previews in email notifications.
View it on GitLab: https://salsa.debian.org/med-team/q2cli/-/compare/8348f31baa1c29441410c270987ef332de609eba...aa8f40407a7c908cbf76dcce8959a8d1c65884c5
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20240625/e47cad39/attachment-0001.htm>
More information about the debian-med-commit
mailing list