# Sweetviz claims Colab support from version 2.0 and elsewhere says Colab is not yet supported

> fbdesignpro/sweetviz is a MIT licensed Python library that renders a self-contained HTML report from a dataframe in two lines. Its README, its packaging metadata, and its release history each state a different Python floor, and the same file contradicts itself about Google Colab.

**fbdesignpro/sweetviz** — Visualize and compare datasets, target values and associations, with one line of code.

- Repository: https://github.com/fbdesignpro/sweetviz
- Stars: 3,127 · Forks: 287
- Language: Python
- License: MIT
- Published: 2026-09-10 · Updated: 2026-09-10 · Language: en
- Canonical page: https://hysenlabs.com/projects/fbdesignpro-sweetviz

## Version 2.0 claims Colab support and the install section says Colab is not supported

The change log in the file names Colab as a delivered feature. The line reads: Version 2.0, Jupyter, Colab and other notebook support, with report scaling and a vertical layout.

The installation section, further down the same file, says the opposite. Reports are output using the base `os` module, so custom environments such as Google Colab which require custom file operations are not yet supported, although a solution is being looked into.

Both statements are present tense about the same release line. There is a plausible reading in which the library can render a notebook report inside Colab but cannot write its output file the way Colab expects, which would make the two sentences compatible and the wording poor. The file does not say that anywhere.

Either way, a reader deciding whether the library works in a notebook environment has to choose which sentence to believe, and both are in the file with equal prominence. An example notebook on Colab is linked from the examples section, which does not settle the question either.

## Three Python floors: 3.6 in the README, 3.7 in the metadata, classifiers ending at 3.11

The installation section opens with Python 3.6 and Pandas 0.25.3. The packaging metadata says `requires-python = ">=3.7"`. The change log says version 2.2 was a big compatibility update for Python 3.7 and numpy versions.

Three statements, and the metadata is the one that governs an install. So 3.6 is not supported in practice, whatever the prose says.

The classifier list is the more useful signal, and it ends at Python 3.11. There is no 3.12 entry and no 3.13 entry. Classifiers are what package indexes display and what some tooling reads to decide whether an install is sane, so a library whose metadata stops two interpreter generations back presents itself as untested on current versions regardless of what the code does.

The dependency floors are older still. Pandas is declared at 0.25.3 or newer with three specific releases excluded, numpy at 1.16.0, matplotlib at 3.1.3, tqdm at 4.43.0, scipy at 1.3.2, and jinja2 at 2.11.1.

## The headline announcement is 2.3.2 and the newest tag is 2.3.3

The first line of the README is a banner announcing an April 2026 update for version 2.3.2, described as long-standing issues fixed.

The newest tag is v2.3.3, published on 2026-04-11, and its title is not a version number at all. It reads: Fixes for graphs cut off in some cases.

So the most prominent line in the file announces the second-newest release, and the release it fails to mention is a bug fix for charts being clipped. That is a small thing, but it is the kind of small thing that tells you how the file is maintained: someone added a banner when 2.3.2 shipped and a later fix release did not come back to update it.

The tag titles are also inconsistent with each other. v2.3.2 and v2.3.3 both carry a description of what they changed, while v2.3.1 is titled with the version number repeated and nothing else. The metadata classifies the project as Production and Stable, which sits oddly beside a release whose headline purpose is fixing graphs that were cut off.

## v2.3.1 shipped in November 2023 and the next tag arrived in April 2026

Three releases are visible. v2.3.1 was published on 2023-11-29 and is titled with nothing but its own version number. v2.3.2 came on 2026-04-05. v2.3.3 came on 2026-04-11, carrying the same timestamp as the last push to the branch.

The gap between the first and the second is two years, four months, and seven days. The gap between the second and the third is six days.

A release cadence that goes from a long silence to two releases in a week, with the second of them fixing charts being clipped, describes a maintenance burst rather than a steady cadence. If you are picking a version, the two April 2026 tags are the ones that contain the fixes the banner is talking about.

The last push to the master branch was on 2026-04-11, the same day as v2.3.3. Whatever came after that release in the branch has not been tagged.

## The tree has no test directory and no CI directory, but the metadata ships pytest extras

The repository root holds `.gitignore`, `CHANGELOG.md`, `LICENSE`, `MANIFEST.in`, `README.md`, `docs/`, `pyproject.toml`, and the `sweetviz/` package directory. That is the whole list.

There is no `test/` directory and no `.github/` directory. The packaging metadata nevertheless declares two optional dependency groups that both start with `pytest >=6` and `pytest-cov >=3`, and the docs group adds sphinx with a theme, a MyST parser, a copy button extension, and autodoc type hints.

So the packaging offers to install a test runner into an environment where the tests are not, and offers to build documentation from a `docs/` directory that does exist. A contributor who runs `pip install sweetviz[test]` gets pytest with nothing to run.

`MANIFEST.in` sits next to `pyproject.toml` as well, which is the older source distribution mechanism kept alongside the modern one. The build itself is setuptools, and the package finder is told to include five subpackages: `sweetviz`, `sweetviz.fonts`, `sweetviz.mpl_styles`, `sweetviz.templates`, and `sweetviz.templates.js`.

## The test extra and the dev extra are the same two lines

The optional dependency groups are declared like this:

```toml
test = [
  "pytest >=6",
  "pytest-cov >=3",
]
dev = [
  "pytest >=6",
  "pytest-cov >=3",
]
```

They are identical, character for character. So there is no development environment to install and no difference between installing one and installing the other.

What a contributor would expect in a dev group is missing: no formatter, no linter, no type checker, no build tooling, no notebook extras. The only two things both groups install are a test runner and a coverage plugin, and neither has any tests to run against.

The docs group is the only one with a distinct purpose, and it is the one group whose directory is actually present in the tree. That is the shape of a project where the packaging was written to describe intent rather than to serve the repository it lives in.

## A user script named sweetviz.py produces two different import errors

The installation section names the two errors users actually hit:

```
ModuleNotFoundError: No module named 'sweetviz'
AttributeError: module 'sweetviz' has no attribute 'analyze'
```

Both come from the same cause, and the fix is stated in the first bullet under the suggested remedies: make sure none of your scripts are named `sweetviz.py`, because a file of that name in the working directory shadows the installed package. Delete or rename it and any associated `.pyc` files.

The two error messages are worth reading together. The first says the library is absent when it is present and being shadowed. The second says the library has no `analyze` function, which is the confusing one, because the module resolves, the name is right, and the attribute genuinely is not there on the object Python found.

The remaining remedies are a reinstall through pip, a check for multiple Python versions or filesystem permissions, and three Stack Overflow articles, followed by an invitation to file a bug if none of that works. That last resort is telling: the project's own answer to a shadowing problem it can describe exactly ends in a public issue tracker.

## Only boolean and numerical features can be a target

The whole API is three report constructors, `analyze()`, `compare()`, and `compare_intra()`, followed by a `show_xxx()` call that renders either an HTML file or a notebook report, with scaling as an option.

The two-line version is this:

```python
import sweetviz as sv

my_report = sv.analyze(my_dataframe)
my_report.show_html() # Default arguments will generate to "SWEETVIZ_REPORT.html"
```

The signature that stands behind it is short: `analyze(source, target_feat, feat_cfg, pairwise_analysis, verbosity)`, where source is either a dataframe or a tuple of dataframe and a display name.

The one hard limit in the arguments is the target. `target_feat` names the feature to mark as the target, and the documentation is explicit that only boolean and numerical features can be targets for now. A categorical target, which is the common case in classification work, is not available.

Type control runs through a `FeatureConfig` object with four parameters, `skip`, `force_cat`, `force_num`, and `force_text`, where the force options override the built-in detection. Associations cover all three data types without configuration: Pearson's correlation for numerical pairs, the uncertainty coefficient for categorical pairs, and the correlation ratio for a categorical-numerical pair.

## Conclusion

Sweetviz is a reasonable choice when the question you need answered is how two dataframes differ, since target analysis and side-by-side comparison are the two things it was built for and the report opens with no server. Two things to settle first. The Python support claim is stated three different ways, so pick an interpreter deliberately and check the pandas floor, which is 0.25.3 with three specific patch releases excluded. And the tree contains no test directory and no CI directory while the packaging metadata ships pytest extras, so the test story is not in the repository. The last push was on 2026-04-11, and the two releases before it were six days apart after a two and a half year gap.

## FAQ

### How do I create a Sweetviz report?

Import sweetviz as sv, call sv.analyze on your dataframe, then call show_html on the result, which writes SWEETVIZ_REPORT.html by default. The three report constructors are analyze, compare, and compare_intra, and the rendered output is a self-contained HTML application that opens in your default browser.

### Which Python versions does Sweetviz support?

The three sources disagree. The README installation section says Python 3.6 or later with Pandas 0.25.3 or later, pyproject.toml sets requires-python to >=3.7, and the change log credits version 2.2 with a compatibility update for Python 3.7 and numpy. The classifiers list 3.7 through 3.11 and stop there.

### Does Sweetviz work in Google Colab or Jupyter?

The change log lists Jupyter, Colab and other notebook support as a version 2.0 feature along with report scaling and vertical layout, and an example notebook is linked from Colab. The installation section also states that reports are output using the base os module, so custom environments such as Google Colab which require custom file operations are not yet supported.

### Why does importing sweetviz raise ModuleNotFoundError?

The README names two errors, ModuleNotFoundError: No module named 'sweetviz' and AttributeError: module 'sweetviz' has no attribute 'analyze', and attributes them to a user script named sweetviz.py shadowing the installed library. It also suggests uninstalling and reinstalling, and checking for multiple Python versions or permissions.

### Can a categorical column be the target in a Sweetviz analysis?

No. The target_feat parameter names the feature to mark as the target, and the documentation states that only boolean and numerical features can be targets for now. Type detection is otherwise automatic, and FeatureConfig with skip, force_cat, force_num, and force_text overrides it.

## Sources

- [fbdesignpro/sweetviz on GitHub](https://github.com/fbdesignpro/sweetviz)
- [Issues](https://github.com/fbdesignpro/sweetviz/issues)
- [License: MIT](https://github.com/fbdesignpro/sweetviz/blob/master/LICENSE)
- [README](https://github.com/fbdesignpro/sweetviz/blob/master/README.md)
- [Releases](https://github.com/fbdesignpro/sweetviz/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/fbdesignpro-sweetviz
