testcontainers / testcontainers/testcontainers-python
New Container: Vespa AI (Vector Database & Search Engine)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.3k
- Forks
- 386
- Avg merge
- 4h 40m
- Merged PRs (30d)
- 1
Description
What is the new container you'd like to have?
I'd like to request adding Vespa AI (the big data serving engine and vector database) container support.
- Docker container:
vespaengine/vespa:latest - Vespa website: https://vespa.ai/
- Documentation: https://docs.vespa.ai/en/vespa-quick-start.html
Benefits:
Vespa is a complete platform for building AI-powered applications with vector search, full-text search, and real-time data processing. It's particularly valuable for:
- Vector similarity search and semantic matching
- RAG (Retrieval-Augmented Generation) applications
- AI-powered search and recommendation systems
- ML model serving and inference
Having dedicated Vespa support in TestContainers would enable proper testing of modern AI applications that rely on vector databases.
Why not just use a generic container for this?
Using GenericContainer("vespaengine/vespa:latest") is not sufficient because:
Complicated setup/configuration:
- Vespa requires deploying application packages with specific configuration
- Needs multiple services (config server, container cluster) to be properly initialized
- Requires environment variables and specific startup sequence
- Application packages must be deployed and activated before the container is ready
Complex wait strategy:
- Cannot use simple HTTP wait - requires checking multiple endpoints:
- Config server health:
http://localhost:19071/state/v1/health - Container cluster readiness:
http://localhost:8080/ApplicationStatus - Configuration activation status
- Config server health:
- Startup sequence involves waiting for config server, then deploying applications, then waiting for container cluster
- Health checks need to verify multiple services are coordinated and ready
Other references:
- Vespa GitHub: https://github.com/vespa-engine/vespa
- Vespa Docker Hub: https://hub.docker.com/r/vespaengine/vespa/
- Vespa quick start guide: https://docs.vespa.ai/en/vespa-quick-start.html
- Vespa application packages: https://docs.vespa.ai/en/application-packages.html
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Vespa quick-start documentation and the vespaengine/vespa:latest image; map the config-server, container-cluster, and application-package startup sequence. Check the config server health and container cluster readiness endpoints listed in the issue. Done means Testcontainers Python provides dedicated Vespa support that deploys and activates an application package before reporting readiness.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- databases, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100