commit:     55997c153d133ed9db670215e9cb405ff92404f9
Author:     Horea Christian <chr <AT> chymera <DOT> eu>
AuthorDate: Thu Jan 25 07:05:37 2024 +0000
Commit:     Horea Christian <horea.christ <AT> gmail <DOT> com>
CommitDate: Thu Jan 25 07:05:37 2024 +0000
URL:        https://gitweb.gentoo.org/proj/sci.git/commit/?id=55997c15

dev-vcs/dandi-cli: add 0.59.0

Signed-off-by: Horea Christian <chr <AT> chymera.eu>

 dev-vcs/dandi-cli/dandi-cli-0.59.0.ebuild          | 89 ++++++++++++++++++++++
 .../files/dandi-cli-0.59.0-no-etelemetry.patch     | 40 ++++++++++
 .../dandi-cli/files/dandi-cli-0.59.0-typo.patch    | 12 +++
 3 files changed, 141 insertions(+)

diff --git a/dev-vcs/dandi-cli/dandi-cli-0.59.0.ebuild 
b/dev-vcs/dandi-cli/dandi-cli-0.59.0.ebuild
new file mode 100644
index 000000000..df160ad23
--- /dev/null
+++ b/dev-vcs/dandi-cli/dandi-cli-0.59.0.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+MY_PN="dandi"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="DANDI command line client to facilitate common operations"
+HOMEPAGE="https://github.com/dandi/dandi-cli";
+SRC_URI="$(pypi_sdist_url dandi)"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test etelemetry"
+
+RDEPEND="
+       =dev-python/dandi-schema-0.8*[${PYTHON_USEDEP}]
+       >=dev-python/pydantic-1.9.0[${PYTHON_USEDEP}]
+       >=sci-biology/bidsschematools-0.7.0[${PYTHON_USEDEP}]
+       dev-python/click-didyoumean[${PYTHON_USEDEP}]
+       dev-python/click[${PYTHON_USEDEP}]
+       dev-python/fasteners[${PYTHON_USEDEP}]
+       dev-python/fscacher[${PYTHON_USEDEP}]
+       dev-python/humanize[${PYTHON_USEDEP}]
+       dev-python/interleave[${PYTHON_USEDEP}]
+       dev-python/joblib[${PYTHON_USEDEP}]
+       dev-python/keyring[${PYTHON_USEDEP}]
+       dev-python/keyrings-alt[${PYTHON_USEDEP}]
+       dev-python/nwbinspector[${PYTHON_USEDEP}]
+       dev-python/packaging[${PYTHON_USEDEP}]
+       dev-python/platformdirs[${PYTHON_USEDEP}]
+       dev-python/pycryptodome[${PYTHON_USEDEP}]
+       dev-python/pynwb[${PYTHON_USEDEP}]
+       dev-python/pyout[${PYTHON_USEDEP}]
+       dev-python/python-dateutil[${PYTHON_USEDEP}]
+       dev-python/requests[${PYTHON_USEDEP}]
+       dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+       dev-python/semantic-version[${PYTHON_USEDEP}]
+       dev-python/tenacity[${PYTHON_USEDEP}]
+       dev-python/versioneer[${PYTHON_USEDEP}]
+       dev-python/wheel[${PYTHON_USEDEP}]
+       dev-python/zarr[${PYTHON_USEDEP}]
+       dev-python/zarr_checksum[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+       test? (
+               dev-python/anys[${PYTHON_USEDEP}]
+               dev-python/pyfakefs[${PYTHON_USEDEP}]
+               dev-python/pytest-mock[${PYTHON_USEDEP}]
+               dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+               dev-python/responses[${PYTHON_USEDEP}]
+               dev-python/vcrpy[${PYTHON_USEDEP}]
+               media-libs/opencv[ffmpeg,${PYTHON_USEDEP}]
+       )
+"
+# Upstream might be amenable to dropping opencv:
+# https://github.com/dandi/dandi-cli/issues/944
+
+S="${WORKDIR}/${MY_P}"
+
+EPYTEST_DESELECT=(
+       # Reported upstream:
+       # https://github.com/dandi/dandi-cli/issues/1394
+       dandi/cli/tests/test_command.py::test_no_heavy_imports
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+       if use etelemetry; then
+               default
+       else
+               eapply "${FILESDIR}/${P}-no-etelemetry.patch"
+               default
+       fi
+}
+
+python_test() {
+       export DANDI_TESTS_NONETWORK=1
+       epytest
+}

diff --git a/dev-vcs/dandi-cli/files/dandi-cli-0.59.0-no-etelemetry.patch 
b/dev-vcs/dandi-cli/files/dandi-cli-0.59.0-no-etelemetry.patch
new file mode 100644
index 000000000..4d4f42a03
--- /dev/null
+++ b/dev-vcs/dandi-cli/files/dandi-cli-0.59.0-no-etelemetry.patch
@@ -0,0 +1,40 @@
+diff --git a/dandi/files/bases.py b/dandi/files/bases.py
+index 45f5929f..38bde34f 100644
+--- a/dandi/files/bases.py
++++ b/dandi/files/bases.py
+@@ -18,7 +18,6 @@ from dandischema.digests.dandietag import DandiETag
+ from dandischema.models import BareAsset, CommonModel
+ from dandischema.models import Dandiset as DandisetMeta
+ from dandischema.models import get_schema_version
+-from etelemetry import get_project
+ from packaging.version import Version
+ from pydantic import ValidationError
+ import requests
+@@ -737,6 +736,7 @@ def _get_nwb_inspector_version():
+     _current_nwbinspector_version = get_package_version(name="nwbinspector")
+     # Ensure latest version of NWB Inspector is installed and used client-side
+     try:
++        from etelemetry import get_project
+         max_version = Version(
+             
get_project(repo="NeurodataWithoutBorders/nwbinspector")["version"]
+         )
+diff --git a/setup.cfg b/setup.cfg
+--- a/setup.cfg        2024-01-09 14:08:33.952653200 -0500
++++ b/setup.cfg        2024-01-25 01:45:34.594335960 -0500
+@@ -34,7 +34,6 @@
+       click >= 7.1
+       click-didyoumean
+       dandischema ~= 0.8.0
+-      etelemetry >= 0.2.2
+       fasteners
+       fscacher >= 0.3.0
+       hdmf != 3.5.0
+@@ -147,9 +146,6 @@
+ [mypy-click_didyoumean.*]
+ ignore_missing_imports = True
+
+-[mypy-etelemetry.*]
+-ignore_missing_imports = True
+-
+ [mypy-fasteners.*]
+ ignore_missing_imports = True

diff --git a/dev-vcs/dandi-cli/files/dandi-cli-0.59.0-typo.patch 
b/dev-vcs/dandi-cli/files/dandi-cli-0.59.0-typo.patch
new file mode 100644
index 000000000..57cbe6da2
--- /dev/null
+++ b/dev-vcs/dandi-cli/files/dandi-cli-0.59.0-typo.patch
@@ -0,0 +1,12 @@
+diff --git 
a/var/tmp/portage/dev-vcs/dandi-cli-0.59.0/work/dandi-0.59.0/setup.cfg 
b/tmp/setup.cfg
+index 13ed3f3..f855608 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -146,8 +146,6 @@ ignore_missing_imports = True
+ [mypy-click_didyoumean.*]
+ ignore_missing_imports = True
+
+-ignore_missing_imports = True
+-
+ [mypy-fasteners.*]
+ ignore_missing_imports = True

Reply via email to