datalad / datalad-next

DataLad extension for new functionality and improved user experience
https://datalad.org
Other
6 stars 7 forks source link

Don't import datalad.api in patched tests #716

Closed christian-monch closed 1 month ago

christian-monch commented 1 month ago

This PR aims at fixing an error in tests that appeared in datalad-catalog after release 1.4 of datalad-next.

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.41%. Comparing base (c77087b) to head (2d8d114).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #716 +/- ## ========================================== - Coverage 92.42% 92.41% -0.02% ========================================== Files 193 193 Lines 14134 14128 -6 Branches 2134 2134 ========================================== - Hits 13064 13056 -8 - Misses 806 808 +2 Partials 264 264 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

jsheunis commented 1 month ago

I tested this locally and still have the same (or similar) issue:

python -m pytest -s -vv ../dlcatnewline/datalad_catalog/tests                  ✔  9s  datcattut  ▓▒░
==================================================================== test session starts =====================================================================
platform darwin -- Python 3.11.7, pytest-8.2.1, pluggy-1.5.0 -- /Users/jsheunis/opt/miniconda3/envs/datcattut/bin/python
cachedir: .pytest_cache
rootdir: /Users/jsheunis/Documents/psyinf/dlcatnewline
configfile: pyproject.toml
plugins: cov-5.0.0
collecting ... [ERROR  ] Internal error, cannot import interface 'datalad_catalog.create': ImportError(cannot import name 'CatalogRequired' from partially initialized module 'datalad_catalog.constraints' (most likely due to a circular import) (/Users/jsheunis/Documents/psyinf/dlcatnewline/datalad_catalog/constraints.py))
[ERROR  ] Skipping unusable command interface 'datalad_catalog.create.Create' from extension 'catalog'
collected 51 items / 1 error

=========================================================================== ERRORS ===========================================================================
_____________________________________________________ ERROR collecting datalad_catalog/tests/test_add.py _____________________________________________________
../dlcatnewline/datalad_catalog/tests/test_add.py:5: in <module>
    from datalad_catalog.add import Add
../dlcatnewline/datalad_catalog/add.py:11: in <module>
    from datalad_catalog.constraints import (
../dlcatnewline/datalad_catalog/constraints.py:17: in <module>
    from datalad_next.constraints import (
datalad_next/__init__.py:55: in <module>
    import datalad_next.patches.enabled
datalad_next/patches/enabled.py:1: in <module>
    from . import (
datalad_next/patches/patch_ria_ora.py:25: in <module>
    from . import fix_ria_ora_tests
datalad_next/patches/fix_ria_ora_tests.py:937: in <module>
    apply_patch(
datalad_next/patches/__init__.py:60: in apply_patch
    mod = import_module(modname, package='datalad')
../../../opt/miniconda3/envs/datcattut/lib/python3.11/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1204: in _gcd_import
    ???
<frozen importlib._bootstrap>:1176: in _find_and_load
    ???
<frozen importlib._bootstrap>:1147: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:690: in _load_unlocked
    ???
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/_pytest/assertion/rewrite.py:178: in exec_module
    exec(co, module.__dict__)
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/core/distributed/tests/test_clone.py:20: in <module>
    from datalad.api import (
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/api.py:74: in <module>
    _generate_extension_api()
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/api.py:59: in _generate_extension_api
    intf = load_interface(intfspec[:2])
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/interface/base.py:168: in load_interface
    intf = getattr(mod, spec[1])
E   AttributeError: partially initialized module 'datalad_catalog.add' has no attribute 'Add' (most likely due to a circular import)
mih commented 1 month ago

Can you confirm this with v1.4.1?

jsheunis commented 1 month ago

Confirmed, locally

christian-monch commented 1 month ago

I tested this locally and still have the same (or similar) issue: [...]

I tested locally as well and all tests passed. My configuration:

What is your configuration on the failing tests?

jsheunis commented 1 month ago

looks like the main difference is the datalad-catalog version, i'm at datalad_catalog-1.1.1+66.g55ef5e5

christian-monch commented 1 month ago

looks like the main difference is the datalad-catalog version, i'm at datalad_catalog-1.1.1+66.g55ef5e5

I updated my datalad-catalog version to 1.1.1+67.g76bb8d9. I still get passing tests from ./datalad_catalog/tests/test_add.py with datalad-next 1.4.1 and with the fix-circular-import-branch and failing tests with datalad-next 1.4.0.

jsheunis commented 1 month ago

I checked all versions again now, and couldn't find a difference to your setup, apart from the system.

I ran the tests again and still received the circular import error.

datalad wtf: ``` # WTF ## configuration ## credentials - keyring: - active_backends: - macOS Keyring - PlaintextKeyring with no encyption v.1.0 at /Users/jsheunis/.local/share/python_keyring/keyring_pass.cfg - config_file: /Users/jsheunis/.config/python_keyring/keyringrc.cfg - data_root: /Users/jsheunis/.local/share/python_keyring ## datalad - version: 1.0.2 ## dataset - branches: - fix-circular-import@77dc151 - lstcol@329e283 - main@a435ee1 - patch-create-sibling-ria@3737a51 - id: None - path: /Users/jsheunis/Documents/psyinf/datalad-next - repo: GitRepo ## dependencies - annexremote: 1.6.4 - boto: 2.49.0 - cmd:7z: 17.04 - cmd:annex: 10.20230227 - cmd:bundled-git: UNKNOWN - cmd:git: 2.42.0 - cmd:ssh: 8.1p1 - cmd:system-git: 2.42.0 - cmd:system-ssh: 8.1p1 - humanize: 4.9.0 - iso8601: 2.1.0 - keyring: 24.3.0 - keyrings.alt: 5.0.0 - msgpack: 1.0.7 - platformdirs: 4.1.0 - requests: 2.31.0 ## environment - LANG: en_US.UTF-8 - LANGUAGE: en_US.UTF-8 - LC_ALL: en_US.UTF-8 - LC_CTYPE: en_US.UTF-8 - LC_TERMINAL: iTerm2 - LC_TERMINAL_VERSION: 3.4.5 - PATH: /Users/jsheunis/.rbenv/shims:/Users/jsheunis/opt/miniconda3/envs/datcattut/bin:/Users/jsheunis/opt/miniconda3/condabin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin:/Users/jsheunis/.dotfiles/bin:/usr/local/sbin:/usr/X11R6/bin:/usr/local/games:/usr/games:/Users/jsheunis/.local/bin:/Users/jsheunis/.local/bin ## extensions - catalog: - description: DataLad Catalog command suite - entrypoints: - datalad_catalog.add.Add: - class: Add - module: datalad_catalog.add - names: - catalog-add - catalog_add - datalad_catalog.catalog.Catalog: - class: Catalog - module: datalad_catalog.catalog - names: - catalog - catalog - datalad_catalog.create.Create: - class: Create - module: datalad_catalog.create - names: - catalog-create - catalog_create - datalad_catalog.get.Get: - class: Get - module: datalad_catalog.get - names: - catalog-get - catalog_get - datalad_catalog.remove.Remove: - class: Remove - module: datalad_catalog.remove - names: - catalog-remove - catalog_remove - datalad_catalog.serve.Serve: - class: Serve - module: datalad_catalog.serve - names: - catalog-serve - catalog_serve - datalad_catalog.set.Set: - class: Set - module: datalad_catalog.set - names: - catalog-set - catalog_set - datalad_catalog.translate.MetaTranslate: - class: MetaTranslate - module: datalad_catalog.translate - names: - catalog-translate - catalog_translate - datalad_catalog.validate.Validate: - class: Validate - module: datalad_catalog.validate - names: - catalog-validate - catalog_validate - datalad_catalog.workflow.Workflow: - class: Workflow - module: datalad_catalog.workflow - names: - catalog-workflow - catalog_workflow - module: datalad_catalog - version: 1.1.1 - deprecated: - description: Deprecated functionality - entrypoints: - datalad_deprecated.annotate_paths.AnnotatePaths: - class: AnnotatePaths - module: datalad_deprecated.annotate_paths - names: - datalad_deprecated.ls.Ls: - class: Ls - module: datalad_deprecated.ls - names: - datalad_deprecated.metadata.aggregate.AggregateMetaData: - class: AggregateMetaData - module: datalad_deprecated.metadata.aggregate - names: - aggregate-metadata - aggregate_metadata - datalad_deprecated.metadata.extract_metadata.ExtractMetadata: - class: ExtractMetadata - module: datalad_deprecated.metadata.extract_metadata - names: - extract-metadata - extract_metadata - datalad_deprecated.metadata.metadata.Metadata: - class: Metadata - module: datalad_deprecated.metadata.metadata - names: - datalad_deprecated.metadata.search.Search: - class: Search - module: datalad_deprecated.metadata.search - names: - datalad_deprecated.publish.Publish: - class: Publish - module: datalad_deprecated.publish - names: - module: datalad_deprecated - version: 0.3.0 - metalad: - description: DataLad semantic metadata command suite - entrypoints: - datalad_metalad.add.Add: - class: Add - module: datalad_metalad.add - names: - meta-add - meta_add - datalad_metalad.aggregate.Aggregate: - class: Aggregate - module: datalad_metalad.aggregate - names: - meta-aggregate - meta_aggregate - datalad_metalad.conduct.Conduct: - class: Conduct - module: datalad_metalad.conduct - names: - meta-conduct - meta_conduct - datalad_metalad.dump.Dump: - class: Dump - module: datalad_metalad.dump - names: - meta-dump - meta_dump - datalad_metalad.extract.Extract: - class: Extract - module: datalad_metalad.extract - names: - meta-extract - meta_extract - datalad_metalad.filter.Filter: - class: Filter - module: datalad_metalad.filter - names: - meta-filter - meta_filter - module: datalad_metalad - version: 0.4.22 - next: - description: What is next in DataLad - entrypoints: - datalad_next.commands.create_sibling_webdav.CreateSiblingWebDAV: - class: CreateSiblingWebDAV - module: datalad_next.commands.create_sibling_webdav - names: - create-sibling-webdav - datalad_next.commands.credentials.Credentials: - class: Credentials - module: datalad_next.commands.credentials - names: - datalad_next.commands.download.Download: - class: Download - module: datalad_next.commands.download - names: - download - datalad_next.commands.ls_file_collection.LsFileCollection: - class: LsFileCollection - module: datalad_next.commands.ls_file_collection - names: - ls-file-collection - datalad_next.commands.status.Status: - class: Status - module: datalad_next.commands.status - names: - next-status - next_status - datalad_next.commands.tree.TreeCommand: - class: TreeCommand - module: datalad_next.commands.tree - names: - tree - module: datalad_next - version: 1.4.1+21.g77dc151 ## git-annex - build flags: - Assistant - Webapp - Pairing - FsEvents - TorrentParser - MagicMime - Benchmark - Feeds - Testsuite - S3 - WebDAV - dependency versions: - aws-0.24 - bloomfilter-2.0.1.0 - cryptonite-0.30 - DAV-1.3.4 - feed-1.3.2.1 - ghc-9.4.4 - http-client-0.7.13.1 - persistent-sqlite-2.13.1.1 - torrent-10000.1.1 - uuid-1.3.15 - yesod-1.6.2.1 - key/value backends: - SHA256E - SHA256 - SHA512E - SHA512 - SHA224E - SHA224 - SHA384E - SHA384 - SHA3_256E - SHA3_256 - SHA3_512E - SHA3_512 - SHA3_224E - SHA3_224 - SHA3_384E - SHA3_384 - SKEIN256E - SKEIN256 - SKEIN512E - SKEIN512 - BLAKE2B256E - BLAKE2B256 - BLAKE2B512E - BLAKE2B512 - BLAKE2B160E - BLAKE2B160 - BLAKE2B224E - BLAKE2B224 - BLAKE2B384E - BLAKE2B384 - BLAKE2BP512E - BLAKE2BP512 - BLAKE2S256E - BLAKE2S256 - BLAKE2S160E - BLAKE2S160 - BLAKE2S224E - BLAKE2S224 - BLAKE2SP256E - BLAKE2SP256 - BLAKE2SP224E - BLAKE2SP224 - SHA1E - SHA1 - MD5E - MD5 - WORM - URL - X* - operating system: darwin x86_64 - remote types: - git - gcrypt - p2p - S3 - bup - directory - rsync - web - bittorrent - webdav - adb - tahoe - glacier - ddar - git-lfs - httpalso - borg - hook - external - supported repository versions: - 8 - 9 - 10 - upgrade supported from repository versions: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 10 - version: 10.20230227 ## location - path: /Users/jsheunis/Documents/psyinf/datalad-next - type: dataset ## metadata.extractors - annex: - distribution: datalad_metalad 0.4.22 - generation: 2 - module: datalad_metalad.extractors.legacy.annex - audio: - distribution: datalad_metalad 0.4.22 - generation: 2 - module: datalad_metalad.extractors.legacy.audio - datacite: - distribution: datalad_metalad 0.4.22 - generation: 2 - module: datalad_metalad.extractors.legacy.datacite - datacite_gin: - distribution: datalad_catalog 1.1.1 - doc: Inherits from metalad's DatasetMetadataExtractor class - generation: 4 - module: datalad_catalog.extractors.datacite_gin - version: 0.0.1 - datalad_core: - distribution: datalad_metalad 0.4.22 - generation: 2 - module: datalad_metalad.extractors.legacy.datalad_core - datalad_rfc822: - distribution: datalad_metalad 0.4.22 - generation: 2 - module: datalad_metalad.extractors.legacy.datalad_rfc822 - exif: - distribution: datalad_metalad 0.4.22 - generation: 2 - module: datalad_metalad.extractors.legacy.exif - external_dataset: - distribution: datalad_metalad 0.4.22 - generation: 4 - module: datalad_metalad.extractors.external_dataset - external_file: - distribution: datalad_metalad 0.4.22 - generation: 4 - module: datalad_metalad.extractors.external_file - frictionless_datapackage: - distribution: datalad_metalad 0.4.22 - generation: 2 - module: datalad_metalad.extractors.legacy.frictionless_datapackage - image: - distribution: datalad_metalad 0.4.22 - generation: 2 - module: datalad_metalad.extractors.legacy.image - metalad_annex: - distribution: datalad_metalad 0.4.22 - generation: 3 - module: datalad_metalad.extractors.annex - metalad_core: - distribution: datalad_metalad 0.4.22 - generation: 3 - module: datalad_metalad.extractors.core - metalad_custom: - distribution: datalad_metalad 0.4.22 - generation: 3 - module: datalad_metalad.extractors.custom - metalad_example_dataset: - distribution: datalad_metalad 0.4.22 - generation: 4 - module: datalad_metalad.extractors.metalad_example_dataset - version: 0.0.1 - metalad_example_file: - distribution: datalad_metalad 0.4.22 - generation: 4 - module: datalad_metalad.extractors.metalad_example_file - version: 0.0.1 - metalad_external_dataset: - distribution: datalad_metalad 0.4.22 - generation: 4 - module: datalad_metalad.extractors.external_dataset - metalad_external_file: - distribution: datalad_metalad 0.4.22 - generation: 4 - module: datalad_metalad.extractors.external_file - metalad_genericjson_dataset: - distribution: datalad_metalad 0.4.22 - doc: Generic JSON dataset-level extractor class Inherits from metalad's DatasetMetadataExtractor class - generation: 4 - module: datalad_metalad.extractors.genericjson_dataset - version: 0.0.1 - metalad_genericjson_file: - distribution: datalad_metalad 0.4.22 - doc: Main 'custom' file-level extractor class Inherits from metalad's FileMetadataExtractor class - generation: 4 - module: datalad_metalad.extractors.genericjson_file - version: 0.0.1 - metalad_runprov: - distribution: datalad_metalad 0.4.22 - generation: 3 - module: datalad_metalad.extractors.runprov - metalad_studyminimeta: - distribution: datalad_metalad 0.4.22 - generation: 3 - module: datalad_metalad.extractors.studyminimeta.main - xmp: - distribution: datalad_metalad 0.4.22 - load_error: ExempiLoadError(Exempi library not found.) - module: datalad_metalad.extractors.legacy.xmp ## metadata.filters - metalad_demofilter: - distribution: datalad_metalad 0.4.22 - doc: Create a "histogram"-like summary of the key values of all specified name_tuple across all metadata that is yielded by the metadata iterables. Histograms bins are determined by the metadata format and "name" within the format. The "name" is a flattened JSON key hierarchy. The set of metadata yielded by the iterables is determined by the metadata urls and the recursion flag that are passed to "datalad meta-filter". - module: datalad_metalad.filters.demofilter - version: 1.0 ## metadata.indexers - metalad_studyminimeta: - distribution: datalad_metalad 0.4.22 - doc: Indexer for metadata that was extracted from studyminimeta metadata (usually contained in ".studyminimeta.yaml"-files). - module: datalad_metalad.indexers.studyminimeta ## python - implementation: CPython - version: 3.11.7 ## system - distribution: darwin/20.6.0 10.16/x86_64 - encoding: - default: utf-8 - filesystem: utf-8 - locale.prefered: UTF-8 - filesystem: - CWD: - path: /Users/jsheunis/Documents/psyinf/datalad-next - HOME: - path: /Users/jsheunis - TMP: - path: /var/folders/g7/720mm8ns7hg3d28_3yyzkx_r0000gp/T - max_path_length: 301 - name: Darwin - release: 20.6.0 - type: posix - version: Darwin Kernel Version 20.6.0: Thu Mar 9 20:39:26 PST 2023; root:xnu-7195.141.49.700.6~1/RELEASE_X86_64 ```
christian-monch commented 1 month ago

I checked all versions again now, and couldn't find a difference to your setup, apart from the system.

I ran the tests again and still received the circular import error. [...]

Thanks for testing that. I will later check on my OSX machine. Do you have an editable installation of datalad-next? Can you post the output of pip list|grep datalad?

jsheunis commented 1 month ago

Do you have an editable installation of datalad-next?

Yes, from your PR branch

Can you post the output of pip list|grep datalad?

datalad                       1.0.2
datalad_catalog               1.1.1+67.g76bb8d9 /Users/jsheunis/Documents/psyinf/dlcatnewline
datalad-deprecated            0.3.0
datalad-metadata-model        0.3.11
datalad_metalad               0.4.22
datalad_next                  1.4.1+21.g77dc151 /Users/jsheunis/Documents/psyinf/datalad-next

After running the above, I ran the tests again and I get:

>> python -m pytest -s -vv ../dlcatnewline/datalad_catalog/tests/test_add.py

==================================================================== test session starts =====================================================================
platform darwin -- Python 3.11.7, pytest-8.2.1, pluggy-1.5.0 -- /Users/jsheunis/opt/miniconda3/envs/datcattut/bin/python
cachedir: .pytest_cache
rootdir: /Users/jsheunis/Documents/psyinf/dlcatnewline
configfile: pyproject.toml
plugins: cov-5.0.0
collecting ... [ERROR  ] Internal error, cannot import interface 'datalad_catalog.create': ImportError(cannot import name 'CatalogRequired' from partially initialized module 'datalad_catalog.constraints' (most likely due to a circular import) (/Users/jsheunis/Documents/psyinf/dlcatnewline/datalad_catalog/constraints.py))
[ERROR  ] Skipping unusable command interface 'datalad_catalog.create.Create' from extension 'catalog'
collected 0 items / 1 error

=========================================================================== ERRORS ===========================================================================
_____________________________________________________ ERROR collecting datalad_catalog/tests/test_add.py _____________________________________________________
../dlcatnewline/datalad_catalog/tests/test_add.py:5: in <module>
    from datalad_catalog.add import Add
../dlcatnewline/datalad_catalog/add.py:11: in <module>
    from datalad_catalog.constraints import (
../dlcatnewline/datalad_catalog/constraints.py:17: in <module>
    from datalad_next.constraints import (
datalad_next/__init__.py:55: in <module>
    import datalad_next.patches.enabled
datalad_next/patches/enabled.py:1: in <module>
    from . import (
datalad_next/patches/patch_ria_ora.py:25: in <module>
    from . import fix_ria_ora_tests
datalad_next/patches/fix_ria_ora_tests.py:937: in <module>
    apply_patch(
datalad_next/patches/__init__.py:60: in apply_patch
    mod = import_module(modname, package='datalad')
../../../opt/miniconda3/envs/datcattut/lib/python3.11/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1204: in _gcd_import
    ???
<frozen importlib._bootstrap>:1176: in _find_and_load
    ???
<frozen importlib._bootstrap>:1147: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:690: in _load_unlocked
    ???
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/_pytest/assertion/rewrite.py:178: in exec_module
    exec(co, module.__dict__)
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/core/distributed/tests/test_clone.py:20: in <module>
    from datalad.api import (
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/api.py:74: in <module>
    _generate_extension_api()
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/api.py:59: in _generate_extension_api
    intf = load_interface(intfspec[:2])
../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/interface/base.py:168: in load_interface
    intf = getattr(mod, spec[1])
E   AttributeError: partially initialized module 'datalad_catalog.add' has no attribute 'Add' (most likely due to a circular import)
====================================================================== warnings summary ======================================================================
../dlcatnewline/datalad_catalog/webcatalog.py:5
../dlcatnewline/datalad_catalog/webcatalog.py:5
  /Users/jsheunis/Documents/psyinf/dlcatnewline/datalad_catalog/webcatalog.py:5: DeprecationWarning: jsonschema.RefResolver is deprecated as of v4.18.0, in favor of the https://github.com/python-jsonschema/referencing library, which provides more compliant referencing behavior as well as more flexible APIs for customization. A future release will remove RefResolver. Please file a feature request (on referencing) if you are missing an API for the kind of customization you need.
    from jsonschema import (

../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/tests/utils_pytest.py:76
  /Users/jsheunis/opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/tests/utils_pytest.py:76: PytestUnknownMarkWarning: Unknown pytest.mark.serve_path_via_http - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    return getattr(pytest.mark, name)

../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/tests/utils_pytest.py:76
  /Users/jsheunis/opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/datalad/tests/utils_pytest.py:76: PytestUnknownMarkWarning: Unknown pytest.mark.skip_if_adjusted_branch - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    return getattr(pytest.mark, name)

../../../opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/boto/plugin.py:40
  /Users/jsheunis/opt/miniconda3/envs/datcattut/lib/python3.11/site-packages/boto/plugin.py:40: DeprecationWarning: the imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses
    import imp

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
================================================================== short test summary info ===================================================================
ERROR ../dlcatnewline/datalad_catalog/tests/test_add.py - AttributeError: partially initialized module 'datalad_catalog.add' has no attribute 'Add' (most likely due to a circular import)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
================================================================ 5 warnings, 1 error in 1.22s ================================================================
christian-monch commented 1 month ago

Can you try with a non-editable installation of datalad-next (and maybe of datalad-catalog)?

jsheunis commented 1 month ago

I did that. Uninstalled the existing editable install and installed 1.4.1 via pip, same problem.

christian-monch commented 1 month ago

Fixed by PR #717