Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

datalad-core dependency tracker #629

Open
94 tasks
mih opened this issue Feb 6, 2024 · 0 comments
Open
94 tasks

datalad-core dependency tracker #629

mih opened this issue Feb 6, 2024 · 0 comments

Comments

@mih
Copy link
Member

mih commented Feb 6, 2024

This issue lists all dependencies on the datalad-core package -- except for the command API.

The idea is not tracking how independent datalad-next is for user activities, but to track how entangled both code bases are, and which components of datalad-core are reused in datalad-next.

This list does not include dependency of runtime patches. A separate list below tracks dependencies of test implementations

A checked box indicates a once present, but now removed dependency

  • datalad.consts.PRE_INIT_COMMIT_SHA used in gitdiff and datalad_annex
  • datalad.core.local.repo.repo_from_path used once in datalad_annex
  • datalad.dataset.gitrepo.GitRepo exposed as LeanGitRepo (which is unused)
  • datalad.dataset.gitrepo.GitRepo.is_valid used for datalad_annex Add equivalent to GitRepo.is_valid to repo_utils #631
  • datalad.distribution.dataset.Dataset widespread use
  • datalad.distribution.dataset.Dataset.pathobj widespread use
  • datalad.distribution.dataset.Dataset.path widespread use, often for the refds value of a command resultq
  • datalad.distribution.dataset.Dataset.repo.call_annex
  • datalad.distribution.dataset.Dataset.repo.call_annex_items_
  • datalad.distribution.dataset.Dataset.repo.config|cfg
  • datalad.distribution.dataset.Dataset.repo.dot_git
  • datalad.distribution.dataset.require_dataset used once in EnsureDataset
  • datalad.distribution.utils._yield_ds_w_matching_siblings used once as an internal helper of create_sibling_webdav
  • datalad.interface.common_opts.recursion_(flag|limit) used for create_sibling_webdav command
  • datalad.interface.results.get_status_dict used for results of pre dataclass command results
  • datalad.interface.utils.generic_result_renderer some usage for commands
  • datalad.support.annexrepo.AnnexRepo exposed as LegacyAnnexRepo and base class for LeanAnnexRepo (denies method access via accessor)
  • datalad.support.exceptions.IncompleteResultsError exposed, but only test usage (and patches)
  • datalad.support.exceptions.NoDatasetFound used for tree command
  • datalad.support.extensions.register_config wide spread use
  • datalad.support.gitrepo.GitRepo exposed a LegacyGitRepo, but unused
  • datalad.support.param.Parameter wide spread use for command implementations
  • datalad.utils.chpwd exposed, but only used in tests
  • datalad.utils.check_symlink_capability exposed, but only used in tests
  • datalad.utils.ensure_list exposed, some usage
  • datalad.utils.get_dataset_root Phase out get_dataset_root() #626
  • datalad.utils.rmtree wide spread use
  • datalad.utils.on_linux|windows exposed, some usage

fundational components

This is functionality that datalad-next uses or builds on, for which there is no replacement/alternative -- either planned, or implemented.

  • datalad.__version__ used once to declare version in HTTP user agent
  • datalad.cfg primarily used as a default config source in url_operations
  • datalad.config.ConfigManager widespread use Develop replacement for ConfigManager #397
  • datalad.customremotes.RemoteError used as a special remote base exception
  • datalad.customremotes.SpecialRemote special remote base class, immediately wrapped in a datalad-next SpecialRemote class
  • datalad.customremotes.main.main standard special remote entrypoint super_main (patched)
  • datalad.interface.base.Interface base class for ValidatedInterface, unused otherwise
  • datalad.interface.base.eval_results widespread use for all command implementations
  • datalad.log.log_progress mostly in url_operations
  • datalad.runner.exception.CommandError widepsread use, patched
  • datalad.support.ansi_colors used for command result renderers -- obsoleted by Switch to rich for any and all terminal rendering/interaction needs #749
  • datalad.support.exceptions.CapturedException widespread use
  • datalad.support.external_versions.external_versions some usage, basic facility
  • datalad.ui.ui wide spread use for renderers and in test fixtures

exposed, but unused in datalad-next

backward compat with credentials

  • datalad.support.keyring_.keyring
  • datalad.downloaders.CREDENTIAL_TYPES
  • datalad.downloaders.providers.Providers

backward compat with archive remote

  • datalad.customremotes.archives.ArchiveAnnexCustomRemote

Tests

  • datalad.api
  • datalad.cli.tests.test_main.run_main
  • datalad.conftest.setup_package
  • datalad.distribution.dataset.Dataset.repo.call_git
  • datalad.distribution.dataset.Dataset.repo.get_hexsha
  • datalad.distribution.dataset.Dataset.repo.get_corresponding_branch
  • datalad.distribution.dataset.Dataset.repo.is_managed_branch
  • datalad.distribution.dataset.Dataset.repo.is_crippled_fs
  • datalad.distribution.dataset.Dataset.repo.whereis
  • datalad.distribution.dataset.Dataset.repo.add_remote
  • datalad.tests.test_utils_testrepos.BasicGitTestRepo
  • datalad.tests.utils_pytest.DEFAULT_BRANCH
  • datalad.tests.utils_pytest.DEFAULT_REMOTE
  • datalad.tests.utils_pytest.HTTPPath
  • datalad.tests.utils_pytest.SkipTest
  • datalad.tests.utils_pytest.assert_in
  • datalad.tests.utils_pytest.assert_in_results
  • datalad.tests.utils_pytest.assert_raises
  • datalad.tests.utils_pytest.assert_result_count
  • datalad.tests.utils_pytest.assert_status
  • datalad.tests.utils_pytest.attr
  • datalad.tests.utils_pytest.chpwd
  • datalad.tests.utils_pytest.eq_
  • datalad.tests.utils_pytest.get_deeply_nested_structure
  • datalad.tests.utils_pytest.ok_
  • datalad.tests.utils_pytest.ok_broken_symlink
  • datalad.tests.utils_pytest.ok_exists
  • datalad.tests.utils_pytest.ok_good_symlink
  • datalad.tests.utils_pytest.rmtree
  • datalad.tests.utils_pytest.skip_if_on_windows
  • datalad.tests.utils_pytest.skip_if_root
  • datalad.tests.utils_pytest.skip_wo_symlink_capability
  • datalad.tests.utils_pytest.swallow_logs
  • datalad.ui.progressbars.SilentProgressBar
  • datalad.utils.create_tree
  • datalad.utils.md5sum
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant