Metadata-Version: 2.4
Name: datalad-core
Version: 0.1.1
Summary: core library for the datalad-framework
Project-URL: Homepage, https://github.com/datalad/datalad-core
Project-URL: Documentation, https://github.com/datalad/datalad-core#readme
Project-URL: Issues, https://github.com/datalad/datalad-core/issues
Project-URL: Source, https://github.com/datalad/datalad-core
Project-URL: Changelog, https://github.com/datalad/datalad-core/blob/main/CHANGELOG.md
Author-email: Michael Hanke <michael.hanke@gmail.com>
Maintainer-email: Michael Hanke <michael.hanke@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: datalad,git,git-annex
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Version Control
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.9
Requires-Dist: datasalad>=0.4.0
Requires-Dist: git-annex>=10.20250721
Provides-Extra: docs
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-rtd-theme; extra == 'docs'
Description-Content-Type: text/markdown

# datalad-core: core library for the DataLad framework

[![Documentation Status](https://readthedocs.org/projects/datalad-core/badge/?version=latest)](https://datalad-core.readthedocs.io/en/latest/?badge=latest)
[![Build status](https://ci.appveyor.com/api/projects/status/r115bg2iqtvymww4/branch/main?svg=true)](https://ci.appveyor.com/project/mih/datalad-core/branch/main)
[![codecov](https://codecov.io/github/datalad/datalad-core/graph/badge.svg?token=9RG02U6TY4)](https://codecov.io/github/datalad/datalad-core)
[![Maintainability](https://api.codeclimate.com/v1/badges/70898ddc307acedcd2e6/maintainability)](https://codeclimate.com/github/datalad/datalad-core/maintainability)
[![Hatch project](https://img.shields.io/badge/%F0%9F%A5%9A-Hatch-4051b5.svg)](https://github.com/pypa/hatch)

## Developing with `datalad_core`

API stability is important, just as adequate semantic versioning, and informative
changelogs.

### Public vs internal API

Anything that can be imported directly from any of the sub-packages in
`datalad_core` is considered to be part of the public API. Changes to this API
determine the versioning, and development is done with the aim to keep this API
as stable as possible. This includes signatures and return value behavior.

As an example: `from datalad_core.abc import xyz` imports a part of the public
API, but `from datalad_core.abc.def import xyz` does not.

### Use of the internal API

Developers can obviously use parts of the non-public API. However, this should
only be done with the understanding that these components may change from one
release to another, with no guarantee of transition periods, deprecation
warnings, etc.

Developers are advised to never reuse any components with names starting with
`_` (underscore). Their use should be limited to their individual subpackage.

## Contributing

Contributions to this library are welcome! Please see the [contributing
guidelines](CONTRIBUTING.md) for details on scope and style of potential
contributions.
