The package is now venice-py
pip install venice-pyYour 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 # unchangedA 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 installremoves supersededvenice-ai*directories it finds, so upgrading doesn't leave both generations installed and triggering against each other. A directory is only removed when itsSKILL.mdidentifies it as one of ours. - CLI data moved from
~/.venice/to~/.venice-py/, migrated automatically on first use, with permissions tightened (conversations/to0700,config.yamlto0600). The old directory is left exactly as it was — it may hold the official CLI's data. User-Agentis nowvenice-py/<version>.- The CLI identifies itself as
venice-pyin--versionand--help, instead ofVenice 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.