Metadata-Version: 2.4
Name: h2o_autoviz
Version: 1.0.0
Summary: Leland Wilkinson's Autoviz Python Library
Project-URL: Documentation, https://github.com/h2oai/autoviz#readme
Project-URL: Issues, https://github.com/h2oai/autoviz/issues
Project-URL: Source, https://github.com/h2oai/autoviz
Author-email: "H2O.ai" <support@h2o.ai>
License-Expression: Apache-2.0
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Customer Service
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.11
Requires-Dist: jpype1~=1.6.0
Provides-Extra: export
Requires-Dist: altair<6,>=5.5.0; extra == 'export'
Requires-Dist: vl-convert-python>=1.3.0; extra == 'export'
Provides-Extra: viz
Requires-Dist: altair<6,>=5.5.0; extra == 'viz'
Description-Content-Type: text/markdown

# Autoviz Python Library

## Running the Autoviz

As the core visualization library of Autoviz is written in Java, this project is using the [JPype](https://github.com/jpype-project/jpype) module to manage the JVM and create the bridge between the Python process and visualization classes. Due to that, a proper installation of Java JDK is required as well as setting the `JAVA_HOME` environment variable.

After then, you can use the library as in the following example

```python
from h2o_autoviz import Autoviz

autoviz = Autoviz()
histogram = autoviz.histogram("path/to/data.csv", "variable_name")
```

Note that the result of the call is a [Vega-lite](https://vega.github.io/vega-lite/) definition of the histogram.

## Building the package

This package is using [uv](https://docs.astral.sh/uv/) for project management.

### Setup

Install uv following the [official instructions](https://docs.astral.sh/uv/getting-started/installation/), then sync the project dependencies:

```bash
uv sync
```

### Running tests

```bash
make test
```

### Linting and formatting

This project uses [ruff](https://docs.astral.sh/ruff/) for linting and formatting, and [ty](https://docs.astral.sh/ty/) for type checking.

```bash
make lint
make format
```

### Building the wheel

```bash
uv build
```

### Common issues

<dl>
  <dt>Mac users with M1 and M2 processors may encounter a regular problem with incompatible JDK for their ARM processor.</dt>
  <dd>To resolve the issue, you'll need to get the ARM-compatible JDK, such as <a href="https://adoptium.net/temurin/releases/?version=11">this one</a>. Follow <a href="https://github.com/jpype-project/jpype/issues/994#issuecomment-1435687650">this Github thread</a> for more details</dd>
</dl>
