semvec/pypi-packages huggingface dataset:
extensible 0.1.0
Context managed hooks


Extensible is a context manager-based hook system to support better organization of machine learning code such as model training scripts.

* Install extensible using

```
pip install extensible
```


* See [Extensible's full documentation](https://extensible.readthedocs.io/en/latest/) for more information


* Contribute at [Extensible's github page](https://github.com/zepedaj/extensible)
rnaseqc 0.0.3
Multi-sample visualization of metrics from RNA-SeQC

# RNA-SeQC Python utilities

This module contains utility code for RNA-SeQC

## Installing

* From pip: `pip install rnaseqc`
* From the git repo: `pip install -e python` (Invoke from root of git repo)

## Usage

This does not install a console entrypoint. You can invoke the utilities in one of three ways:

* From the main module: `python3 -m rnaseqc ...`
* Calling the target module: `python3 -m rnaseqc.example ...`
* Calling scripts directly: `python3 python/rnaseqc/example.py`

## Utilities

The `rnaseqc` module contains 5 main utilities. To get more help with each utility,
invoke the utility with the `-h` or `--help` option

### Aggregation

Aggregates RNA-SeQC outputs from multiple samples

```
python3 -m rnaseqc aggregate [-h] [--parquet] [-o OUTPUT_DIR] results_dir prefix
```

### Jupyter Notebooks

Creates a jupyter notebook with several figures for comparing samples

```
python3 -m rnaseqc notebook [-h] [-t TPM] [-i INSERT_SIZE] [-c COHORT] [-d DATE] metrics output
```

### Figures

Generates figures from an aggregated RNA-SeQC metrics table

```
python3 -m rnaseqc report [-h] [--tpm TPM] [--insert-size INSERT_SIZE] [--cohort COHORT] [--output-dir OUTPUT_DIR] [--dpi DPI] metrics prefix
```

### Insert Size distributions

Generates a BED file with intervals used by RNA-SeQC for estimating a sample's insert size distribution

```
python3 -m rnaseqc insert-size [-h] [--min-length MIN_LENGTH] [--min-mappability MIN_MAPPABILITY] [--output-dir OUTPUT_DIR] gtf_path mappability_bigwig prefix
```

### Exon remapping

Convert exon names in an `*.exon_reads.gct` file from RNA-SeQC 2.X.X to match names
as reported by RNA-SeQC 1.1.9

```
python3 -m rnaseqc legacy-exons gct gtf
```
ploteries 0.1.2
Plotting for ML training
Keywords: plots, tensorboard, machine learning, training



* See [Ploteries's full documentation](https://ploteries.readthedocs.io/en/latest/) for more information


* Contribute at [Ploteries's github page](https://github.com/zepedaj/ploteries)

Installation:
--------------

```
pip install ploteries
```

Benefits:
--------- 
- Can use any name for tags, the actual name will be displayed.
- Uses plotly plots, full flexibility.

Aims:
---------
- A clear separation between data and storage.
- Separates data storage and display code - can define and re-style display post computations/storage.

Transparent computations:
- What is Tensorboard's wall time? How is smoothign computed? How are histograms computed?

Things to do:
---------
- Better separation between data and display.
- Common interface to add new plots by user used to create histograms.
replace-pip-with-uv-pip 0.0.1
Replace pip with uv pip.
Requires Python: >=3.8

# Replace pip with uv pip

[![PyPI](https://img.shields.io/pypi/v/replace-pip-with-uv-pip.svg)](https://pypi.org/project/replace-pip-with-uv-pip)

A simple script to replace [`pip`](https://github.com/pypa/pip) with [`uv pip`](https://github.com/astral-sh/uv). Note that `pip` and `uv pip` have [many differences](https://github.com/astral-sh/uv/blob/main/PIP_COMPATIBILITY.md).

Although [pip maintainers are strongly against providing `pip` -> `uv pip` alias](https://github.com/astral-sh/uv/issues/1331#issuecomment-1947355046), it's still valuable in several use cases, especially in the CI service (see below).

## Use cases

### cibuildwheel

When using [cibuildwheel](https://github.com/pypa/cibuildwheel/), the hardcoded [`pip install`](https://github.com/pypa/cibuildwheel/blob/9cf99e78bc06d33fb2947de5820be96ad9c7152c/cibuildwheel/linux.py#L349-L352) is called when testing a wheel.
There is no way to replace `pip install` with `uv pip install` on the user side.
Installing `replace-pip-with-uv-pip` is a workaround:

```toml
# in pyproject.toml:
[tool.cibuildwheel]
before-test = ["pip install replace-pip-with-uv-pip"]
```
numpyneuron 0.6
Simple, lightweight neural network framework built in numpy
Requires Python: >=3.6

# Numpy-Neuron

A small, simple neural network framework built using only [numpy](https://numpy.org) and python (duh).

## Install

`pip install numpyneuron`


## Example

```py
from sklearn import datasets
from sklearn.preprocessing import OneHotEncoder
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, precision_score, recall_score
import numpy as np
from numpyneuron import (
    NN,
    Relu,
    Sigmoid,
    CrossEntropyWithLogits,
)


RANDOM_SEED = 2


def _preprocess_digits(
    seed: int,
) -> tuple[np.ndarray, ...]:
    digits = datasets.load_digits(as_frame=False)
    n_samples = len(digits.images)
    data = digits.images.reshape((n_samples, -1))
    y = OneHotEncoder().fit_transform(digits.target.reshape(-1, 1)).toarray()
    X_train, X_test, y_train, y_test = train_test_split(
        data,
        y,
        test_size=0.2,
        random_state=seed,
    )
    return X_train, X_test, y_train, y_test


def train_nn_classifier() -> None:
    X_train, X_test, y_train, y_test = _preprocess_digits(seed=RANDOM_SEED)

    nn_classifier = NN(
        epochs=2_000,
        hidden_size=16,
        batch_size=1,
        learning_rate=0.01,
        loss_fn=CrossEntropyWithLogits(),
        hidden_activation_fn=Relu(),
        output_activation_fn=Sigmoid(),
        input_size=64,  # 8x8 pixel grid images
        output_size=10,  # digits 0-9
        seed=2,
    )

    nn_classifier.train(
        X_train=X_train,
        y_train=y_train,
    )

    pred = nn_classifier.predict(X_test=X_test)

    pred = np.argmax(pred, axis=1)
    y_test = np.argmax(y_test, axis=1)

    accuracy = accuracy_score(y_true=y_test, y_pred=pred)

    print(f"accuracy on validation set: {accuracy:.4f}")


if __name__ == "__main__":
    train_nn_classifier()
```

## Roadmap

**Optimizers**

Currently the learning rate in a NN object is static during training. I would like 
to work on developing at least the functionality for the Adam optimizer at some point.
This would help prevent getting stuck in local minima of the loss function.