visions
Visions
Decision gist · record as of 2026-08-14
Yes. Visions is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem in data processing—inferring semantic types from messy real-world data. It is particularly valuable if you work with pandas or need customizable type detection across multiple backends. The permissive BSD-4-Clause license poses no barrier to adoption.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later.
- Plotting type graphs requires pygraphviz to be installed separately.
- Low install friction with a pure-Python wheel and six common runtime dependencies.
License · maintenance · safety
BSD-4-Clause (permissive) — BSD-4-Clause is a permissive license; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
last release 2026-05-26 (80 days) · last repo commit 2026-05-27 · 222 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,374,454 downloads/mo, #3,988 on PyPI
Alternatives
Verify before relying
pip install visions
from visions import typesets
import pandas as pd
df = pd.read_csv('data.csv')
typeset = typesets.CompleteSet()
inferred_types = typeset.infer_type(df)
cleaned_df = typeset.cast_to_inferred(df)- Whether the type inference accuracy holds across all supported backends (pandas, numpy, spark, Python) or varies by framework.
- Performance characteristics when working with very large datasets or deeply nested type hierarchies.
What it is and what it does
Visions is a semantic data type library that goes beyond simple type detection by building a graph of type relationships and using that structure to both identify what type your data actually is and infer what it should be. It handles common real-world messiness—integers stored as floats with trailing zeros, missing values, strings that represent numbers—and can automatically clean and cast data to the inferred type.
The package works across multiple data backends (pandas, numpy, spark, and plain Python sequences) through a dispatch-based architecture, letting you define custom semantic types for domain-specific purposes. It ships with a complete default typeset covering common use cases, and you can extend it by registering new type implementations for frameworks like Dask.
Use it for
- Automatically detect and correct data types in CSV or database imports where type information is lost or ambiguous.
- Build domain-specific type systems for specialized data processing pipelines (e.g., financial, scientific, or categorical data).
- Clean and standardize tabular data before analysis by inferring the intended type and casting accordingly.
- Integrate type detection into data profiling or validation workflows to flag unexpected type patterns.
- Extend type detection to custom backends (e.g., Dask) by registering new type implementations via annotations.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Visions is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem in data processing—inferring semantic types from messy real-world data. It is particularly valuable if you work with pandas or need customizable type detection across multiple backends. The permissive BSD-4-Clause license poses no barrier to adoption.
Install
visions on PyPI
Before you install
Low install friction with a pure-Python wheel and six common runtime dependencies. The package is actively maintained with a recent release and no known vulnerabilities.
Requires Python 3.9 or later. Plotting type graphs requires pygraphviz to be installed separately.
License in practice
BSD-4-Clause is a permissive license; you may use, modify, and distribute this package freely in commercial or private projects with minimal restrictions.
Quickstart
pip install visions
from visions import typesets
import pandas as pd
df = pd.read_csv('data.csv')
typeset = typesets.CompleteSet()
inferred_types = typeset.infer_type(df)
cleaned_df = typeset.cast_to_inferred(df)
Verify before relying
- Whether the type inference accuracy holds across all supported backends (pandas, numpy, spark, Python) or varies by framework.
- Performance characteristics when working with very large datasets or deeply nested type hierarchies.
Package facts
| License | BSD-4-Clause permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 6 packagesnumpypandasattrsnetworkxmultimethodpuremagic |
| Maintenance | Actively maintained 80 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,374,454 / month, #3,988 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9 |
Evidence: visions-0.8.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “semantic data type detection”
- visionsVisions defines and detects semantic data types across pandas, numpy,…
- albumentationsAlbumentations applies image transformations to training data,…
- semantic-link-functions-meteostatAdds semantic functions to FabricDataFrame that automatically enrich…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also woodwork · semantic-link · semantic-link-sempy · nptyping · ydata-profiling · category-encoders · qpd · data-science-types · pandas · pyspark-pandas