NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4380 most downloaded on PyPI
Python API for vespa.ai
Last release 4 days ago
01 Oct 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
3 versions withdrawn
withdrawn after publishing
6 years old
100 releases · first in 2020
One column per quarter.
docs: fix hit ratio vs filtered-out ratio in ANN tuning notebook by @thomasht86 in #1352
Full Changelog: v1.2.7...v1.2.8
feat: support Vespa Cloud production tests by @thomasht86 in #1348
Full Changelog: v1.2.6...v1.2.7
refactor: define all retry strategies once in vespa.retries ( #1344 ) by @thomasht86 in #1346
Full Changelog: v1.2.5...v1.2.6
Bump cryptography to 50.0.0 in pyproject.toml (Mend HIGH CVE-2026-69247 ) by @odosk in #1335
Full Changelog: v1.2.4...v1.2.5
Expose canonical console url by @thomasht86 in #1319
remove unnecessary comments by @thomasht86 in #1314
Full Changelog: v1.2.2...v1.2.3
ci: pass HF_TOKEN to workflows that use huggingface hub by @thomasht86 in #1302
Full Changelog: v1.2.1...v1.2.2
chore: bump deps to latest (sweeps VESPANG-3349 urllib3 CVE-2026-44431 /44432) by @odosk in #1284
Full Changelog: v1.2.0...v1.2.1
Replace deprecated OpenAI model gpt-4-0125-preview with gpt-4o by @Copilot in #1258
Full Changelog: v1.1.2...v1.2.0
Bump nokogiri from 1.18.9 to 1.19.1 by @dependabot [bot] in #1236
Full Changelog: v1.1.1...v1.1.2
Exclude colpali-vlm notebook from cloud CI due to pillow conflict by @thomasht86 in #1231
Full Changelog: v1.1.0...v1.1.1
Bump pillow, cryptography for security fixes and drop Python 3.9 by @thomasht86 in #1229
accept/cbor-header to queries by @thomasht86 in #1225Full Changelog: v1.0.2...v1.1.0
accept/cbor-header to queries by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1225Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v1.0.2...v1.1.0
v1.1.0 (Dropping support for Python 3.9)
Compare
Thomasht86/no model url validation default by @thomasht86 in #1218
Full Changelog: v1.0.1...v1.0.2
do not print to stderr on conn-error by @thomasht86 in #1217
Full Changelog: v1.0.0...v1.0.1
Add hybrid MTEB evaluation by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1185
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.63.0...v1.0.0
Refactor TestQueryBuilderGrouping to eliminate DeprecationWarning about returning values from test methods by @Copilot in https://github.com/vespa-eng…
deploy_to_prod by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1143CLAUDE.md by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1191Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.62.0...v0.63.0
Added deprecated warning when trying to use type in Summary by @sebastiannberg in https://github.com/vespa-engine/pyvespa/pull/1130
VespaMatchEvaluator with nearestNeighbor by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1125type in Summary by @sebastiannberg in https://github.com/vespa-engine/pyvespa/pull/1130VespaMatchEvaluator with URLs as ids by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1133Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.61.0...v0.62.0
Add missing deployment tags by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1111
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.60.0...v0.61.0
Update video search tl notebook with latest API changes by @zoharsan in https://github.com/vespa-engine/pyvespa/pull/1083
deployment.xml by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1109Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.59.0...v0.60.0
Fix user auth input also from terminal by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1088
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.58.0...v0.59.0
Write clients.pem cert file when deploying from application_root by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1084
application_root by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1084Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.57.0...v0.58.0
chore(deps): use renovate shared config by @bjorncs in https://github.com/vespa-engine/pyvespa/pull/1070
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.56.0...v0.57.0
fix(ci): Disable mend workflow by @esolitos in https://github.com/vespa-engine/pyvespa/pull/1039
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.55.0...v0.56.0
Configure Mend for GitHub.com by @mend-for-github-com in https://github.com/vespa-engine/pyvespa/pull/1022
slice_idin visit request by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1036Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.54.0...v0.55.0
ruby 3.3 by @kkraune in https://github.com/vespa-engine/pyvespa/pull/1007
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.53.0...v0.54.0
Thomasht86/add copybutton to docs by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/1001
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.52.0...v0.53.0
See https://pyvespa.readthedocs.io/en/latest/query.html#Using-the-Querybuilder-DSL-API for an intro.
feed_data_point by @kevinhu in https://github.com/vespa-engine/pyvespa/pull/987Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.51.0...v0.52.0
Visual RAG demo-application with ColPali (notebook including link to frontend-web app in FastHTML)
version-parameter in VespaCloud().deploy to specify Vespa-version.version-parameter in VespaCloud().deploy by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/978Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.50.0...v0.51.0
Now possibly to define _any_ services.xml-configuration from pyvespa. Check out example notebook on advanced configuration
services.xml-configuration from pyvespa. Check out example notebook on advanced configurationrequests-version #947Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.49.0...v0.50.0
infer auth method without request by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/894
query.ipynb by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/898get_valid_auth_clients by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/901Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.47.0...v0.49.0
Nothing published for this version
add link to feed_performance_cloud by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/877
0.47.0 by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/893Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.46.0...v0.47.0
Update pyvespa version to 0.45.0 by @github-actions in https://github.com/vespa-engine/pyvespa/pull/828
getting-started-pyvespa-cloud.ipynb by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/829httpx (HTTP/2-support) by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/7700.46.0 by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/876Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.45.0...v0.46.0
Update pyvespa version to 0.44.0 by @github-actions in https://github.com/vespa-engine/pyvespa/pull/826
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.44.0...v0.45.0
Thomasht86/bump twine and requests by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/823
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.43.0...v0.44.0
bump version by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/813
ContainerCluster by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/814Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v.0.42.0...v0.43.0
fix tag to version string manipulation by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/792
vespacli to generate key/cert and fix prod deployment test by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/804Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.41.0...v.0.42.0
Allow to specify mutate operation in RankProfile by @Fed0rah in https://github.com/vespa-engine/pyvespa/pull/775
vespacli into pyvespa by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/757assign by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/738A special thanks to @olaughter and @Fed0rah for useful enhancements! 🙌
ruff precommit linting and formatting by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/731assign by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/738Snowflake/snowflake-arctic-embed-s by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/744vespacli into pyvespa by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/757getting_started_pyvespa_cloud by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/765vespacli python package by @thomasht86 in https://github.com/vespa-engine/pyvespa/pull/780Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.40.0...v0.41.0
More helpful error messages for invalid application package names. https://github.com/vespa-engine/pyvespa/pull/687
Minor release.
#653 #657
Bug fixes:
Added experimental support for production deployment. This is not thoroughly tested, and should not yet be relied upon for production deployment.
Full Changelog: https://github.com/vespa-engine/pyvespa/compare/v0.39.0...v0.40.0
This release removes deprecated APIs (See details in https://github.com/vespa-engine/pyvespa/issues/600). Use feed_iterable instead of feed_batch and…
feed_iterable instead of feed_batch and update_batch.Several APIs around batch are now deprecated. See https://github.com/vespa-engine/pyvespa/issues/600 and https://github.com/vespa-engine/pyvespa/pull/…
This release fixes multiple issues and adds new functionality to pyvespa.
feed_iterable API for stream feeding instead of batch**kwargs for Vespa query API so that users can use native parametersAdd macros to templates in setup.py: https://github.com/vespa-engine/pyvespa/pull/551
Bugfix release:
The features added make it possible to run the multi-vector-indexing sample application in pyvespa:
The features added make it possible to run the multi-vector-indexing sample application in pyvespa:
Allow to specify match-features in RankProfile: https://github.com/vespa-engine/pyvespa/pull/525
Support setting default stemming of Schema: https://github.com/vespa-engine/pyvespa/pull/510
Improved error handling: https://github.com/vespa-engine/pyvespa/pull/498
allowed_methods in urllib3.util.Retry: https://github.com/vespa-engine/pyvespa/pull/501Support for rank profile inputs: https://github.com/vespa-engine/pyvespa/issues/482
inputs: https://github.com/vespa-engine/pyvespa/issues/482A local Docker deployment can now open the debug port (default 5005) into the container: #399
match block for fields is now supported: #403weight and bolding fields: #406weighttype-hints for eq and reprrank_typerank-propertiesRemove parse_labeled_data. Used now only on the learntorank library for evaluation and data collection.
parse_labeled_data. Used now only on the learntorank library for evaluation and data collection. (https://github.com/vespa-engine/pyvespa/pull/384)vespa.experimental.ranking to learntorank.ranking. (https://github.com/vespa-engine/pyvespa/pull/386)vespa.ml to learntorank.ml. (https://github.com/vespa-engine/pyvespa/pull/388)vespa.package to learntorank.ml. (https://github.com/vespa-engine/pyvespa/pull/390)Move code that depended on the learntorank.query module and remove the learntorank library dependency (https://github.com/vespa-engine/pyvespa/pull/38
learntorank.query module and remove the learntorank library dependency (https://github.com/vespa-engine/pyvespa/pull/382).
app.query and app.query_batch will now only accept YQL via the body parameter (lots of tests to rewrite and move to learntorank)app.collect_vespa_features and app.store_vespa_features features to learntorankgallery module from pyvespaRemove query module from pyvespa. Users should use the query module from the learntorank library instead.
Remove query module from pyvespa. Users should use the query module from the learntorank library instead. (https://github.com/vespa-engine/pyvespa/pull/381)
Deprecate query module. They are now moved to the learntorank library.
Deprecate query module. They are now moved to the learntorank library. (https://github.com/vespa-engine/pyvespa/pull/380)
Remove evaluation code from pyvespa. Users should use the evaluation module from the learntorank library instead.
pyvespa. Users should use the evaluation module from the learntorank library instead. (https://github.com/vespa-engine/pyvespa/pull/377)Deprecate evaluation module and methods. They are now moved to the learntorank library.
Allow id_field to be customizable when feeding a data frame (https://github.com/vespa-engine/pyvespa/pull/370). Example: ` responses = app.feed_df(df=
id_field to be customizable when feeding a data frame (https://github.com/vespa-engine/pyvespa/pull/370). Example:responses = app.feed_df(df=corpus_df, include_id=True, id_field="doc_id")
Fix packaging issue with version 0.23.0.
Return list of Vespa responses as output to app.feed_batch
app.feed_batch (https://github.com/vespa-engine/pyvespa/pull/361)ListwiseRankingFramework now accepts .csv file path as input to learn from data that are too large to load into memory
ListwiseRankingFramework now accepts .csv file path as input to learn from data that are too large to load into memory (https://github.com/vespa-engine/pyvespa/pull/350)ListwiseRankingFramework fit functions now accept an optional hyperparameters argument. If a dict of hyperparameter values is provided the method will skip the hyperparameter search and use the provided values to fit the model. (https://github.com/vespa-engine/pyvespa/pull/352)ListwiseRankingFramework hyperparameter search. (https://github.com/vespa-engine/pyvespa/pull/354)app.collect_training_data_point and app.collect_training_data will be deprecated in future releases and should be replaced by app.collect_vespa_featur…
app.collect_training_data_point (https://github.com/vespa-engine/pyvespa/pull/345)app.collect_vespa_features and app.store_vespa_features that use app.query_batch to speedup Vespa feature collection. (https://github.com/vespa-engine/pyvespa/pull/347)app.collect_training_data_point and app.collect_training_data will be deprecated in future releases and should be replaced by app.collect_vespa_features and app.store_vespa_features.Fix bug (https://github.com/vespa-engine/pyvespa/issues/341) that requires users to install ml packages when importing the application module.
Your coding agent can read these notes before it upgrades. Set up the MCP server →