Metadata-Version: 2.3
Name: wordviz
Version: 0.1.2
Summary: A lightweight Python package for loading, analyzing, and visualizing word embeddings.
License: MIT
Author: Elena Zen
Author-email: elenazen563@gmail.com
Requires-Python: >=3.11,<3.13
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: adjusttext (>=1.3.0,<2.0.0)
Requires-Dist: gensim (>=4.3.3,<5.0.0)
Requires-Dist: ipykernel (>=6.29.5,<7.0.0)
Requires-Dist: jupyter (>=1.1.1,<2.0.0)
Requires-Dist: matplotlib (>=3.10.1,<4.0.0)
Requires-Dist: numpy (>=1.18.5,<2.0)
Requires-Dist: plotly (>=6.0.1,<7.0.0)
Requires-Dist: scikit-learn (>=1.6.1,<2.0.0)
Requires-Dist: scipy (>=1.7.0,<1.14.0)
Requires-Dist: seaborn (>=0.13.2,<0.14.0)
Requires-Dist: umap-learn (>=0.5.7,<0.6.0)
Description-Content-Type: text/markdown

# WordViz

**WordViz** is a Python visualization library designed for exploring and visualizing word embeddings. Built on top of popular libraries such as `matplotlib`, `plotly`, and `gensim`, WordViz provides intuitive tools for analyzing embeddings through clustering, similarity exploration, and dimensionality reduction, all wrapped in interactive and customizable plots.
With WordViz, users can gain insights into the structure of their word embeddings, making it a valuable tool for researchers and practitioners in natural language processing.

## Main Features

- Load and explore pretrained embeddings (e.g., GloVe, FastText)
- Select from a variety of available embeddings
- Visualize embeddings in 2D with flexible dimensionality reduction options
- Identify and plot the most similar words to a given token
- Visualize clusters of related words
- Interactive plots powered by `plotly`
- Support for both light and dark themes


## Installation

Install the latest version from PyPI:

```bash
pip install wordviz
```

### Notes: Python version compatibility

Currently, wordviz is not compatible with Python 3.13, due to limitations of some key dependencies:

gensim, one of the core libraries used by wordviz, does not yet provide official support or precompiled wheels for Python 3.13.

For proper installation installation, we recommend that you create a virtual environment with Python 3.12.
The package will be updated as soon as the dependencies are compatible with Python 3.13.


## Usage

You can load and manage embeddings though the `EmbeddingLoader` class, and then visualize them with the `Visualizer` class.

```python
from wordviz.loading import EmbeddingLoader
from wordviz.plotting import Visualizer

loader = EmbeddingLoader()
loader.load_from_file('path/to/your/embedding/file', 'word2vec')

vis = Visualizer(loader)
vis.plot_embeddings()
```

You can explore all functionalities through the example notebook provided in the `docs/` folder:

👉 [View example notebook](docs/example.ipynb)


## Contributing

This project was created as part of my Bachelor's Degree thesis. For now, it remains a personal project and is not yet open to public collaboration.  
However, it will be further developed and eventually opened to contributions.

In the meantime, if you want to suggest features or report bugs, feel free to contact me directly.


## License

This project is licensed under the MIT License.
