Skip to main content

NVEIL

NVEIL Toolkit

Describe your data. Get production charts. Your data stays local.

PyPI Python Docs License

Quickstart • API Reference • Examples • Changelog


NVEIL is an AI-powered data visualization toolkit. Write one line of natural language, and NVEIL processes your data and generates publication-ready visualizations — no chart code, no hallucinations, no data leaving your machine.

import nveil

nveil.configure(api_key="nveil_...")

# Pass a file path directly — no DataFrame loading required.
spec = nveil.generate_spec("Revenue by region, colored by quarter", "sales.csv")

fig = spec.render("sales.csv")   # 100% local — no API call
nveil.show(fig)                   # opens in browser

From your shell

After pip install nveil the nveil command is on your $PATH:

export NVEIL_API_KEY=nveil_...

# Ground yourself on the dataset (shape / dtypes / head preview)
nveil describe sales.csv

# Generate HTML + PNG + a reusable .nveil spec, print the explanation
nveil generate "Revenue by region, colored by quarter" \
  --data sales.csv --format all --explain

# Re-render an existing spec on fresh data — no API call
nveil render chart.nveil --data new_sales.csv

For AI agents (Claude Code / Claude Desktop / Cursor / Codex / …)

NVEIL ships first-class integrations:

# Claude Code / Claude Desktop — install the bundled skill
nveil install-skill

# Claude Desktop, Cursor, any MCP client — add an MCP server:
# {"mcpServers": {"nveil": {"command": "nveil", "args": ["mcp"]}}}
nveil mcp                    # stdio server; launched by the MCP client

NVEIL multi-panel dashboard with charts, heatmaps, and flow diagrams

Why NVEIL?

Capability NVEIL Chatbot data analysis¹ LLM-to-viz libraries² Traditional plotting³
Natural-language input ✓ ✓ ✓ ✗
Raw data stays on your machine ✓ ✗ ✗ ✓
Only schema + stats sent to server ✓ ✗ ✗ N/A
Deterministic, reproducible output ✓ ✗ ✗ ✓
Offline re-rendering, zero API calls ✓ ✗ ✗ ✓
Portable saved specs (.nveil files) ✓ ✗ ✗ ✗
2D + 3D + geospatial + scientific ✓ 2D 2D varies
Multi-backend (Plotly, VTK, DeckGL) ✓ ✗ ✗ ✗
Data processing engine ✓ ✓ partial ✗

¹ ChatGPT Advanced Data Analysis, Claude Analysis tool, Gemini Data Agent  ·  ² PandasAI, LIDA, Julius, Vanna  ·  ³ Plotly, Matplotlib, Seaborn

How It Works

Your Data ──> Toolkit ──metadata only──> NVEIL AI ──> Processing Plan ──> Local Execution ──> Result
               ^                                                           ^
          raw data stays here                                     raw data stays here
  1. You describe what you want in plain language
  2. NVEIL AI plans the data processing and visualization (only metadata is sent — column names, types, statistics)
  3. The Toolkit executes locally — joins, aggregations, pivots, rendering — all on your machine
  4. You get a figure — Plotly, VTK, or DeckGL, auto-selected for your data

Key Features

🧠 Two Engines in One

Data processing (joins, pivots, aggregations, geocoding, time series) AND visualization generation from a single prompt.

🔒 Data Privacy by Design

Raw data never leaves your machine. Only column names, types, and aggregate statistics are sent.

📈 Multi-Backend Rendering

Auto-detects the best engine: Plotly (2D charts), VTK (3D/medical), DeckGL (geospatial).

🧪 Auditable Results

Powered by constraint solving, not random generation. Same input = same output, every time.

⚡ Offline Rendering

spec.render() runs 100% locally with zero API calls.

💾 Reusable Specs

Save to .nveil files, reload later, render on new data — no server needed.

Beyond Simple Charts

NVEIL AI chat — conversational data exploration with geospatial heatmaps

NVEIL handles geospatial heatmaps, 3D volumes, scientific visualizations, medical imaging (DICOM), biosignal data (EDF/EDF+), network graphs, and 50+ other visualization types — all from natural language.

Save Once, Render Forever

# Generate once (API call)
spec = nveil.generate_spec("Monthly trend by category", df)
spec.save("trend.nveil")

# Reload anywhere — no API call, no server, no cost
spec = nveil.load_spec("trend.nveil")
fig = spec.render(fresh_data)
nveil.save_image(fig, "report.png")

Installation

pip install nveil

Requirements: Python 3.10+

Getting Started

  1. Create an account at app.nveil.com
  2. Generate an API key in Settings
  3. Start visualizing
import os
import nveil

nveil.configure(api_key=os.environ["NVEIL_API_KEY"])

spec = nveil.generate_spec("scatter plot of price vs area", df)
fig = spec.render(df)
nveil.show(fig)

See the examples/ directory for more usage patterns.

Documentation

Full documentation is available at docs.nveil.com:

Contributing

Contributions are welcome under the project's Contributor License Agreement. Bug reports and feature requests are welcome via GitHub Issues.

License

GNU AGPL v3 or later. See LICENSE. Commercial dual-licensing is available — contact pierre.jacquet@nveil.com.


Website • Documentation • Platform

Metadata

Release files for nveil 1.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nveil 1.4.1
File Size Uploaded
nveil-1.4.1.tar.gz 60.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nveil 1.4.1
File Interpreter ABI Platform
nveil-1.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 115.8 kB

Release files / nveil-1.4.1.tar.gz

Download URL nveil-1.4.1.tar.gz
Size 60.5 kB
Tags Source
SHA-256 checksum
How to use checksums
fd80db933ed338715839e49b2e1c7ad5e6abe4d0183c0872fdc98375ae434dc1
BLAKE2b-256 checksum
How to use checksums
7d21e35c3dddc84e61ca10f19bf26e7df063870261da3a72be6590847519ef16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 5, 2026.

Transparency log

Release files / nveil-1.4.1-py3-none-any.whl

Download URL nveil-1.4.1-py3-none-any.whl
Size 55.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
736e973baadd54116de43ea96a3fbc6288dd7005c8a0843490edc39071b88bb8
BLAKE2b-256 checksum
How to use checksums
0a66f9e961a1de0287cbfb9db0b5130ae2808f16c0e687f388dee5a2fff75f0b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 5, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.4.1 This release

2 release files

1.4.0

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page