1.3.0 (2024-03-19)
💫 Enhancements and new features
-
Code organization is adjusted to clearly indicate what is part of the
package's public Python API. Anything that can be imported directly from
the top-level of any sub-package is part of the public API.
As an example:from datalad_next.runners import iter_git_subproc
imports a part of the public API, but
from datalad_next.runners.git import iter_git_subproc
does not.
SeeREADME.md
for more information.
Fixes #613 via #615 (by @mih), #617 (by @mih), #618 (by @mih), #619 (by @mih),
#620 (by @mih), #621 (by @mih), #622 (by @mih), #623 (by @mih) -
New
patched_env
context manager for patching a process'
environment. This avoids the for importingunittest
outside
test implementations.
Via #633 (by @mih) -
call_git...()
functions received a newforce_c_locale
parameter. This can be set whenever Git output needs to be parsed
to force running the command withLC_ALL=C
. Such an environment
manipulation is off by default and not done unconditionally to
let localized messaging through in a user's normal locale.
🐛 Bug Fixes
datalad-annex::
Git remote helper now tests for a repository
deposit, and distinguishes an absent remote repository deposit
vs cloning from an empty repository deposit. This rectifies
confusing behavior (successful clones of empty repositories
from broken URLs), but also fixes handling of subdataset clone
candidate handling inget
(which failed to skip inaccessible
datalad-annex::
URLs for the same reason).
Fixes #636 via
#638 (by @mih)
📝 Documentation
- API docs have been updated to include all top-level symbols
of any sub-package, or in other words: the public API.
See #627 (by @mih)
🏠 Internal
-
The
tree
command no longer uses thesubdatasets
command
for queries, but employs the recently introducediter_submodules()
for leaner operations.
See #628 (by @mih) -
call_git...()
functions are established as the only used abstraction
to interface with Git and git-annex commands outside the use in
DataLad'sRepo
classes. Any usage of DataLad's traditional
Runner
functionality is discontinued.
Fixes #541 via
#632 (by @mih) -
Type annotations have been added to the implementation of the
uncurl
git-annex remote. A number of unhandled conditions have
been discovered and were rectified.