Overview¶
What is vantage6?¶
Vantage6 stands for privacy preserving federated learning infrastructure for secure insight exchange.
The project is inspired by the Personal Health Train (PHT) concept. In this analogy vantage6 is the tracks and stations. Compatible algorithms are the trains, and computation tasks are the journey. Vantage6 is completely open source under the Apache License.
What vantage6 does:
delivering algorithms to data stations and collecting their results
managing users, organizations, collaborations, computation tasks and their results
providing control (security) at the data-stations to their owners
The vantage6 infrastructure is designed with three fundamental functional aspects of federated learning.
Autonomy. All involved parties should remain independent and autonomous.
Heterogeneity. Parties should be allowed to have differences in hardware and operating systems.
Flexibility. Related to the latter, a federated learning infrastructure should not limit the use of relevant data.
Overview of this documentation¶
This documentation space consists of the following main sections:
Overview → You are here now
Introduction → Introduction to vantage6 concepts
Architecture → An more extensive explanation of vantage6 components
User guide → How to use vantage6 as a researcher
Node admin guide → How to install and configure vantage6 nodes
Server admin guide → How to configure and deploy vantage6 servers
Algorithm store admin guide → How to configure and deploy vantage6 algorithm stores
Feature descriptions (Under construction) → Documentation of vantage6 features
Developer community → How to collaborate on the development of the vantage6 infrastructure
Algorithm Development → Develop algorithms that are compatible with vantage6
Function documentation → Documentation of the vantage6 infrastructure code
Glossary → A dictionary of common terms used in these docs
Release notes → Log of what has been released and when
Vantage6 resources¶
This is a - non-exhaustive - list of vantage6 resources.
Documentation
docs.vantage6.ai → This documentation.
vantage6.ai → vantage6 project website
Academic papers → Technical insights into vantage6
Source code
vantage6 → Contains all components (and the python-client).
Planning → Contains all features, bugfixes and feature requests we are working on. To submit one yourself, you can create a new issue.
Community
Discord → Chat with the vantage6 community
Community meetings → Bi-monthly developer community meeting
Index¶
- 1. User guide
- 2. Node admin guide
- 3. Server admin guide
- 4. Algorithm store admin guide
- 5. Algorithm Development
- 5.1. Algorithm concepts
- 5.2. Algorithm development step-by-step guide
- 5.2.1. Starting point
- 5.2.2. Setting up your environment
- 5.2.3. Implementing your algorithm
- 5.2.4. Environment variables
- 5.2.5. Returning results
- 5.2.6. Example functions
- 5.2.7. Testing your algorithm
- 5.2.8. Writing documentation
- 5.2.9. Package & distribute
- 5.2.10. Calling your algorithm from vantage6
- 5.2.11. Updating your algorithm
- 5.3. Algorithm code structure
- 5.4. Classic Tutorial
- 6. Feature descriptions
- 7. Developer community
- 8. Function documentation
- 8.1. vantage6.cli
- 8.1.1. vantage6.cli.cli
- 8.1.2. vantage6.cli.configuration_manager
- vantage6.cli.configuration_manager.NodeConfiguration
- vantage6.cli.configuration_manager.NodeConfigurationManager
- vantage6.cli.configuration_manager.ServerConfiguration
- vantage6.cli.configuration_manager.ServerConfigurationManager
- vantage6.cli.configuration_manager.TestConfiguration
- vantage6.cli.configuration_manager.TestingConfigurationManager
- 8.1.3. vantage6.cli.configuration_wizard
- vantage6.cli.configuration_wizard.algo_store_configuration_questionaire
- vantage6.cli.configuration_wizard.configuration_wizard
- vantage6.cli.configuration_wizard.node_configuration_questionaire
- vantage6.cli.configuration_wizard.select_configuration_questionaire
- vantage6.cli.configuration_wizard.server_configuration_questionaire
- 8.1.4. vantage6.cli.context
- 8.1.5. vantage6.cli.globals
- 8.1.6. vantage6.cli.rabbitmq
- 8.1.7. vantage6.cli.utils
- 8.2. vantage6.client
- 8.2.1. vantage6.client.Client
- 8.2.2. vantage6.client.UserClient
- 8.2.3. vantage6.client.exceptions
- 8.2.4. vantage6.client.filter
- vantage6.client.filter.filter_dict_keys
- vantage6.client.filter.filter_dicts_by_values
- vantage6.client.filter.filter_dicts_from_results
- vantage6.client.filter.filter_dicts_keys
- vantage6.client.filter.filter_dicts_on_values
- vantage6.client.filter.filter_keys_from_result
- vantage6.client.filter.filter_keys_from_results
- vantage6.client.filter.post_filtering
- 8.2.5. vantage6.client.subclients
- 8.2.6. vantage6.client.utils
- 8.3. vantage6.algorithm.client
- 8.4. vantage6.algorithm.tools
- 8.4.1. vantage6.algorithm.tools.decorators
- vantage6.algorithm.tools.decorators.algorithm_client
- vantage6.algorithm.tools.decorators.data
- vantage6.algorithm.tools.decorators.database_connection
- vantage6.algorithm.tools.decorators.get_ohdsi_metadata
- vantage6.algorithm.tools.decorators.metadata
- vantage6.algorithm.tools.decorators.OHDSIMetaData
- vantage6.algorithm.tools.decorators.RunMetaData
- 8.4.2. vantage6.algorithm.tools.exceptions
- vantage6.algorithm.tools.exceptions.AlgorithmError
- vantage6.algorithm.tools.exceptions.AlgorithmExecutionError
- vantage6.algorithm.tools.exceptions.AlgorithmInitializationError
- vantage6.algorithm.tools.exceptions.AlgorithmModuleNotFoundError
- vantage6.algorithm.tools.exceptions.AlgorithmRuntimeError
- vantage6.algorithm.tools.exceptions.ClientError
- vantage6.algorithm.tools.exceptions.CollectOrganizationError
- vantage6.algorithm.tools.exceptions.CollectResultsError
- vantage6.algorithm.tools.exceptions.ConvergenceError
- vantage6.algorithm.tools.exceptions.DataError
- vantage6.algorithm.tools.exceptions.DataReadError
- vantage6.algorithm.tools.exceptions.DataTypeError
- vantage6.algorithm.tools.exceptions.DeserializationError
- vantage6.algorithm.tools.exceptions.DeserializationException
- vantage6.algorithm.tools.exceptions.EnvironmentVariableError
- vantage6.algorithm.tools.exceptions.EnvironmentVariableNotFoundError
- vantage6.algorithm.tools.exceptions.InputError
- vantage6.algorithm.tools.exceptions.MaxIterationsReached
- vantage6.algorithm.tools.exceptions.MethodNotFoundError
- vantage6.algorithm.tools.exceptions.NodePermissionException
- vantage6.algorithm.tools.exceptions.PrivacyThresholdViolation
- vantage6.algorithm.tools.exceptions.PrivacyViolation
- vantage6.algorithm.tools.exceptions.SubtakCreationError
- vantage6.algorithm.tools.exceptions.UserInputError
- 8.4.3. vantage6.algorithm.tools.mock_client
- 8.4.4. vantage6.algorithm.tools.preprocessing
- 8.4.5. vantage6.algorithm.tools.util
- 8.4.6. vantage6.algorithm.tools.wrap
- 8.4.7. vantage6.algorithm.tools.wrappers
- vantage6.algorithm.tools.wrappers.get_column_names
- vantage6.algorithm.tools.wrappers.load_csv_data
- vantage6.algorithm.tools.wrappers.load_data
- vantage6.algorithm.tools.wrappers.load_excel_data
- vantage6.algorithm.tools.wrappers.load_parquet_data
- vantage6.algorithm.tools.wrappers.load_sparql_data
- vantage6.algorithm.tools.wrappers.load_sql_data
- vantage6.algorithm.tools.wrappers.DatabaseType
- 8.4.1. vantage6.algorithm.tools.decorators
- 8.5. vantage6.node
- 8.5.1. vantage6.node.run
- 8.5.2. vantage6.node.Node
- 8.5.3. vantage6.node.VPNConnectMode
- 8.5.4. vantage6.node.cli
- 8.5.5. vantage6.node.context
- 8.5.6. vantage6.node.globals
- 8.5.7. vantage6.node.proxy_server
- vantage6.node.proxy_server.decrypt_result
- vantage6.node.proxy_server.get_method
- vantage6.node.proxy_server.get_response_json_and_handle_exceptions
- vantage6.node.proxy_server.make_proxied_request
- vantage6.node.proxy_server.make_request
- vantage6.node.proxy_server.proxy
- vantage6.node.proxy_server.proxy_result
- vantage6.node.proxy_server.proxy_results
- vantage6.node.proxy_server.proxy_task
- 8.5.8. vantage6.node.socket
- 8.5.9. vantage6.node.util
- 8.6. vantage6.backend.common
- 8.6.1. vantage6.backend.common.get_server_url
- 8.6.2. vantage6.backend.common.base
- 8.6.3. vantage6.backend.common.globals
- 8.6.4. vantage6.backend.common.jsonable
- 8.6.5. vantage6.backend.common.permission
- 8.6.6. vantage6.backend.common.permission_models
- 8.6.7. vantage6.backend.common.session
- 8.6.8. vantage6.backend.common.test_context
- 8.7. vantage6.common
- 8.7.1. vantage6.common.base64s_to_bytes
- 8.7.2. vantage6.common.bytes_to_base64s
- 8.7.3. vantage6.common.check_config_writeable
- 8.7.4. vantage6.common.debug
- 8.7.5. vantage6.common.echo
- 8.7.6. vantage6.common.error
- 8.7.7. vantage6.common.generate_apikey
- 8.7.8. vantage6.common.get_config_path
- 8.7.9. vantage6.common.get_database_config
- 8.7.10. vantage6.common.info
- 8.7.11. vantage6.common.is_ip_address
- 8.7.12. vantage6.common.logger_name
- 8.7.13. vantage6.common.split_rabbitmq_uri
- 8.7.14. vantage6.common.warning
- 8.7.15. vantage6.common.ClickLogger
- 8.7.16. vantage6.common.Singleton
- 8.7.17. vantage6.common.WhoAmI
- 8.7.18. vantage6.common.colors
- 8.7.19. vantage6.common.configuration_manager
- 8.7.20. vantage6.common.context
- 8.7.21. vantage6.common.docker
- 8.7.22. vantage6.common.encryption
- 8.7.23. vantage6.common.enum
- 8.7.24. vantage6.common.exceptions
- 8.7.25. vantage6.common.globals
- 8.7.26. vantage6.common.log
- 8.7.27. vantage6.common.serialization
- 8.7.28. vantage6.common.task_status
- 8.7.29. vantage6.common.utest
- 8.1. vantage6.cli
- 9. Glossary
- Release notes
- 4.8.0
- 4.7.1
- 4.7.0
- 4.6.1
- 4.6.0
- 4.5.5
- 4.5.4
- 4.5.3
- 4.5.2
- 4.5.1
- 4.5.0
- 4.4.1
- 4.4.0
- 4.3.4
- 4.3.3
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.3
- 4.2.2
- 4.2.1
- 4.2.0
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.11.1
- 3.11.0
- 3.10.4
- 3.10.3
- 3.10.1
- 3.10.0
- 3.9.0
- 3.8.8
- 3.8.7
- 3.8.6
- 3.8.3 - 3.8.5
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.3
- 3.7.2
- 3.7.1
- 3.7.0
- 3.6.1
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.2
- 3.4.0 & 3.4.1
- 3.3.7
- 3.3.6
- 3.3.5
- 3.3.3
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.0
- 3.1.0
- 3.0.0
- 2.3.0 - 2.3.4
- 2.2.0
- 2.1.2 & 2.1.3
- 2.1.1
- 2.1.0
- 2.0.0.post1
- 2.0.0
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.0
- Partners