Quickstart • Project structure • Join the community • License • Code of conduct • References
This repository is contains all the vantage6 infrastructure source code. The vantage6 technology enables to manage and deploy privacy enhancing technologies like Federated Learning (FL) and Multi-Party Computation (MPC). Please visit our website to learn more!
You can find more (user) documentation at readthedocs. If you have any questions, suggestions or just want to chat about federated learning, please reach out on our Github Discussions.
A High level overview of the vantage6 infrastructure. Vantage6 has both a client-server and peer-to-peer architecture. The client is used by the researcher to create (PET) computation requests. It is also used to manage users, organizations and collaborations. The server is referred to as the 'vantage6 hub' and consists of several components. Most importantly, the vantage6 headquarters (HQ) contains the users, organizations, collaborations, tasks and their results. It provides a central access point for both the clients and nodes. Other important components of the hub are the authentication service, algorithm store, and user interface. The nodes have access to privacy sensitive data and handle computation requests retrieved from the HQ. Computation request are executed as separate containers on the node. These containers are connected to containers at other nodes by a internal network.
The vantage6 infrastructure is delivered in Docker images. To run these images, you need to have Docker installed. To install the latest version of the vantage6 CLI, you need to have Python v3.13. We recommend uv for package management.
Install the latest version of the vantage6 CLI by using:
uv pip install vantage6
# or, if you are using conda / pyenv / ...
pip install vantage6This installs the v6 commands, which allows you to manage your hub and nodes. To
view all available options, run:
v6 --helpFor example you can create a local test setup by using:
v6 sandbox newThis creates a local network with a hub and three nodes, and also starts it. You can then manage this network with the following commands:
# stop the sandbox
v6 sandbox stop
# start again once you stopped the sandbox
v6 sandbox start
# remove sandbox files from your system
v6 sandbox removeThis will start the hub and nodes in the background. You can go to your browser and
access the UI at http://localhost:30760.
You can view the logs by running:
# View node logs
v6 node attach
# View hub components logs
v6 hq attach
v6 algorithm-store attach
v6 auth attachFrom here you can use the vantage6-client to interact with the hub. The demo network has a pre-configured organization with the following credentials:
- Username:
admin - Password:
admin
For example, you can create a new organization by running:
from vantage6.client import Client
client = Client(
hq_url='http://localhost:30761/api',
auth_url='http://localhost:30764',
log_level='debug'
)
client.authenticate()
client.setup_encryption(None)
client.organization.create(
name='My organization',
address1='My address',
address2='My address',
zipcode='1234AB',
country='The Netherlands',
domain='my-organization.com'
)You can find more (user) documentation at readthedocs
This repository is home to 8 PyPI packages:
- vantage6 -> CLI for managing node and hub instances
- vantage6-client -> Python client for interacting with vantage6
- vantage6-algorithm-tools -> Python tools to facilitate algorithm development
- vantage6-node -> Node application package
- vantage6-hq -> HQ application package
- vantage6-algorithm-store -> Algorithm store application package
- vantage6-common -> Package with common vantage6 functions
- vantage6-backend-common -> Package with functions common to HQ and algorithm store
Note that when using vantage6 you do not have to install the hq and node packages. These are delivered to you in Docker images.
This repository also hosts the code for the vantage6 user interface (UI). The UI is an Angular web application that can be used to interact with the vantage6 HQ easily.
The vantage6 infrastructure is delivered in Docker images. All Docker images are stored in the vantage6 GitHub Container Registry. The most important images are:
ghcr.io/vantage6/infrastructure/node:VERSION-> Node application Docker imageghcr.io/vantage6/infrastructure/hq:VERSION-> HQ application Docker imageghcr.io/vantage6/infrastructure/ui:VERSION-> User interface Docker imageghcr.io/vantage6/infrastructure/algorithm-store:VERSION-> Algorithm store Docker image
with VERSION being the full semantic version of the vantage6 infrastructure, e.g.
4.0.0 or 4.1.0rc0.
And finally there are some images released for algorithm development:
ghcr.io/vantage6/infrastructure/algorithm-base:MAJOR.MINOR-> Base image for algorithm developmentghcr.io/vantage6/infrastructure/algorithm-ohdsi-base:MAJOR.MINOR-> Extended algorithm base image for OHDSI algorithm development
We hope to continue developing, improving, and supporting vantage6 with the help of the federated learning community. If you are interested in contributing, first of all, thank you! Second, please take a look at our contributing guidelines and our code of conduct.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Please note that this project is released with a Contributor Code of Conduct. By participating in any way in this project you agree to abide by its terms.
If you are using vantage6, please cite this repository as well as the accompanying papers as follows:
- F. Martin, M. Sieswerda, H. Alradhi, et al. vantage6. Available at https://doi.org/10.5281/zenodo.7221216. Accessed on MONTH, 20XX.
- A. Moncada-Torres, F. Martin, M. Sieswerda, J. van Soest, G. Gelijnse. VANTAGE6: an open source priVAcy preserviNg federaTed leArninG infrastructurE for Secure Insight eXchange. AMIA Annual Symposium Proceedings, 2020, p. 870-877. [BibTeX, PDF]
- D. Smits*, B. van Beusekom*, F. Martin, L. Veen, G. Geleijnse, A. Moncada-Torres, An Improved Infrastructure for Privacy-Preserving Analysis of Patient Data, Proceedings of the International Conference of Informatics, Management, and Technology in Healthcare (ICIMTH), vol. 25, 2022, p. 144-147. [BibTeX, PDF]

