Metadata-Version: 2.4
Name: visiontext
Version: 1.0.1
Summary: Utilities for deep learning on multimodal data.
Author: simon-ging
License-Expression: Apache-2.0
Project-URL: Project-URL, https://github.com/simon-ging/visiontext
Keywords: python,jupyter,notebook,lab,ipython,html,pandas,matplotlib,pytorch,numpy
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Version Control :: Git
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: packg
Requires-Dist: numpy
Requires-Dist: pillow
Requires-Dist: termcolor
Requires-Dist: omegaconf
Requires-Dist: platformdirs
Requires-Dist: msgpack
Requires-Dist: psutil
Requires-Dist: nvidia-ml-py
Requires-Dist: pyinstrument
Requires-Dist: pydub
Requires-Dist: pillow-avif-plugin
Requires-Dist: cairosvg
Provides-Extra: torch
Requires-Dist: torch; extra == "torch"
Requires-Dist: torchvision; extra == "torch"
Requires-Dist: safetensors; extra == "torch"
Requires-Dist: webdataset; extra == "torch"
Requires-Dist: opencv-python; extra == "torch"
Requires-Dist: pyturbojpeg; extra == "torch"
Requires-Dist: ffmpeg-python; extra == "torch"
Requires-Dist: memory-tempfile; extra == "torch"
Requires-Dist: moviepy; extra == "torch"
Provides-Extra: notebook
Requires-Dist: matplotlib; extra == "notebook"
Requires-Dist: seaborn; extra == "notebook"
Requires-Dist: pandas; extra == "notebook"
Requires-Dist: scipy; extra == "notebook"
Requires-Dist: ipython; extra == "notebook"
Requires-Dist: jupyter; extra == "notebook"
Requires-Dist: notebook; extra == "notebook"
Requires-Dist: itables; extra == "notebook"
Requires-Dist: ipdb; extra == "notebook"
Provides-Extra: nlp
Requires-Dist: nltk; extra == "nlp"
Requires-Dist: spacy; extra == "nlp"
Requires-Dist: h5py; extra == "nlp"
Provides-Extra: db
Requires-Dist: sqlalchemy; extra == "db"
Requires-Dist: lmdb; extra == "db"
Requires-Dist: pandas; extra == "db"
Provides-Extra: full
Requires-Dist: torch; extra == "full"
Requires-Dist: torchvision; extra == "full"
Requires-Dist: safetensors; extra == "full"
Requires-Dist: webdataset; extra == "full"
Requires-Dist: opencv-python; extra == "full"
Requires-Dist: pyturbojpeg; extra == "full"
Requires-Dist: ffmpeg-python; extra == "full"
Requires-Dist: memory-tempfile; extra == "full"
Requires-Dist: moviepy; extra == "full"
Requires-Dist: matplotlib; extra == "full"
Requires-Dist: seaborn; extra == "full"
Requires-Dist: pandas; extra == "full"
Requires-Dist: scipy; extra == "full"
Requires-Dist: ipython; extra == "full"
Requires-Dist: jupyter; extra == "full"
Requires-Dist: notebook; extra == "full"
Requires-Dist: itables; extra == "full"
Requires-Dist: ipdb; extra == "full"
Requires-Dist: nltk; extra == "full"
Requires-Dist: spacy; extra == "full"
Requires-Dist: h5py; extra == "full"
Requires-Dist: sqlalchemy; extra == "full"
Requires-Dist: lmdb; extra == "full"
Requires-Dist: pandas; extra == "full"
Dynamic: license-file

# visiontext

<p align="center">
<a href="https://github.com/simon-ging/visiontext/actions/workflows/build-py310-cpu.yml">
  <img alt="minimal build 3.10 status" title="build 3.10 status" src="https://img.shields.io/github/actions/workflow/status/simon-ging/visiontext/build-py310-cpu.yml?branch=main&label=minimal%20build%203.10%20cpu" />
</a>
<a href="https://github.com/simon-ging/visiontext/actions/workflows/build-py312-cpu.yml">
  <img alt="minimal build 3.12 status" title="build 3.12 status" src="https://img.shields.io/github/actions/workflow/status/simon-ging/visiontext/build-py312-cpu.yml?branch=main&label=minimal%20build%203.12%20cpu" />
</a>
<br />
<a href="https://github.com/simon-ging/visiontext/actions/workflows/build-py310-cpu.yml">
  <img alt="full build 3.10 status" title="build 3.10 status" src="https://img.shields.io/github/actions/workflow/status/simon-ging/visiontext/build-py310-cpu-full.yml?branch=main&label=full%20build%203.10%20cpu" />
</a>
<a href="https://github.com/simon-ging/visiontext/actions/workflows/build-py312-cpu.yml">
  <img alt="full build 3.12 status" title="build 3.12 status" src="https://img.shields.io/github/actions/workflow/status/simon-ging/visiontext/build-py312-cpu-full.yml?branch=main&label=full%20build%203.12%20cpu" />
</a>
<br />
<img alt="coverage" title="coverage" src="https://raw.githubusercontent.com/simon-ging/visiontext/main/docs/coverage.svg" />
<a href="https://pypi.org/project/visiontext/">
  <img alt="version" title="version" src="https://img.shields.io/pypi/v/visiontext?color=success" />
</a>
</p>

Utilities for deep learning on multimodal data.

* jupyter notebooks / jupyter lab / ipython
* matplotlib
* pandas
* webdataset / tar
* pytorch

## Install

Requires `python>=3.10`.

```bash
pip install visiontext
```

The base install has no heavy packages. Those come with extras:

| extra | installs | for |
| --- | --- | --- |
| `torch` | torch, torchvision, safetensors, webdataset, opencv, turbojpeg | `images`, `distutils`, `mathutils`, `torchutils`, `denormalize`, `iotools.feature_compression`, `webdataset_pipeline`, `profiling.hardware_profiler`. Additionally requires `libjpeg-turbo` |
| `notebook` | matplotlib, seaborn, pandas, scipy, ipython, jupyter | `imports`, `htmltools`, `pandatools`, `colormaps`, `bboxes`, `plots`, `audiotools` |
| `nlp` | nltk, spacy, h5py | `nlp` |
| `db` | sqlalchemy, lmdb | `sqlalchemist`, `cacheutils`. Additionally requires `sqlite` |

```bash
pip install visiontext[torch,notebook]
```

### Full build

Everything at once:

```bash
pip install visiontext[full]
```

## Dev install

Clone repository and cd into, then:

```bash
pip install pytest pytest-cov pylint black[jupyter]
pylint visiontext
pylint tests

# full build
pip install -e .[full]
python -m pytest --cov

# minimal build
pip install -e .
python -m pytest --cov -m "not full"

```

## Changelog

- 0.23.1: Drop python 3.8 support since PyTorch dropped it. Set minimum python version as 3.10.
  - PyTorch disabled the install via conda, change builds to install PyTorch CPU via pip.
- 0.10.1: Test with python 3.12
- 0.8.1: Set minimum python version to 3.8 since PyTorch requires it
