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

[DOC] fixed rendering in dependencies doc #3846

Merged
merged 4 commits into from Dec 1, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
34 changes: 7 additions & 27 deletions docs/source/developer_guide/dependencies.rst
Expand Up @@ -9,44 +9,24 @@ Dependencies
Types of dependencies
---------------------

There are three types of dependencies in ``sktime``:
* "core" dependencies
* "soft" dependencies
* "developer" dependencies
There are three types of dependencies in ``sktime``: **core**, **soft**, or **developer**.

.. note::

A core dependency is required for ``sktime`` to install and run.
They are automatically installed whenever ``sktime`` is installed.
Example: ``pandas``
* **Core** dependencies are required to install and run ``sktime`` and are automatically installed with ``sktime``, *e.g.* ``pandas``;
* **Soft** dependencies are only required to import certain modules, but not necessary to use most functionalities. A soft dependency is not installed automatically with the package. Instead, users need to install it manually if they want to use a module that requires a soft dependency, *e.g.* ``pmdarima``;
* **Developer** dependencies are required for ``sktime`` developers, but not for typical users of ``sktime``, *e.g.* ``pytest``.

.. note::

A soft dependency is a dependency that is only required to import
certain modules, but not necessary to use most functionality. A soft
dependency is not installed automatically when the package is
installed. Instead, users need to install it manually if they want to
use a module that requires a soft dependency.
Example: ``pmdarima``

.. note::

A developer dependency is required for ``sktime`` developers, but not for typical
users of ``sktime``.
Example: ``pytest``


We try to keep the number of core dependencies to a minimum and rely on
other packages as soft dependencies when feasible.
We try to keep the number of core dependencies to a minimum and rely on other packages as soft dependencies when feasible.


Adding a soft dependency
------------------------

Soft dependencies in sktime should usually be restricted to estimators.
Soft dependencies in ``sktime`` should usually be restricted to estimators.

When adding a new soft dependency or changing the version of an existing one,
the following files need to be updated:
When adding a new soft dependency or changing the version of an existing one, the following files need to be updated:

* `pyproject.toml <https://github.com/sktime/sktime/blob/main/pyproject.toml>`__,
adding the dependency or version bounds in the ``all_extras`` dependency set.
Expand Down