Skip to content

v2.2.0 — the package is now venice-py

Latest

Choose a tag to compare

@sethbang sethbang released this 20 Aug 17:56
· 30 commits to main since this release
2270c47

The package is now venice-py

pip install venice-py

Your code does not change. The import package is still venice_ai, and VENICE_API_KEY is still VENICE_API_KEY:

from venice_ai import VeniceClient   # unchanged

A distribution name that differs from its import name is ordinary in Python — pillow imports as PIL, python-dotenv as dotenv. Renaming the import package would have broken every existing import venice_ai for no benefit, so it was left alone.

v2.1.0 renamed the CLI binary for the same reason this release renames the package: Venice's official tooling already owns the venice name, and a community SDK sitting on venice-ai invites people to mistake it for an official release.

Upgrading

Update the dependency wherever it is pinned — requirements.txt, pyproject.toml, lockfiles, Dockerfiles, CI installs. Extras are unaffected apart from the name: pip install 'venice-py[cli]', [x402], [redis], [adaptive], [e2ee].

Pinning >=2 is no longer necessary. That advice existed because a bare pip install venice-ai on Python 3.12 or older silently resolved to v1.3.x. No v1 line was ever published under venice-py, so there is nothing wrong to land on — an unsupported interpreter now fails loudly instead.

venice-ai is not yanked and stays on PyPI permanently, so existing lockfiles keep resolving. A metadata-only bridge release follows shortly, after which pip install venice-ai also lands a working install — it just arrives under the new name.

Also in this release

  • Bundled skills renamed to venice-py, venice-py-multimodal, venice-py-production, venice-py-x402. venice-py skills install removes superseded venice-ai* directories it finds, so upgrading doesn't leave both generations installed and triggering against each other. A directory is only removed when its SKILL.md identifies it as one of ours.
  • CLI data moved from ~/.venice/ to ~/.venice-py/, migrated automatically on first use, with permissions tightened (conversations/ to 0700, config.yaml to 0600). The old directory is left exactly as it was — it may hold the official CLI's data.
  • User-Agent is now venice-py/<version>.
  • The CLI identifies itself as venice-py in --version and --help, instead of Venice AI CLI.

Fixed

__version__ is resolved from the installed distribution's metadata, and that lookup sat inside a bare except Exception that fell back to a hardcoded literal — so any mismatch between the looked-up name and the built distribution would have frozen it silently, misreporting the version in every request's User-Agent. A test now asserts the two cannot drift apart.


Full detail in the CHANGELOG.