semvec/pypi-packages huggingface dataset:
sphinx-needs 6.3.0
Sphinx needs extension for managing needs/requirements and specifications
Requires Python: <4,>=3.10

**Complete documentation**: http://sphinx-needs.readthedocs.io/en/latest/

**Attention**: ``sphinxcontrib-needs`` got renamed to ``sphinx-needs``. This affects also the URLs for documentation and repository:

* Docs: https://sphinx-needs.readthedocs.io/en/latest/
* Repo: https://github.com/useblocks/sphinx-needs


Introduction
============

``Sphinx-Needs`` allows the definition, linking and filtering of class-like need-objects, which are by default:

* requirements
* specifications
* implementations
* test cases.

This list can be easily customized via configuration (for instance to support bugs or user stories).

A default requirement need looks like:

.. image:: https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/need_1.png
   :align: center

Layout and style of needs can be highly customized, so that a need can also look like:

.. image:: https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/need_2.png
   :align: center

Take a look into our `Examples <https://sphinxcontrib-needs.readthedocs.io/en/latest/examples/index.html>`_ for more
pictures and ideas how to use ``Sphinx-Needs``.

For filtering and analyzing needs, ``Sphinx-Needs`` provides different, powerful possibilities:

.. list-table::
   :header-rows: 1
   :widths: 46,14,40

   - * `needtable <https://sphinxcontrib-needs.readthedocs.io/en/latest/directives/needtable.html>`_
     * `needflow <https://sphinxcontrib-needs.readthedocs.io/en/latest/directives/needflow.html>`_
     * `needpie <https://sphinxcontrib-needs.readthedocs.io/en/latest/directives/needpie.html>`_
   - * .. image:: https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/needtable_1.png
     * .. image:: https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/needflow_1.png
     * .. image:: https://raw.githubusercontent.com/useblocks/sphinxcontrib-needs/master/docs/_images/needpie_1.png

Installation
============

Using pip
---------

.. code-block:: bash

    pip install sphinx-needs

If you wish to also use the plotting features of sphinx-needs (see ``needbar`` and ``needpie``), you need to also install ``matplotlib``, which is available *via* the ``plotting`` extra:

.. code-block:: bash

    pip install sphinx-needs[plotting]

.. note::

   Prior version **1.0.1** the package was named ``sphinxcontrib-needs``.

Using sources
-------------

.. code-block:: bash

    git clone https://github.com/useblocks/sphinx-needs
    cd sphinx-needs
    pip install .


Activation
----------

For final activation, please add `sphinx_needs` to the project's extension list of your **conf.py** file.

.. code-block:: python

   extensions = ["sphinx_needs",]

.. note::

   Prior version **1.0.1** the extensions was called ``sphinxcontrib.needs``.
skx 0.0.22
scikit-learn compatible extensions.
Requires Python: >=3.12
Keywords: scikit-learn, augmentation, resampling, smote, ensemble, voting, mixture-of-experts, mlp, neural-network, multi-output

## skx

scikit-learn compatible extensions for supervised learning on tabular data.

## Documentation

See [docs.sk-x.org](https://docs.sk-x.org).

## Requirements

- Python >= 3.12
- scikit-learn ~= 1.7.0
- numpy >= 2.0, scipy >= 1.13, pandas >= 2.0

## Install

```bash
pip install skx
```

## Usage

### Augmentation functions

```python
import numpy as np
from skx.augmentation import gaussian_augment

X = np.array([[1, 2], [3, 4], [5, 6]])
y = np.array([1, 2, 3])
X_aug, y_aug, sample_weight = gaussian_augment(X, y, factor=2.0, y_std=0.1)
```

### Augmentation meta-estimators

```python
from sklearn.linear_model import LinearRegression
from skx.augmentation import GaussianAugmentedRegressor

reg = GaussianAugmentedRegressor(LinearRegression(), factor=10.0, y_std=0.1)
reg.fit(X, y)
pred = reg.predict([[2, 3]])
```

### Ensembles

```python
from sklearn.linear_model import LinearRegression
from skx.ensemble import MixtureOfExpertsRegressor

moe = MixtureOfExpertsRegressor(
    estimator=LinearRegression(), n_estimators=5, split="kmeans", n_clusters=3
)
moe.fit(X, y)
pred = moe.predict(X)
```

### Neural network

```python
from skx.neural_network import LinearScalingMLPRegressor

mlp = LinearScalingMLPRegressor(
    n_hidden_layers=2,
    hidden_layer_width=50,
    shrink_factor=0.5,
    max_iter=100,
)
mlp.fit(X, np.column_stack([y, y]))  # multi-output example
```