Skip to content

Core components of the DataLad framework

License

Notifications You must be signed in to change notification settings

datalad/datalad-core

Repository files navigation

datalad-core: core library for the DataLad framework

Documentation Status Build status codecov

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 for details on scope and style of potential contributions.