Metadata-Version: 2.1
Name: setvis
Version: 0.1rc5
Summary: Visualize set membership and missing data
Home-page: https://github.com/alan-turing-institute/setvis
License: Apache-2.0
Author: The Setvis Maintainers
Requires-Python: >=3.9
Classifier: Framework :: Jupyter
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Visualization
Provides-Extra: all
Provides-Extra: db
Provides-Extra: doc
Provides-Extra: extra
Provides-Extra: notebooks
Provides-Extra: performance-extras
Provides-Extra: test
Requires-Dist: Bottleneck (>=1.3,<2.0) ; extra == "performance-extras" or extra == "all"
Requires-Dist: Sphinx (>=4.3) ; extra == "doc" or extra == "extra" or extra == "all"
Requires-Dist: bokeh (>=3.4,<4.0)
Requires-Dist: matplotlib (>=3.4,<4.0) ; extra == "notebooks" or extra == "extra" or extra == "all"
Requires-Dist: notebook (>=6.4,<8) ; extra == "notebooks" or extra == "extra" or extra == "all"
Requires-Dist: numexpr (>=2.7,<3.0) ; extra == "performance-extras" or extra == "all"
Requires-Dist: numpy (>=1.21,<3)
Requires-Dist: pandas (>=1.3,<3)
Requires-Dist: psycopg2-binary (>=2.9,<3.0) ; extra == "db" or extra == "all"
Requires-Dist: pydantic (>=1.8,<3)
Requires-Dist: pydata-sphinx-theme (>=0.7,<0.8) ; extra == "doc" or extra == "extra" or extra == "all"
Requires-Dist: pytest (>=6.2) ; extra == "test" or extra == "extra" or extra == "all"
Requires-Dist: scikit-learn (>=0.2,<2) ; extra == "notebooks" or extra == "extra" or extra == "all"
Requires-Dist: scipy (>=1.7,<2.0)
Requires-Dist: setuptools (>=68.1)
Requires-Dist: tomli (>=2.0,<3.0)
Project-URL: Documentation, https://setvis.readthedocs.io/en/latest/
Project-URL: Repository, https://github.com/alan-turing-institute/setvis
Description-Content-Type: text/markdown

# setvis

[![Python Package](https://github.com/alan-turing-institute/setvis/actions/workflows/main.yml/badge.svg)](https://github.com/alan-turing-institute/setvis/actions/workflows/main.yml)
[![Documentation Status](https://readthedocs.org/projects/setvis/badge/?version=latest)](https://setvis.readthedocs.io/en/latest/?badge=latest)

Setvis is a python library for visualising set membership and patterns of missingness in data.

The plotting and interactive workflow of Setvis is designed for use within a Jupyter notebook (although it is possible to run outside Jupyter). The other components of Setvis can be used interactively or programmatically. The interactive plots are powered by [Bokeh](https://docs.bokeh.org/en/latest/index.html) widgets.

It operates on data using a memory efficient architecture, and supports loading data from flat files, Pandas dataframes, and directly from a Postgres database.

## Documentation

[The setvis documentation](https://setvis.readthedocs.io/en/latest/index.html) is hosted on Read the Docs.

## Installation (quick start)

**For the complete installation instructions, consult [the installation page of the documentation](https://setvis.readthedocs.io/en/latest/installation.html), which includes information on some extra installation options and setting up a suitable environment on several platforms.**

We recommend installing setvis in a python virtual environment or Conda environment.

To install setvis, most users should run:

```
pip install 'setvis[notebooks]'
```

This will include everything to run setvis in a notebook, and to run the tutorial examples that do not need a database connection.

The Bokeh plots produced by setvis require the package `notebook >= 6.4` to display properly.  This will be included when installing setvis using the command above.


## Tutorials

For basic examples, please see the two example notebooks:
- [Missingness example](https://github.com/alan-turing-institute/setvis/blob/main/notebooks/Example%20-%20import%20data%20to%20visualize%20missingness.ipynb)
- [Set example](https://github.com/alan-turing-institute/setvis/blob/main/notebooks/Example%20-%20import%20data%20to%20visualize%20sets.ipynb)

Additionally, there is a series of Tutorials notebooks, starting with [Tutorial 1](https://github.com/alan-turing-institute/setvis/blob/main/notebooks/Tutorial%201%20-%20Overview%20and%20an%20example%20analysis.ipynb).

After installing setvis, to follow theses tutorials interactively you will need to clone or download this repository. Then start jupyter from within it:

```
python -m jupyter notebook notebooks
```

## Notice

The setvis software is released under the Apache Licence, version 2.0. See [LICENCE](./LICENCE) for details.

The data files [`./examples/datasets/simpsons - Format 1.csv`](https://github.com/alan-turing-institute/setvis/blob/main/examples/datasets/simpsons%20-%20Format%201.csv) and [`./examples/datasets/simpsons - Format 2.csv`](https://github.com/alan-turing-institute/setvis/blob/main/examples/datasets/simpsons%20-%20Format%202.csv), are based on a data file included in [UpSet](https://github.com/VCG/upset), copyright Visual Computing Group, Harvard, and distributed here under the terms of the MIT Licence.

The other data files in `./examples/datasets/` are released under the [Creative Commons Attribution 4.0 International Licence (CC-BY-4.0)](https://creativecommons.org/licenses/by/4.0/).


## Acknowledgements

The development of the setvis software was supported by funding from the Engineering and Physical Sciences Research Council (EP/N013980/1; EP/R511717/1) and the Alan Turing Institute.

