semvec/pypi-packages huggingface dataset:
pytest-snob 0.1.14
A pytest plugin that only selects meaningful python tests to run.
Requires Python: >=3.9
Keywords: snob, pytest, testing, rust, rts, maturin, pyo3

# pytest-snob

`pytest-snob` is a `pytest` plugin that leverages the `snob` library (see https://github.com/alexpasmantier/snob) to filter
tests to execute in a given application based on the contents of a range of commits

## Rationale

Most of the time, running your full test suite is a waste of time and resources, since only a portion of the files has changed
since your last CI run / deploy.

By leveraging `snob`, this pytest plugin will accurately determine which tests are relevant for a given changeset and only run those.

## How does it work?

`snob` is a rust library (which we produce a python package from using [Maturin](https://github.com/PyO3/maturin) / [Py03](https://github.com/PyO3))
that efficiently parses the dependency graph of your python codebase and as such, can accurately determine which files are _impacted_ by your changes.

For more information, see [the snob github repository](https://github.com/alexpasmantier/snob)
ISCT 0.1.2
Interpretable Sequence Clustering Tree
Keywords: ISCT, sequence, clustering, tree

# Interpretable-Sequence-Clustering-Tree

Source Code for Interpretable sequence clustering https://www.sciencedirect.com/science/article/pii/S0020025524013677



## Running


We added the tree structure visualization, to use it on linux please first 

```
sudo apt-get install graphviz
export PATH=$PATH:/usr/local/bin
source ~/.bashrc
```
We recommend using Pypy, which may give exponential speedups on larger datasets

## Usage

### Random Projection on Python version

```
pip install ISCT
```


<!-- code -->
```python

from ISCT import ISCT
sequences = [
    ['a', 'g', 't', 't', 'c'], 
    ['a', 't', 'g', 'g', 't', 'u', 't'], 
    ['a', 'c', 't', 'u', 'u', 'a', 'a'], 
    ['a', 'c', 'a', 'u', 'a', 't', 'c', 't'], 
    ['a', 'g', 'g', 'c', 'a', 'a', 'c'], 
    ['a', 'c', 'g', 'g', 'c', 'c', 'a', 'a']]
isct = ISCT(num_clusters = 3, visulization_name = 'test', min_sample=2) # if visulization_name is provided, it generates the "test.pdf".
y_pred = isct.fit(sequences)
print(y_pred)
```


<!-- 
### Random Projection  CPP version

1. First, compile the cpp file on your Linux in order to generate the fast Random Projection Generator.
2. Run ISCT_cpp.py to get the clustering results -->





## Dependencies
- Python 3.9.16 (Pypy)
- NumPy 1.24.3
- Scikit-learn 1.2.2
- Pandas 2.0.1
- Prefixspan 0.5.2


## Visualization

ISCT could provide you with a highly concise and short clustering tree, taking poineer as example:
<img width="408" alt="image" src="https://github.com/jd445/Interpretable-Sequence-Clustering-Tree/assets/65555729/5a0a465f-0d7d-4d5c-a149-9ceb927abed9">