From ceacb3d541dd9c9fb4a32de47b1fa9832890741f Mon Sep 17 00:00:00 2001 From: dscc-admin-ch <> Date: Thu, 4 Jul 2024 14:54:12 +0000 Subject: [PATCH] Update from https://github.com/dscc-admin-ch/lomas/commit/b14bc85fbb254cf2579c3c4e7dd041b3efc71b26 --- .../develop/en/_modules/lomas_server/app.html | 788 +----------------- .../_modules/lomas_server/tests/test_api.html | 2 +- html/develop/en/genindex.html | 72 +- html/develop/en/lomas_server.html | 598 ------------- html/develop/en/lomas_server.tests.html | 2 +- html/develop/en/objects.inv | Bin 15242 -> 14994 bytes html/develop/en/searchindex.js | 2 +- html/develop/en/server_modules.html | 15 - html/v0.1.0/en/_modules/lomas_server/app.html | 788 +----------------- .../_modules/lomas_server/tests/test_api.html | 2 +- html/v0.1.0/en/genindex.html | 72 +- html/v0.1.0/en/lomas_server.html | 598 ------------- html/v0.1.0/en/lomas_server.tests.html | 2 +- html/v0.1.0/en/objects.inv | Bin 15164 -> 14915 bytes html/v0.1.0/en/searchindex.js | 2 +- html/v0.1.0/en/server_modules.html | 15 - 16 files changed, 56 insertions(+), 2902 deletions(-) diff --git a/html/develop/en/_modules/lomas_server/app.html b/html/develop/en/_modules/lomas_server/app.html index 0427a11c..76955cb8 100644 --- a/html/develop/en/_modules/lomas_server/app.html +++ b/html/develop/en/_modules/lomas_server/app.html @@ -95,9 +95,10 @@

Source code for lomas_server.app

 from contextlib import asynccontextmanager
 from typing import Callable
 
-from fastapi import Body, Depends, FastAPI, Header, Request, Response
-from fastapi.responses import JSONResponse, RedirectResponse, StreamingResponse
+from fastapi import FastAPI, Request, Response
 
+import routes_admin
+import routes_dp
 from admin_database.utils import database_factory
 from constants import (
     CONFIG_NOT_LOADED,
@@ -105,43 +106,15 @@ 

Source code for lomas_server.app

     QUERY_HANDLER_NOT_LOADED,
     SERVER_LIVE,
     AdminDBType,
-    DPLibraries,
 )
 from dataset_store.utils import dataset_store_factory
 from dp_queries.dp_libraries.opendp import set_opendp_features_config
-from dp_queries.dp_libraries.utils import querier_factory
 from dp_queries.dp_logic import QueryHandler
-from dp_queries.dummy_dataset import (
-    get_dummy_dataset_for_query,
-    make_dummy_dataset,
-)
 from utils.anti_timing_att import anti_timing_att
 from utils.config import get_config
-from utils.error_handler import (
-    KNOWN_EXCEPTIONS,
-    InternalServerException,
-    add_exception_handlers,
-)
-from utils.example_inputs import (
-    example_dummy_opendp,
-    example_dummy_smartnoise_sql,
-    example_get_admin_db_data,
-    example_get_dummy_dataset,
-    example_opendp,
-    example_smartnoise_sql,
-    example_smartnoise_sql_cost,
-)
-from utils.input_models import (
-    DummyOpenDPInp,
-    DummySNSQLInp,
-    GetDbData,
-    GetDummyDataset,
-    OpenDPInp,
-    SNSQLInp,
-    SNSQLInpCost,
-)
+from utils.error_handler import InternalServerException, add_exception_handlers
 from utils.loggr import LOG
-from utils.utils import add_demo_data_to_admindb, server_live, stream_dataframe
+from utils.utils import add_demo_data_to_admindb
 
 
 
@@ -285,754 +258,9 @@

Source code for lomas_server.app

 # Add custom exception handlers
 add_exception_handlers(app)
 
-# API Endpoints
-# -----------------------------------------------------------------------------
-
-
-
-[docs] -@app.get("/") -async def root(): - """Redirect root endpoint to the state endpoint - Returns: - JSONResponse: The state of the server instance. - """ - return RedirectResponse(url="/state")
- - - -# Get server state -
-[docs] -@app.get("/state", tags=["ADMIN_USER"]) -async def get_state( - user_name: str = Header(None), -) -> JSONResponse: - """Returns the current state dict of this server instance. - - Args: - user_name (str, optional): The user name. Defaults to Header(None). - - Returns: - JSONResponse: The state of the server instance. - """ - return JSONResponse( - content={ - "requested_by": user_name, - "state": app.state.server_state, - } - )
- - - -
-[docs] -@app.get( - "/get_memory_usage", - dependencies=[Depends(server_live)], - tags=["ADMIN_USER"], -) -async def get_memory_usage() -> JSONResponse: - """Return the dataset store object memory usage - Args: - user_name (str, optional): The user name. Defaults to Header(None). - - Returns: - JSONResponse: with DatasetStore object memory usage - """ - return JSONResponse( - content={ - "memory_usage": app.state.dataset_store.memory_usage, - } - )
- - - -# Metadata query -
-[docs] -@app.post( - "/get_dataset_metadata", - dependencies=[Depends(server_live)], - tags=["USER_METADATA"], -) -def get_dataset_metadata( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), -) -> JSONResponse: - """ - Retrieves metadata for a given dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing - the dataset_name key for indicating the dataset. - Defaults to Body(example_get_admin_db_data). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - - Returns: - JSONResponse: The metadata dictionary for the specified - dataset_name. - """ - try: - ds_metadata = app.state.admin_database.get_dataset_metadata( - query_json.dataset_name - ) - - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return ds_metadata
- - - -# Dummy dataset query -
-[docs] -@app.post( - "/get_dummy_dataset", - dependencies=[Depends(server_live)], - tags=["USER_DUMMY"], -) -def get_dummy_dataset( - _request: Request, - query_json: GetDummyDataset = Body(example_get_dummy_dataset), -) -> StreamingResponse: - """ - Generates and returns a dummy dataset. - - Args: - request (Request): Raw request object - query_json (GetDummyDataset, optional): - A JSON object containing the following: - - nb_rows (int, optional): The number of rows in the - dummy dataset (default: 100). - - seed (int, optional): The random seed for generating - the dummy dataset (default: 42). - Defaults to Body(example_get_dummy_dataset). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - - Returns: - StreamingResponse: a pd.DataFrame representing the dummy dataset. - """ - try: - ds_metadata = app.state.admin_database.get_dataset_metadata( - query_json.dataset_name - ) - - dummy_df = make_dummy_dataset( - ds_metadata, query_json.dummy_nb_rows, query_json.dummy_seed - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return stream_dataframe(dummy_df)
- - - -# Smartnoise SQL query -
-[docs] -@app.post( - "/smartnoise_query", - dependencies=[Depends(server_live)], - tags=["USER_QUERY"], -) -def smartnoise_sql_handler( - _request: Request, - query_json: SNSQLInp = Body(example_smartnoise_sql), - user_name: str = Header(None), -) -> JSONResponse: - """ - Handles queries for the SmartNoiseSQL library. - - Args: - request (Request): Raw request object - query_json (SNSQLInp): A JSON object containing: - - query: The SQL query to execute. NOTE: the table name is "df", - the query must end with "FROM df". - - epsilon (float): Privacy parameter (e.g., 0.1). - - delta (float): Privacy parameter (e.g., 1e-5). - - mechanisms (dict, optional): Dictionary of mechanisms for the - query (default: {}). See "Smartnoise-SQL mechanisms documentation - https://docs.smartnoise.org/sql/advanced.html#overriding-mechanisms. - - postprocess (bool, optional): Whether to postprocess the query - results (default: True). - See "Smartnoise-SQL postprocessing documentation - https://docs.smartnoise.org/sql/advanced.html#postprocess. - - Defaults to Body(example_smartnoise_sql). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: If there is not enough budget or the dataset - does not exist. - UnauthorizedAccessException: A query is already ongoing for this user, - the user does not exist or does not have access to the dataset. - - Returns: - JSONResponse: A JSON object containing the following: - - requested_by (str): The user name. - - query_response (pd.DataFrame): A DataFrame containing - the query response. - - spent_epsilon (float): The amount of epsilon budget spent - for the query. - - spent_delta (float): The amount of delta budget spent - for the query. - """ - try: - response = app.state.query_handler.handle_query( - DPLibraries.SMARTNOISE_SQL, query_json, user_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return response
- - - -# Smartnoise SQL Dummy query -
-[docs] -@app.post( - "/dummy_smartnoise_query", - dependencies=[Depends(server_live)], - tags=["USER_DUMMY"], -) -def dummy_smartnoise_sql_handler( - _request: Request, - query_json: DummySNSQLInp = Body(example_dummy_smartnoise_sql), -) -> JSONResponse: - """ - Handles queries on dummy datasets for the SmartNoiseSQL library. - - Args: - request (Request): Raw request object - query_json (DummySNSQLInp, optional): A JSON object containing: - - query: The SQL query to execute. NOTE: the table name is "df", - the query must end with "FROM df". - - epsilon (float): Privacy parameter (e.g., 0.1). - - delta (float): Privacy parameter (e.g., 1e-5). - - mechanisms (dict, optional): Dictionary of mechanisms for the - query (default: {}). See Smartnoise-SQL mechanisms documentation - https://docs.smartnoise.org/sql/advanced.html#overriding-mechanisms. - - postprocess (bool, optional): Whether to postprocess the query - results (default: True). - See Smartnoise-SQL postprocessing documentation - https://docs.smartnoise.org/sql/advanced.html#postprocess. - - dummy (bool, optional): Whether to use a dummy dataset - (default: False). - - nb_rows (int, optional): The number of rows in the dummy dataset - (default: 100). - - seed (int, optional): The random seed for generating - the dummy dataset (default: 42). - - Defaults to Body(example_dummy_smartnoise_sql). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: If there is not enough budget or the dataset - does not exist. - - Returns: - JSONResponse: A JSON object containing: - - query_response (pd.DataFrame): a DataFrame containing - the query response. - """ - ds_private_dataset = get_dummy_dataset_for_query( - app.state.admin_database, query_json - ) - dummy_querier = querier_factory( - DPLibraries.SMARTNOISE_SQL, private_dataset=ds_private_dataset - ) - try: - _ = dummy_querier.cost(query_json) # verify cost works - response_df = dummy_querier.query(query_json) - response = JSONResponse(content={"query_response": response_df}) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return response
- - - -
-[docs] -@app.post( - "/estimate_smartnoise_cost", - dependencies=[Depends(server_live)], - tags=["USER_QUERY"], -) -def estimate_smartnoise_cost( - _request: Request, - query_json: SNSQLInpCost = Body(example_smartnoise_sql_cost), -) -> JSONResponse: - """ - Estimates the privacy loss budget cost of a SmartNoiseSQL query. - - Args: - request (Request): Raw request object - query_json (SNSQLInpCost, optional): - A JSON object containing the following: - - query: The SQL query to estimate the cost for. - NOTE: the table name is "df", the query must end with "FROM df". - - epsilon (float): Privacy parameter (e.g., 0.1). - - delta (float): Privacy parameter (e.g., 1e-5). - - mechanisms (dict, optional): Dictionary of mechanisms - for the query (default: {}). - See Smartnoise-SQL mechanisms documentation - https://docs.smartnoise.org/sql/advanced.html#overriding-mechanisms. - - Defaults to Body(example_smartnoise_sql_cost). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - - Returns: - JSONResponse: A JSON object containing: - - epsilon_cost (float): The estimated epsilon cost. - - delta_cost (float): The estimated delta cost. - """ - try: - response = app.state.query_handler.estimate_cost( - DPLibraries.SMARTNOISE_SQL, - query_json, - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content=response)
- - - -
-[docs] -@app.post( - "/opendp_query", dependencies=[Depends(server_live)], tags=["USER_QUERY"] -) -def opendp_query_handler( - _request: Request, - query_json: OpenDPInp = Body(example_opendp), - user_name: str = Header(None), -) -> JSONResponse: - """ - Handles queries for the OpenDP Library. - - Args: - request (Request): Raw request object. - query_json (OpenDPInp, optional): A JSON object containing the following: - - opendp_pipeline: The OpenDP pipeline for the query. - - fixed_delta: If the pipeline measurement is of type - "ZeroConcentratedDivergence" (e.g. with "make_gaussian") then it is - converted to "SmoothedMaxDivergence" with "make_zCDP_to_approxDP" - (see "opendp measurements documentation at - https://docs.opendp.org/en/stable/api/python/opendp.combinators.html#opendp.combinators.make_zCDP_to_approxDP). # noqa # pylint: disable=C0301 - In that case a "fixed_delta" must be provided by the user. - - Defaults to Body(example_opendp). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The pipeline does not contain a "measurement", - there is not enough budget or the dataset does not exist. - UnauthorizedAccessException: A query is already ongoing for this user, - the user does not exist or does not have access to the dataset. - - Returns: - JSONResponse: A JSON object containing the following: - - requested_by (str): The user name. - - query_response (pd.DataFrame): A DataFrame containing - the query response. - - spent_epsilon (float): The amount of epsilon budget spent - for the query. - - spent_delta (float): The amount of delta budget spent - for the query. - """ - try: - response = app.state.query_handler.handle_query( - DPLibraries.OPENDP, query_json, user_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content=response)
- - - -
-[docs] -@app.post( - "/dummy_opendp_query", - dependencies=[Depends(server_live)], - tags=["USER_DUMMY"], -) -def dummy_opendp_query_handler( - _request: Request, - query_json: DummyOpenDPInp = Body(example_dummy_opendp), -) -> JSONResponse: - """ - Handles queries on dummy datasets for the OpenDP library. - - Args: - request (Request): Raw request object. - query_json (DummyOpenDPInp, optional): - A JSON object containing the following: - - opendp_pipeline: The OpenDP pipeline for the query. - - fixed_delta: If the pipeline measurement is of type\ - "ZeroConcentratedDivergence" (e.g. with "make_gaussian") then - it is converted to "SmoothedMaxDivergence" with - "make_zCDP_to_approxDP" (see opendp measurements documentation at - https://docs.opendp.org/en/stable/api/python/opendp.combinators.html#opendp.combinators.make_zCDP_to_approxDP). # noqa # pylint: disable=C0301 - In that case a "fixed_delta" must be provided by the user. - - dummy (bool, optional): Whether to use a dummy dataset - (default: False). - - nb_rows (int, optional): The number of rows - in the dummy dataset (default: 100). - - seed (int, optional): The random seed for generating - the dummy dataset (default: 42). - - Defaults to Body(example_dummy_opendp). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: If there is not enough budget or the dataset - does not exist. - - Returns: - JSONResponse: A JSON object containing: - - query_response (pd.DataFrame): a DataFrame containing - the query response. - """ - ds_private_dataset = get_dummy_dataset_for_query( - app.state.admin_database, query_json - ) - dummy_querier = querier_factory( - DPLibraries.OPENDP, private_dataset=ds_private_dataset - ) - - try: - _ = dummy_querier.cost(query_json) # verify cost works - response_df = dummy_querier.query(query_json) - response = {"query_response": response_df} - - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content=response)
- - - -
-[docs] -@app.post( - "/estimate_opendp_cost", - dependencies=[Depends(server_live)], - tags=["USER_QUERY"], -) -def estimate_opendp_cost( - _request: Request, - query_json: OpenDPInp = Body(example_opendp), -) -> JSONResponse: - """ - Estimates the privacy loss budget cost of an OpenDP query. - - Args: - request (Request): Raw request object - query_json (OpenDPInp, optional): - A JSON object containing the following: - - "opendp_pipeline": The OpenDP pipeline for the query. - - Defaults to Body(example_opendp). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist or the - pipeline does not contain a measurement. - - Returns: - JSONResponse: A JSON object containing: - - epsilon_cost (float): The estimated epsilon cost. - - delta_cost (float): The estimated delta cost. - """ - try: - response = app.state.query_handler.estimate_cost( - DPLibraries.OPENDP, - query_json, - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content=response)
- - - -# MongoDB get initial budget -
-[docs] -@app.post( - "/get_initial_budget", - dependencies=[Depends(server_live)], - tags=["USER_BUDGET"], -) -def get_initial_budget( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), - user_name: str = Header(None), -) -> JSONResponse: - """ - Returns the initial budget for a user and dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing: - - dataset_name (str): The name of the dataset. - - Defaults to Body(example_get_admin_db_data). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - UnauthorizedAccessException: The user does not exist or - the user does not have access to the dataset. - Returns: - JSONResponse: a JSON object with: - - initial_epsilon (float): initial epsilon budget. - - initial_delta (float): initial delta budget. - """ - try: - ( - initial_epsilon, - initial_delta, - ) = app.state.admin_database.get_initial_budget( - user_name, query_json.dataset_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse( - content={ - "initial_epsilon": initial_epsilon, - "initial_delta": initial_delta, - } - )
- - - -# MongoDB get total spent budget -
-[docs] -@app.post( - "/get_total_spent_budget", - dependencies=[Depends(server_live)], - tags=["USER_BUDGET"], -) -def get_total_spent_budget( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), - user_name: str = Header(None), -) -> JSONResponse: - """ - Returns the spent budget for a user and dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing: - - dataset_name (str): The name of the dataset. - - Defaults to Body(example_get_admin_db_data). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - UnauthorizedAccessException: The user does not exist or - the user does not have access to the dataset. - Returns: - JSONResponse: a JSON object with: - - total_spent_epsilon (float): total spent epsilon budget. - - total_spent_delta (float): total spent delta budget. - """ - try: - ( - total_spent_epsilon, - total_spent_delta, - ) = app.state.admin_database.get_total_spent_budget( - user_name, query_json.dataset_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse( - content={ - "total_spent_epsilon": total_spent_epsilon, - "total_spent_delta": total_spent_delta, - } - )
- - - -# MongoDB get remaining budget -
-[docs] -@app.post( - "/get_remaining_budget", - dependencies=[Depends(server_live)], - tags=["USER_BUDGET"], -) -def get_remaining_budget( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), - user_name: str = Header(None), -) -> JSONResponse: - """ - Returns the remaining budget for a user and dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing: - - dataset_name (str): The name of the dataset. - - Defaults to Body(example_get_admin_db_data). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - UnauthorizedAccessException: The user does not exist or - the user does not have access to the dataset. - Returns: - JSONResponse: a JSON object with: - - remaining_epsilon (float): remaining epsilon budget. - - remaining_delta (float): remaining delta budget. - """ - try: - rem_epsilon, rem_delta = app.state.admin_database.get_remaining_budget( - user_name, query_json.dataset_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse( - content={ - "remaining_epsilon": rem_epsilon, - "remaining_delta": rem_delta, - } - )
- - - -# MongoDB get archives -
-[docs] -@app.post( - "/get_previous_queries", - dependencies=[Depends(server_live)], - tags=["USER_BUDGET"], -) -def get_user_previous_queries( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), - user_name: str = Header(None), -) -> JSONResponse: - """ - Returns the query history of a user on a specific dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing: - - dataset_name (str): The name of the dataset. - - Defaults to Body(example_get_admin_db_data). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - UnauthorizedAccessException: The user does not exist or - the user does not have access to the dataset. - - Returns: - JSONResponse: A JSON object containing: - - previous_queries (list[dict]): a list of dictionaries - containing the previous queries. - """ - try: - previous_queries = app.state.admin_database.get_user_previous_queries( - user_name, query_json.dataset_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content={"previous_queries": previous_queries})
- +# Add endpoints +app.include_router(routes_dp.router) +app.include_router(routes_admin.router)
diff --git a/html/develop/en/_modules/lomas_server/tests/test_api.html b/html/develop/en/_modules/lomas_server/tests/test_api.html index 18297115..f8eb520e 100644 --- a/html/develop/en/_modules/lomas_server/tests/test_api.html +++ b/html/develop/en/_modules/lomas_server/tests/test_api.html @@ -178,7 +178,7 @@

Source code for lomas_server.tests.test_api

 
[docs] def setUp(self) -> None: - """_summary_""" + """Set Up Header and DB for test""" self.user_name = "Dr. Antartica" self.dataset = PENGUIN_DATASET self.headers = { diff --git a/html/develop/en/genindex.html b/html/develop/en/genindex.html index c3e1ea78..c8b9cc4a 100644 --- a/html/develop/en/genindex.html +++ b/html/develop/en/genindex.html @@ -299,11 +299,11 @@

D

  • db_name (lomas_server.utils.config.MongoDBConfig attribute)
  • DB_TYPE (lomas_server.constants.ConfigKeys attribute) -
  • -
  • db_type (lomas_server.utils.config.DBConfig attribute)
  • -
  • dummy_opendp_query_handler() (in module lomas_server.app) -
  • dummy_seed (lomas_server.utils.input_models.DummyOpenDPInp attribute)
  • -
  • dummy_smartnoise_sql_handler() (in module lomas_server.app) -
  • DummyOpenDPInp (class in lomas_server.utils.input_models)
  • DummySNSQLInp (class in lomas_server.utils.input_models) @@ -408,24 +404,16 @@

    E

  • (lomas_server.utils.input_models.SNSQLInpCost attribute)
  • -
  • error_message() (in module lomas_client.client) -
  • @@ -474,11 +462,9 @@

    G

  • (lomas_server.admin_database.yaml_database.AdminYamlDatabase method)
  • -
  • get_dataset_metadata() (in module lomas_server.app) +
  • get_dataset_metadata() (lomas_client.client.Client method)
  • -
  • get_dummy_dataset() (in module lomas_server.app) - -
  • get_dummy_dataset_for_query() (in module lomas_server.dp_queries.dummy_dataset)
  • get_epsilon_or_delta() (lomas_server.admin_database.admin_database.AdminDatabase method) @@ -502,11 +484,9 @@

    G

  • (lomas_server.admin_database.yaml_database.AdminYamlDatabase method)
  • -
  • get_initial_budget() (in module lomas_server.app) +
  • get_initial_budget() (lomas_client.client.Client method)
  • @@ -516,14 +496,10 @@

    G

  • get_list_of_users() (in module lomas_server.mongodb_admin)
  • -
  • get_memory_usage() (in module lomas_server.app) - -
  • -
  • get_remaining_budget() (in module lomas_server.app) +
  • get_remaining_budget() (lomas_client.client.Client method)
  • -
  • get_state() (in module lomas_server.app) -
  • -
  • get_total_spent_budget() (in module lomas_server.app) +
  • get_total_spent_budget() (lomas_client.client.Client method)
  • -
  • get_user_previous_queries() (in module lomas_server.app) +
  • get_user_previous_queries() (lomas_server.admin_database.admin_database.AdminDatabase method)
  • -
  • opendp_query() (lomas_client.client.Client method) -
  • -
  • smartnoise_sql_handler() (in module lomas_server.app) -
  • SmartnoiseSQLQuerier (class in lomas_server.dp_queries.dp_libraries.smartnoise_sql)
  • SMOOTHED_MAX_DIVERGENCE (lomas_server.constants.OpenDPMeasurement attribute) diff --git a/html/develop/en/lomas_server.html b/html/develop/en/lomas_server.html index d6398f17..9065becb 100644 --- a/html/develop/en/lomas_server.html +++ b/html/develop/en/lomas_server.html @@ -724,478 +724,6 @@

    Submodules

    lomas_server.app module

    -
    -
    -lomas_server.app.dummy_opendp_query_handler(_request: Request, query_json: DummyOpenDPInp = Body({'dataset_name': 'PENGUIN', 'opendp_json': '{"version": "0.8.0", "ast": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "constructor", "func": "make_chain_tt", "module": "combinators", "args": [{"_type": "constructor", "func": "make_select_column", "module": "transformations", "kwargs": {"key": "bill_length_mm", "TOA": "String"}}, {"_type": "constructor", "func": "make_split_dataframe", "module": "transformations", "kwargs": {"separator": ",", "col_names": {"_type": "list", "_items": ["species", "island", "bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g", "sex"]}}}]}, "rhs": {"_type": "constructor", "func": "then_cast_default", "module": "transformations", "kwargs": {"TOA": "f64"}}}, "rhs": {"_type": "constructor", "func": "then_clamp", "module": "transformations", "kwargs": {"bounds": [30.0, 65.0]}}}, "rhs": {"_type": "constructor", "func": "then_resize", "module": "transformations", "kwargs": {"size": 346, "constant": 43.61}}}, "rhs": {"_type": "constructor", "func": "then_variance", "module": "transformations"}}, "rhs": {"_type": "constructor", "func": "then_laplace", "module": "measurements", "kwargs": {"scale": 5.0}}}}', 'fixed_delta': 1e-06, 'dummy_nb_rows': 100, 'dummy_seed': 42})) JSONResponse[source]
    -

    Handles queries on dummy datasets for the OpenDP library.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object.

    • -
    • query_json (DummyOpenDPInp, optional) –

      A JSON object containing the following: -- opendp_pipeline: The OpenDP pipeline for the query. -- fixed_delta: If the pipeline measurement is of type “ZeroConcentratedDivergence” (e.g. with “make_gaussian”) then

      -
      -

      it is converted to “SmoothedMaxDivergence” with -“make_zCDP_to_approxDP” (see opendp measurements documentation at -https://docs.opendp.org/en/stable/api/python/opendp.combinators.html#opendp.combinators.make_zCDP_to_approxDP). # noqa # pylint: disable=C0301 -In that case a “fixed_delta” must be provided by the user.

      -
      -
        -
      • dummy (bool, optional): Whether to use a dummy dataset -(default: False).

      • -
      • nb_rows (int, optional): The number of rows -in the dummy dataset (default: 100).

      • -
      • seed (int, optional): The random seed for generating -the dummy dataset (default: 42).

      • -
      -

      Defaults to Body(example_dummy_opendp).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • query_response (pd.DataFrame): a DataFrame containing -the query response.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.dummy_smartnoise_sql_handler(_request: Request, query_json: DummySNSQLInp = Body({'query_str': 'SELECT COUNT(*) AS NB_ROW FROM df', 'dataset_name': 'PENGUIN', 'epsilon': 100.0, 'delta': 0.99, 'mechanisms': {'count': 'gaussian'}, 'postprocess': False, 'dummy_nb_rows': 100, 'dummy_seed': 42})) JSONResponse[source]
    -

    Handles queries on dummy datasets for the SmartNoiseSQL library.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (DummySNSQLInp, optional) –

      A JSON object containing: -- query: The SQL query to execute. NOTE: the table name is “df”,

      -
      -

      the query must end with “FROM df”.

      -
      -
        -
      • epsilon (float): Privacy parameter (e.g., 0.1).

      • -
      • delta (float): Privacy parameter (e.g., 1e-5).

      • -
      • mechanisms (dict, optional): Dictionary of mechanisms for the -query (default: {}). See Smartnoise-SQL mechanisms documentation -https://docs.smartnoise.org/sql/advanced.html#overriding-mechanisms.

      • -
      • postprocess (bool, optional): Whether to postprocess the query -results (default: True). -See Smartnoise-SQL postprocessing documentation -https://docs.smartnoise.org/sql/advanced.html#postprocess.

      • -
      • dummy (bool, optional): Whether to use a dummy dataset -(default: False).

      • -
      • nb_rows (int, optional): The number of rows in the dummy dataset -(default: 100).

      • -
      • seed (int, optional): The random seed for generating -the dummy dataset (default: 42).

      • -
      -

      Defaults to Body(example_dummy_smartnoise_sql).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • query_response (pd.DataFrame): a DataFrame containing -the query response.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.estimate_opendp_cost(_request: Request, query_json: OpenDPInp = Body({'dataset_name': 'PENGUIN', 'opendp_json': '{"version": "0.8.0", "ast": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "constructor", "func": "make_chain_tt", "module": "combinators", "args": [{"_type": "constructor", "func": "make_select_column", "module": "transformations", "kwargs": {"key": "bill_length_mm", "TOA": "String"}}, {"_type": "constructor", "func": "make_split_dataframe", "module": "transformations", "kwargs": {"separator": ",", "col_names": {"_type": "list", "_items": ["species", "island", "bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g", "sex"]}}}]}, "rhs": {"_type": "constructor", "func": "then_cast_default", "module": "transformations", "kwargs": {"TOA": "f64"}}}, "rhs": {"_type": "constructor", "func": "then_clamp", "module": "transformations", "kwargs": {"bounds": [30.0, 65.0]}}}, "rhs": {"_type": "constructor", "func": "then_resize", "module": "transformations", "kwargs": {"size": 346, "constant": 43.61}}}, "rhs": {"_type": "constructor", "func": "then_variance", "module": "transformations"}}, "rhs": {"_type": "constructor", "func": "then_laplace", "module": "measurements", "kwargs": {"scale": 5.0}}}}', 'fixed_delta': 1e-06})) JSONResponse[source]
    -

    Estimates the privacy loss budget cost of an OpenDP query.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (OpenDPInp, optional) –

      A JSON object containing the following: -- “opendp_pipeline”: The OpenDP pipeline for the query.

      -

      Defaults to Body(example_opendp).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • epsilon_cost (float): The estimated epsilon cost.

    • -
    • delta_cost (float): The estimated delta cost.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.estimate_smartnoise_cost(_request: Request, query_json: SNSQLInpCost = Body({'query_str': 'SELECT COUNT(*) AS NB_ROW FROM df', 'dataset_name': 'PENGUIN', 'epsilon': 0.1, 'delta': 1e-05, 'mechanisms': {'count': 'gaussian'}})) JSONResponse[source]
    -

    Estimates the privacy loss budget cost of a SmartNoiseSQL query.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (SNSQLInpCost, optional) –

      A JSON object containing the following: -- query: The SQL query to estimate the cost for.

      -
      -

      NOTE: the table name is “df”, the query must end with “FROM df”.

      -
      - -

      Defaults to Body(example_smartnoise_sql_cost).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • epsilon_cost (float): The estimated epsilon cost.

    • -
    • delta_cost (float): The estimated delta cost.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_dataset_metadata(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'})) JSONResponse[source]
    -

    Retrieves metadata for a given dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) – A JSON object containing -the dataset_name key for indicating the dataset. -Defaults to Body(example_get_admin_db_data).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    The metadata dictionary for the specified

    dataset_name.

    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_dummy_dataset(_request: Request, query_json: GetDummyDataset = Body({'dataset_name': 'PENGUIN', 'dummy_nb_rows': 100, 'dummy_seed': 42})) StreamingResponse[source]
    -

    Generates and returns a dummy dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDummyDataset, optional) –

      -
      A JSON object containing the following:
        -
      • nb_rows (int, optional): The number of rows in the -dummy dataset (default: 100).

      • -
      • seed (int, optional): The random seed for generating -the dummy dataset (default: 42).

      • -
      -
      -
      -

      Defaults to Body(example_get_dummy_dataset).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    a pd.DataFrame representing the dummy dataset.

    -
    -
    Return type:
    -

    StreamingResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_initial_budget(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'}), user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the initial budget for a user and dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) –

      A JSON object containing: -- dataset_name (str): The name of the dataset.

      -

      Defaults to Body(example_get_admin_db_data).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    a JSON object with:
      -
    • initial_epsilon (float): initial epsilon budget.

    • -
    • initial_delta (float): initial delta budget.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -async lomas_server.app.get_memory_usage() JSONResponse[source]
    -

    Return the dataset store object memory usage -:param user_name: The user name. Defaults to Header(None). -:type user_name: str, optional

    -
    -
    Returns:
    -

    with DatasetStore object memory usage

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_remaining_budget(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'}), user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the remaining budget for a user and dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) –

      A JSON object containing: -- dataset_name (str): The name of the dataset.

      -

      Defaults to Body(example_get_admin_db_data).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    a JSON object with:
      -
    • remaining_epsilon (float): remaining epsilon budget.

    • -
    • remaining_delta (float): remaining delta budget.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -async lomas_server.app.get_state(user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the current state dict of this server instance.

    -
    -
    Parameters:
    -

    user_name (str, optional) – The user name. Defaults to Header(None).

    -
    -
    Returns:
    -

    The state of the server instance.

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_total_spent_budget(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'}), user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the spent budget for a user and dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) –

      A JSON object containing: -- dataset_name (str): The name of the dataset.

      -

      Defaults to Body(example_get_admin_db_data).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    a JSON object with:
      -
    • total_spent_epsilon (float): total spent epsilon budget.

    • -
    • total_spent_delta (float): total spent delta budget.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_user_previous_queries(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'}), user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the query history of a user on a specific dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) –

      A JSON object containing: -- dataset_name (str): The name of the dataset.

      -

      Defaults to Body(example_get_admin_db_data).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • previous_queries (list[dict]): a list of dictionaries -containing the previous queries.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    -
    lomas_server.app.lifespan(app: FastAPI) AsyncGenerator[source]
    @@ -1214,132 +742,6 @@

    Submodules -
    -lomas_server.app.opendp_query_handler(_request: Request, query_json: OpenDPInp = Body({'dataset_name': 'PENGUIN', 'opendp_json': '{"version": "0.8.0", "ast": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "constructor", "func": "make_chain_tt", "module": "combinators", "args": [{"_type": "constructor", "func": "make_select_column", "module": "transformations", "kwargs": {"key": "bill_length_mm", "TOA": "String"}}, {"_type": "constructor", "func": "make_split_dataframe", "module": "transformations", "kwargs": {"separator": ",", "col_names": {"_type": "list", "_items": ["species", "island", "bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g", "sex"]}}}]}, "rhs": {"_type": "constructor", "func": "then_cast_default", "module": "transformations", "kwargs": {"TOA": "f64"}}}, "rhs": {"_type": "constructor", "func": "then_clamp", "module": "transformations", "kwargs": {"bounds": [30.0, 65.0]}}}, "rhs": {"_type": "constructor", "func": "then_resize", "module": "transformations", "kwargs": {"size": 346, "constant": 43.61}}}, "rhs": {"_type": "constructor", "func": "then_variance", "module": "transformations"}}, "rhs": {"_type": "constructor", "func": "then_laplace", "module": "measurements", "kwargs": {"scale": 5.0}}}}', 'fixed_delta': 1e-06}), user_name: str = Header(None)) JSONResponse[source]
    -

    Handles queries for the OpenDP Library.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object.

    • -
    • query_json (OpenDPInp, optional) –

      A JSON object containing the following: -- opendp_pipeline: The OpenDP pipeline for the query. -- fixed_delta: If the pipeline measurement is of type

      -
      -

      ”ZeroConcentratedDivergence” (e.g. with “make_gaussian”) then it is -converted to “SmoothedMaxDivergence” with “make_zCDP_to_approxDP” -(see “opendp measurements documentation at -https://docs.opendp.org/en/stable/api/python/opendp.combinators.html#opendp.combinators.make_zCDP_to_approxDP). # noqa # pylint: disable=C0301 -In that case a “fixed_delta” must be provided by the user.

      -
      -

      Defaults to Body(example_opendp).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing the following:
      -
    • requested_by (str): The user name.

    • -
    • query_response (pd.DataFrame): A DataFrame containing -the query response.

    • -
    • spent_epsilon (float): The amount of epsilon budget spent -for the query.

    • -
    • spent_delta (float): The amount of delta budget spent -for the query.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -

    - -
    -
    -async lomas_server.app.root()[source]
    -

    Redirect root endpoint to the state endpoint -:returns: The state of the server instance. -:rtype: JSONResponse

    -
    - -
    -
    -lomas_server.app.smartnoise_sql_handler(_request: Request, query_json: SNSQLInp = Body({'query_str': 'SELECT COUNT(*) AS NB_ROW FROM df', 'dataset_name': 'PENGUIN', 'epsilon': 0.1, 'delta': 1e-05, 'mechanisms': {'count': 'gaussian'}, 'postprocess': True}), user_name: str = Header(None)) JSONResponse[source]
    -

    Handles queries for the SmartNoiseSQL library.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (SNSQLInp) –

      A JSON object containing: -- query: The SQL query to execute. NOTE: the table name is “df”,

      -
      -

      the query must end with “FROM df”.

      -
      - -

      Defaults to Body(example_smartnoise_sql).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing the following:
      -
    • requested_by (str): The user name.

    • -
    • query_response (pd.DataFrame): A DataFrame containing -the query response.

    • -
    • spent_epsilon (float): The amount of epsilon budget spent -for the query.

    • -
    • spent_delta (float): The amount of delta budget spent -for the query.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    -

    lomas_server.constants module

    diff --git a/html/develop/en/lomas_server.tests.html b/html/develop/en/lomas_server.tests.html index ddbfa23c..b69442e6 100644 --- a/html/develop/en/lomas_server.tests.html +++ b/html/develop/en/lomas_server.tests.html @@ -129,7 +129,7 @@

    Submodules
    setUp() None[source]
    -

    _summary_

    +

    Set Up Header and DB for test

    diff --git a/html/develop/en/objects.inv b/html/develop/en/objects.inv index a4caa51998d8c1bf7aa68a1be3f148c816c315ee..f6c601ffc18f6169bbbb8d36c9495a73667ffc88 100644 GIT binary patch delta 14926 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 delta 15147 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 ViIzJ8wD?nD3}IhC&H^nM{{ss=Ua9~9 diff --git a/html/develop/en/searchindex.js b/html/develop/en/searchindex.js index 907ace88..dd82ada4 100644 --- a/html/develop/en/searchindex.js +++ b/html/develop/en/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API Documentation": [[3, "api-documentation"]], "Access the server to administrate the mongoDB": [[22, "Access-the-server-to-administrate-the-mongoDB"]], "Access via Kubernetes": [[27, "access-via-kubernetes"]], "Access via Onyxia Platform": [[27, "access-via-onyxia-platform"]], "Accessing the Helm Chart": [[29, "accessing-the-helm-chart"]], "Add user": [[22, "Add-user"]], "Administration": [[24, "administration"]], "Archives of queries": [[22, "Archives-of-queries"]], "Average and number of rows with smartnoise-sql library on remote dummy": [[21, "Average-and-number-of-rows-with-smartnoise-sql-library-on-remote-dummy"], [23, "Average-and-number-of-rows-with-smartnoise-sql-library-on-remote-dummy"]], "CLI": [[26, "cli"]], "Change budget": [[22, "Change-budget"]], "Client": [[8, "client"], [9, "client"]], "Client API": [[4, "client-api"]], "Collections": [[26, "collections"]], "Confidence intervals for age over the whole population": [[23, "Confidence-intervals-for-age-over-the-whole-population"]], "Confidence intervals for bill length over the whole population": [[21, "Confidence-intervals-for-bill-length-over-the-whole-population"]], "Count per species": [[21, "Count-per-species"]], "Create a docker volume": [[22, "Create-a-docker-volume"]], "Dashboard": [[27, "dashboard"]], "Datasets": [[26, "datasets"]], "Datasets (add and drop)": [[22, "Datasets-(add-and-drop)"]], "Deploying Lomas on Onyxia": [[32, "deploying-lomas-on-onyxia"]], "Deploying the Service on Kubernetes": [[29, "deploying-the-service-on-kubernetes"]], "Deployment": [[28, "deployment"]], "Errors": [[5, "errors"]], "Estimate cost of a query": [[21, "Estimate-cost-of-a-query"], [23, "Estimate-cost-of-a-query"]], "Examples": [[6, "examples"], [26, "examples"]], "ExternalLibraryException": [[5, "externallibraryexception"]], "Finally all can be loaded fom a file direcly": [[22, "Finally-all-can-be-loaded-fom-a-file-direcly"]], "First steps": [[8, "first-steps"]], "Get a dummy dataset": [[21, "Get-a-dummy-dataset"], [23, "Get-a-dummy-dataset"]], "Get current budget": [[21, "Get-current-budget"], [23, "Get-current-budget"]], "Getting dataset metadata": [[21, "Getting-dataset-metadata"], [23, "Getting-dataset-metadata"]], "Git Branches": [[0, "git-branches"]], "GitHub Workflows": [[0, "github-workflows"]], "History": [[9, "history"]], "Indices and tables": [[9, "indices-and-tables"]], "Installation": [[8, "installation"]], "Installing the Helm Chart": [[29, "installing-the-helm-chart"]], "InternalServerException": [[5, "internalserverexception"]], "Introduction": [[32, "introduction"]], "InvalidQueryException": [[5, "invalidqueryexception"]], "Kubernetes": [[29, "kubernetes"]], "Linting and Other Checks": [[0, "linting-and-other-checks"]], "Local": [[30, "local"]], "Local Access via Docker": [[27, "local-access-via-docker"]], "Lomas-server: CLI administration": [[22, "Lomas-server:-CLI-administration"]], "Lomas: Client demo": [[21, "Lomas:-Client-demo"]], "Lomas: The Data Oases Hidden Behind the Mist.": [[9, "lomas-the-data-oases-hidden-behind-the-mist"]], "Modifying the ingress Section": [[29, "modifying-the-ingress-section"]], "Modifying values.yaml": [[29, "modifying-values-yaml"]], "Module contents": [[11, "module-lomas_client"], [12, "module-lomas_server"], [13, "module-lomas_server.admin_database"], [14, "module-lomas_server.administration"], [15, "module-lomas_server.dataset_store"], [16, "module-lomas_server.dp_queries"], [17, "module-lomas_server.dp_queries.dp_libraries"], [18, "module-lomas_server.private_dataset"], [19, "module-lomas_server.tests"], [20, "module-lomas_server.utils"]], "MongoDB Administration": [[26, "mongodb-administration"]], "MongoDB Connection": [[26, "mongodb-connection"]], "Notes for Client Contributors": [[1, "notes-for-client-contributors"]], "Notes for Contributors": [[0, "notes-for-contributors"]], "Notes for Server Contributors": [[2, "notes-for-server-contributors"]], "Onyxia": [[32, "onyxia"]], "Overview": [[26, "overview"]], "Prepare the database": [[22, "Prepare-the-database"]], "Prerequisites": [[29, "prerequisites"], [30, "prerequisites"]], "Pushing a new version to Pypi": [[1, "pushing-a-new-version-to-pypi"]], "Query on dummy dataset": [[21, "Query-on-dummy-dataset"], [23, "Query-on-dummy-dataset"]], "Query on real private dataset with smartnoise-sql": [[21, "Query-on-real-private-dataset-with-smartnoise-sql"]], "Query on real private dataset with smartnoise-sql.": [[23, "Query-on-real-private-dataset-with-smartnoise-sql."]], "Quickstart": [[8, "quickstart"]], "Release Workflow": [[0, "release-workflow"]], "Remove user": [[22, "Remove-user"]], "S3 example": [[23, "S3-example"]], "Server": [[9, "server"]], "Server API": [[25, "server-api"]], "Start server": [[22, "Start-server"]], "Start the server": [[22, "Start-the-server"]], "Step 1: Install the library": [[21, "Step-1:-Install-the-library"], [23, "Step-1:-Install-the-library"]], "Step 2: Initialise the client": [[21, "Step-2:-Initialise-the-client"], [23, "Step-2:-Initialise-the-client"]], "Step 3: Understand the functionnalities of the library": [[21, "Step-3:-Understand-the-functionnalities-of-the-library"], [23, "Step-3:-Understand-the-functionnalities-of-the-library"]], "Step 4: Penguin statistics with opendp": [[21, "Step-4:-Penguin-statistics-with-opendp"]], "Step 4: Titanic statistics with opendp": [[23, "Step-4:-Titanic-statistics-with-opendp"]], "Step 5: See archives of queries": [[21, "Step-5:-See-archives-of-queries"]], "Steps to Deploy Locally": [[30, "steps-to-deploy-locally"]], "Stop the server: do not do it now !": [[22, "Stop-the-server:-do-not-do-it-now-!"]], "Submodules": [[11, "submodules"], [12, "submodules"], [13, "submodules"], [15, "submodules"], [16, "submodules"], [17, "submodules"], [18, "submodules"], [19, "submodules"], [20, "submodules"]], "Subpackages": [[12, "subpackages"], [16, "subpackages"]], "Tests": [[2, "tests"]], "UnauthorizedAccessException": [[5, "unauthorizedaccessexception"]], "Users": [[22, "Users"], [26, "users"]], "Visualise all options": [[22, "Visualise-all-options"]], "Welcome to Lomas documentation": [[10, "welcome-to-lomas-documentation"]], "lomas_client": [[7, "lomas-client"]], "lomas_client package": [[11, "lomas-client-package"]], "lomas_client.client module": [[11, "module-lomas_client.client"]], "lomas_server": [[31, "lomas-server"]], "lomas_server package": [[12, "lomas-server-package"]], "lomas_server.admin_database package": [[13, "lomas-server-admin-database-package"]], "lomas_server.admin_database.admin_database module": [[13, "module-lomas_server.admin_database.admin_database"]], "lomas_server.admin_database.mongodb_database module": [[13, "module-lomas_server.admin_database.mongodb_database"]], "lomas_server.admin_database.utils module": [[13, "module-lomas_server.admin_database.utils"]], "lomas_server.admin_database.yaml_database module": [[13, "module-lomas_server.admin_database.yaml_database"]], "lomas_server.administration package": [[14, "lomas-server-administration-package"]], "lomas_server.app module": [[12, "module-lomas_server.app"]], "lomas_server.constants module": [[12, "module-lomas_server.constants"]], "lomas_server.dataset_store package": [[15, "lomas-server-dataset-store-package"]], "lomas_server.dataset_store.basic_dataset_store module": [[15, "module-lomas_server.dataset_store.basic_dataset_store"]], "lomas_server.dataset_store.dataset_store module": [[15, "module-lomas_server.dataset_store.dataset_store"]], "lomas_server.dataset_store.lru_dataset_store module": [[15, "module-lomas_server.dataset_store.lru_dataset_store"]], "lomas_server.dataset_store.private_dataset_observer module": [[15, "module-lomas_server.dataset_store.private_dataset_observer"]], "lomas_server.dataset_store.utils module": [[15, "module-lomas_server.dataset_store.utils"]], "lomas_server.dp_queries package": [[16, "lomas-server-dp-queries-package"]], "lomas_server.dp_queries.dp_libraries package": [[17, "lomas-server-dp-queries-dp-libraries-package"]], "lomas_server.dp_queries.dp_libraries.opendp module": [[17, "module-lomas_server.dp_queries.dp_libraries.opendp"]], "lomas_server.dp_queries.dp_libraries.smartnoise_sql module": [[17, "module-lomas_server.dp_queries.dp_libraries.smartnoise_sql"]], "lomas_server.dp_queries.dp_libraries.utils module": [[17, "module-lomas_server.dp_queries.dp_libraries.utils"]], "lomas_server.dp_queries.dp_logic module": [[16, "module-lomas_server.dp_queries.dp_logic"]], "lomas_server.dp_queries.dp_querier module": [[16, "module-lomas_server.dp_queries.dp_querier"]], "lomas_server.dp_queries.dummy_dataset module": [[16, "module-lomas_server.dp_queries.dummy_dataset"]], "lomas_server.mongodb_admin module": [[12, "module-lomas_server.mongodb_admin"]], "lomas_server.mongodb_admin_cli module": [[12, "module-lomas_server.mongodb_admin_cli"]], "lomas_server.private_dataset package": [[18, "lomas-server-private-dataset-package"]], "lomas_server.private_dataset.in_memory_dataset module": [[18, "module-lomas_server.private_dataset.in_memory_dataset"]], "lomas_server.private_dataset.path_dataset module": [[18, "module-lomas_server.private_dataset.path_dataset"]], "lomas_server.private_dataset.private_dataset module": [[18, "module-lomas_server.private_dataset.private_dataset"]], "lomas_server.private_dataset.s3_dataset module": [[18, "module-lomas_server.private_dataset.s3_dataset"]], "lomas_server.private_dataset.utils module": [[18, "module-lomas_server.private_dataset.utils"]], "lomas_server.tests package": [[19, "lomas-server-tests-package"]], "lomas_server.tests.constants module": [[19, "module-lomas_server.tests.constants"]], "lomas_server.tests.test_api module": [[19, "module-lomas_server.tests.test_api"]], "lomas_server.tests.test_dummy_generation module": [[19, "module-lomas_server.tests.test_dummy_generation"]], "lomas_server.tests.test_mongodb_admin module": [[19, "module-lomas_server.tests.test_mongodb_admin"]], "lomas_server.tests.test_mongodb_admin_cli module": [[19, "module-lomas_server.tests.test_mongodb_admin_cli"]], "lomas_server.utils package": [[20, "lomas-server-utils-package"]], "lomas_server.utils.anti_timing_att module": [[20, "module-lomas_server.utils.anti_timing_att"]], "lomas_server.utils.collections_models module": [[20, "module-lomas_server.utils.collections_models"]], "lomas_server.utils.config module": [[20, "module-lomas_server.utils.config"]], "lomas_server.utils.error_handler module": [[20, "module-lomas_server.utils.error_handler"]], "lomas_server.utils.example_inputs module": [[20, "module-lomas_server.utils.example_inputs"]], "lomas_server.utils.input_models module": [[20, "module-lomas_server.utils.input_models"]], "lomas_server.utils.loggr module": [[20, "module-lomas_server.utils.loggr"]], "lomas_server.utils.utils module": [[20, "module-lomas_server.utils.utils"]], "lomas_server.uvicorn_serve module": [[12, "module-lomas_server.uvicorn_serve"]]}, "docnames": ["CONTRIBUTING", "CONTRIBUTING_CLIENT", "CONTRIBUTING_SERVER", "api", "client_api", "client_errors", "client_examples", "client_modules", "client_quickstart", "index", "index_under_construction", "lomas_client", "lomas_server", "lomas_server.admin_database", "lomas_server.administration", "lomas_server.dataset_store", "lomas_server.dp_queries", "lomas_server.dp_queries.dp_libraries", "lomas_server.private_dataset", "lomas_server.tests", "lomas_server.utils", "notebooks/Demo_Client_Notebook", "notebooks/local_admin_notebook", "notebooks/s3_example_notebook", "server_administration", "server_api", "server_cli", "server_dashboard", "server_deployment", "server_kubernetes", "server_local", "server_modules", "server_onyxia"], "envversion": {"nbsphinx": 4, "sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["CONTRIBUTING.md", "CONTRIBUTING_CLIENT.md", "CONTRIBUTING_SERVER.md", "api.rst", "client_api.rst", "client_errors.rst", "client_examples.rst", "client_modules.rst", "client_quickstart.rst", "index.rst", "index_under_construction.rst", "lomas_client.rst", "lomas_server.rst", "lomas_server.admin_database.rst", "lomas_server.administration.rst", "lomas_server.dataset_store.rst", "lomas_server.dp_queries.rst", "lomas_server.dp_queries.dp_libraries.rst", "lomas_server.private_dataset.rst", "lomas_server.tests.rst", "lomas_server.utils.rst", "notebooks/Demo_Client_Notebook.ipynb", "notebooks/local_admin_notebook.ipynb", "notebooks/s3_example_notebook.ipynb", "server_administration.rst", "server_api.rst", "server_cli.rst", "server_dashboard.rst", "server_deployment.rst", "server_kubernetes.rst", "server_local.rst", "server_modules.rst", "server_onyxia.rst"], "indexentries": {"add_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_dataset", false]], "add_dataset_to_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_dataset_to_user", false]], "add_datasets_via_yaml() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_datasets_via_yaml", false]], "add_demo_data_to_admindb() (in module lomas_server.utils.utils)": [[20, "lomas_server.utils.utils.add_demo_data_to_admindb", false]], "add_exception_handlers() (in module lomas_server.utils.error_handler)": [[20, "lomas_server.utils.error_handler.add_exception_handlers", false]], "add_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_user", false]], "add_user_with_budget() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_user_with_budget", false]], "add_users_via_yaml() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_users_via_yaml", false]], "address (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.address", false]], "admin_database (lomas_server.dataset_store.dataset_store.datasetstore attribute)": [[15, "lomas_server.dataset_store.dataset_store.DatasetStore.admin_database", false]], "admin_database (lomas_server.dp_queries.dp_logic.queryhandler attribute)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler.admin_database", false]], "admin_database (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.admin_database", false]], "admindatabase (class in lomas_server.admin_database.admin_database)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase", false]], "admindbtype (class in lomas_server.constants)": [[12, "lomas_server.constants.AdminDBType", false]], "adminmongodatabase (class in lomas_server.admin_database.mongodb_database)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase", false]], "adminyamldatabase (class in lomas_server.admin_database.yaml_database)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase", false]], "anti_timing_att() (in module lomas_server.utils.anti_timing_att)": [[20, "lomas_server.utils.anti_timing_att.anti_timing_att", false]], "aws_access_key_id (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.aws_access_key_id", false]], "aws_access_key_id (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.aws_access_key_id", false]], "aws_secret_access_key (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.aws_secret_access_key", false]], "aws_secret_access_key (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.aws_secret_access_key", false]], "basic (lomas_server.constants.datasetstoretype attribute)": [[12, "lomas_server.constants.DatasetStoreType.BASIC", false]], "basicdatasetstore (class in lomas_server.dataset_store.basic_dataset_store)": [[15, "lomas_server.dataset_store.basic_dataset_store.BasicDatasetStore", false]], "change_one_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.CHANGE_ONE_DISTANCE", false]], "check_dataset_and_metadata_exist() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.check_dataset_and_metadata_exist", false]], "check_result_acknowledged() (in module lomas_server.admin_database.mongodb_database)": [[13, "lomas_server.admin_database.mongodb_database.check_result_acknowledged", false]], "check_user_exists() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.check_user_exists", false]], "check_user_has_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.check_user_has_dataset", false]], "client (class in lomas_client.client)": [[11, "lomas_client.client.Client", false]], "columns (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.columns", false]], "config (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.Config", false]], "configkeys (class in lomas_server.constants)": [[12, "lomas_server.constants.ConfigKeys", false]], "configloader (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.ConfigLoader", false]], "contrib (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.contrib", false]], "cost() (lomas_server.dp_queries.dp_libraries.opendp.opendpquerier method)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.OpenDPQuerier.cost", false]], "cost() (lomas_server.dp_queries.dp_libraries.smartnoise_sql.smartnoisesqlquerier method)": [[17, "lomas_server.dp_queries.dp_libraries.smartnoise_sql.SmartnoiseSQLQuerier.cost", false]], "cost() (lomas_server.dp_queries.dp_querier.dpquerier method)": [[16, "lomas_server.dp_queries.dp_querier.DPQuerier.cost", false]], "database_factory() (in module lomas_server.admin_database.utils)": [[13, "lomas_server.admin_database.utils.database_factory", false]], "database_type (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.database_type", false]], "database_type (lomas_server.utils.collections_models.metadataofdataset attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset.database_type", false]], "dataset (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.Dataset", false]], "dataset_cache (lomas_server.dataset_store.lru_dataset_store.lrudatasetstore attribute)": [[15, "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore.dataset_cache", false]], "dataset_must_exist() (in module lomas_server.admin_database.admin_database)": [[13, "lomas_server.admin_database.admin_database.dataset_must_exist", false]], "dataset_name (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.dataset_name", false]], "dataset_name (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.getdbdata attribute)": [[20, "lomas_server.utils.input_models.GetDbData.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.dataset_name", false]], "dataset_path (lomas_server.utils.collections_models.datasetofpathdb attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB.dataset_path", false]], "dataset_store (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DATASET_STORE", false]], "dataset_store (lomas_server.dp_queries.dp_logic.queryhandler attribute)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler.dataset_store", false]], "dataset_store (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.dataset_store", false]], "dataset_store_factory() (in module lomas_server.dataset_store.utils)": [[15, "lomas_server.dataset_store.utils.dataset_store_factory", false]], "dataset_store_type (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DATASET_STORE_TYPE", false]], "datasetofpathdb (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB", false]], "datasetofs3db (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB", false]], "datasetofuser (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.DatasetOfUser", false]], "datasets (lomas_server.utils.collections_models.datasetscollection attribute)": [[20, "lomas_server.utils.collections_models.DatasetsCollection.datasets", false]], "datasets_list (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.datasets_list", false]], "datasetscollection (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.DatasetsCollection", false]], "datasetstore (class in lomas_server.dataset_store.dataset_store)": [[15, "lomas_server.dataset_store.dataset_store.DatasetStore", false]], "datasetstoreconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.DatasetStoreConfig", false]], "datasetstoretype (class in lomas_server.constants)": [[12, "lomas_server.constants.DatasetStoreType", false]], "db (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DB", false]], "db_file (lomas_server.utils.config.yamldbconfig attribute)": [[20, "lomas_server.utils.config.YamlDBConfig.db_file", false]], "db_name (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.db_name", false]], "db_type (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DB_TYPE", false]], "db_type (lomas_server.utils.config.dbconfig attribute)": [[20, "lomas_server.utils.config.DBConfig.db_type", false]], "db_type_mongodb (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DB_TYPE_MONGODB", false]], "dbconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.DBConfig", false]], "del_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.del_dataset", false]], "del_dataset_to_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.del_dataset_to_user", false]], "del_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.del_user", false]], "delta (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.delta", false]], "delta (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.delta", false]], "delta (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.delta", false]], "develop_mode (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DEVELOP_MODE", false]], "develop_mode (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.develop_mode", false]], "df (lomas_server.private_dataset.private_dataset.privatedataset attribute)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.df", false]], "does_dataset_exist() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.does_dataset_exist", false]], "does_dataset_exist() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.does_dataset_exist", false]], "does_dataset_exist() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.does_dataset_exist", false]], "does_user_exist() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.does_user_exist", false]], "does_user_exist() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.does_user_exist", false]], "does_user_exist() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.does_user_exist", false]], "dp_libraries (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.dp_libraries", false]], "dp_library (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DP_LIBRARY", false]], "dp_queriers (lomas_server.dataset_store.basic_dataset_store.basicdatasetstore attribute)": [[15, "lomas_server.dataset_store.basic_dataset_store.BasicDatasetStore.dp_queriers", false]], "dplibraries (class in lomas_client.client)": [[11, "lomas_client.client.DPLibraries", false]], "dplibraries (class in lomas_server.constants)": [[12, "lomas_server.constants.DPLibraries", false]], "dplibraryconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.DPLibraryConfig", false]], "dpquerier (class in lomas_server.dp_queries.dp_querier)": [[16, "lomas_server.dp_queries.dp_querier.DPQuerier", false]], "drop_collection() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.drop_collection", false]], "ds_store_type (lomas_server.utils.config.datasetstoreconfig attribute)": [[20, "lomas_server.utils.config.DatasetStoreConfig.ds_store_type", false]], "dummy_nb_rows (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.dummy_nb_rows", false]], "dummy_nb_rows (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.dummy_nb_rows", false]], "dummy_nb_rows (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.dummy_nb_rows", false]], "dummy_opendp_query_handler() (in module lomas_server.app)": [[12, "lomas_server.app.dummy_opendp_query_handler", false]], "dummy_seed (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.dummy_seed", false]], "dummy_seed (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.dummy_seed", false]], "dummy_seed (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.dummy_seed", false]], "dummy_smartnoise_sql_handler() (in module lomas_server.app)": [[12, "lomas_server.app.dummy_smartnoise_sql_handler", false]], "dummyopendpinp (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp", false]], "dummysnsqlinp (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.DummySNSQLInp", false]], "endpoint_url (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.endpoint_url", false]], "endpoint_url (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.endpoint_url", false]], "epsilon (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.epsilon", false]], "epsilon (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.epsilon", false]], "epsilon (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.epsilon", false]], "error_message() (in module lomas_client.client)": [[11, "lomas_client.client.error_message", false]], "estimate_cost() (lomas_server.dp_queries.dp_logic.queryhandler method)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler.estimate_cost", false]], "estimate_opendp_cost() (in module lomas_server.app)": [[12, "lomas_server.app.estimate_opendp_cost", false]], "estimate_opendp_cost() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.estimate_opendp_cost", false]], "estimate_smartnoise_cost() (in module lomas_server.app)": [[12, "lomas_server.app.estimate_smartnoise_cost", false]], "estimate_smartnoise_cost() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.estimate_smartnoise_cost", false]], "externallibraryexception": [[20, "lomas_server.utils.error_handler.ExternalLibraryException", false]], "fixed_delta (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.fixed_delta", false]], "fixed_delta (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.fixed_delta", false]], "fixed_smoothed_max_divergence (lomas_server.constants.opendpmeasurement attribute)": [[12, "lomas_server.constants.OpenDPMeasurement.FIXED_SMOOTHED_MAX_DIVERGENCE", false]], "floating_point (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.floating_point", false]], "get_and_set_may_user_query() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_and_set_may_user_query", false]], "get_and_set_may_user_query() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_and_set_may_user_query", false]], "get_and_set_may_user_query() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_and_set_may_user_query", false]], "get_config() (in module lomas_server.utils.config)": [[20, "lomas_server.utils.config.get_config", false]], "get_config() (lomas_server.utils.config.configloader method)": [[20, "lomas_server.utils.config.ConfigLoader.get_config", false]], "get_dataset_field() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_dataset_field", false]], "get_dataset_field() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_dataset_field", false]], "get_dataset_field() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_dataset_field", false]], "get_dataset_metadata() (in module lomas_server.app)": [[12, "lomas_server.app.get_dataset_metadata", false]], "get_dataset_metadata() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_dataset_metadata", false]], "get_dataset_metadata() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_dataset_metadata", false]], "get_dataset_metadata() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_dataset_metadata", false]], "get_dataset_metadata() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_dataset_metadata", false]], "get_dummy_dataset() (in module lomas_server.app)": [[12, "lomas_server.app.get_dummy_dataset", false]], "get_dummy_dataset() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_dummy_dataset", false]], "get_dummy_dataset_for_query() (in module lomas_server.dp_queries.dummy_dataset)": [[16, "lomas_server.dp_queries.dummy_dataset.get_dummy_dataset_for_query", false]], "get_epsilon_or_delta() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_epsilon_or_delta", false]], "get_epsilon_or_delta() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_epsilon_or_delta", false]], "get_epsilon_or_delta() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_epsilon_or_delta", false]], "get_initial_budget() (in module lomas_server.app)": [[12, "lomas_server.app.get_initial_budget", false]], "get_initial_budget() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_initial_budget", false]], "get_initial_budget() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_initial_budget", false]], "get_list_of_datasets() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.get_list_of_datasets", false]], "get_list_of_datasets_from_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.get_list_of_datasets_from_user", false]], "get_list_of_users() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.get_list_of_users", false]], "get_memory_usage() (in module lomas_server.app)": [[12, "lomas_server.app.get_memory_usage", false]], "get_memory_usage() (lomas_server.private_dataset.private_dataset.privatedataset method)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.get_memory_usage", false]], "get_metadata() (lomas_server.private_dataset.private_dataset.privatedataset method)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.get_metadata", false]], "get_mongodb() (in module lomas_server.admin_database.utils)": [[13, "lomas_server.admin_database.utils.get_mongodb", false]], "get_mongodb_url() (in module lomas_server.admin_database.utils)": [[13, "lomas_server.admin_database.utils.get_mongodb_url", false]], "get_output_measure() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.get_output_measure", false]], "get_pandas_df() (lomas_server.private_dataset.in_memory_dataset.inmemorydataset method)": [[18, "lomas_server.private_dataset.in_memory_dataset.InMemoryDataset.get_pandas_df", false]], "get_pandas_df() (lomas_server.private_dataset.path_dataset.pathdataset method)": [[18, "lomas_server.private_dataset.path_dataset.PathDataset.get_pandas_df", false]], "get_pandas_df() (lomas_server.private_dataset.private_dataset.privatedataset method)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.get_pandas_df", false]], "get_pandas_df() (lomas_server.private_dataset.s3_dataset.s3dataset method)": [[18, "lomas_server.private_dataset.s3_dataset.S3Dataset.get_pandas_df", false]], "get_previous_queries() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_previous_queries", false]], "get_querier() (lomas_server.dataset_store.basic_dataset_store.basicdatasetstore method)": [[15, "lomas_server.dataset_store.basic_dataset_store.BasicDatasetStore.get_querier", false]], "get_querier() (lomas_server.dataset_store.dataset_store.datasetstore method)": [[15, "lomas_server.dataset_store.dataset_store.DatasetStore.get_querier", false]], "get_querier() (lomas_server.dataset_store.lru_dataset_store.lrudatasetstore method)": [[15, "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore.get_querier", false]], "get_remaining_budget() (in module lomas_server.app)": [[12, "lomas_server.app.get_remaining_budget", false]], "get_remaining_budget() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_remaining_budget", false]], "get_remaining_budget() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_remaining_budget", false]], "get_state() (in module lomas_server.app)": [[12, "lomas_server.app.get_state", false]], "get_total_spent_budget() (in module lomas_server.app)": [[12, "lomas_server.app.get_total_spent_budget", false]], "get_total_spent_budget() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_total_spent_budget", false]], "get_total_spent_budget() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_total_spent_budget", false]], "get_user_previous_queries() (in module lomas_server.app)": [[12, "lomas_server.app.get_user_previous_queries", false]], "get_user_previous_queries() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_user_previous_queries", false]], "get_user_previous_queries() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_user_previous_queries", false]], "get_user_previous_queries() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_user_previous_queries", false]], "getdbdata (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.GetDbData", false]], "getdummydataset (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.GetDummyDataset", false]], "hamming_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.HAMMING_DISTANCE", false]], "handle_query() (lomas_server.dp_queries.dp_logic.queryhandler method)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler.handle_query", false]], "has_dataset_input_metric() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.has_dataset_input_metric", false]], "has_user_access_to_dataset() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.has_user_access_to_dataset", false]], "has_user_access_to_dataset() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.has_user_access_to_dataset", false]], "has_user_access_to_dataset() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.has_user_access_to_dataset", false]], "honest_but_curious (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.honest_but_curious", false]], "host_ip (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.host_ip", false]], "host_port (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.host_port", false]], "initial_delta (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.initial_delta", false]], "initial_epsilon (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.initial_epsilon", false]], "inmemorydataset (class in lomas_server.private_dataset.in_memory_dataset)": [[18, "lomas_server.private_dataset.in_memory_dataset.InMemoryDataset", false]], "insert_delete_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.INSERT_DELETE_DISTANCE", false]], "int_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.INT_DISTANCE", false]], "internalserverexception": [[20, "lomas_server.utils.error_handler.InternalServerException", false]], "invalidqueryexception": [[20, "lomas_server.utils.error_handler.InvalidQueryException", false]], "is_measurement() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.is_measurement", false]], "jitter (lomas_server.constants.timeattackmethod attribute)": [[12, "lomas_server.constants.TimeAttackMethod.JITTER", false]], "lifespan() (in module lomas_server.app)": [[12, "lomas_server.app.lifespan", false]], "load_config() (lomas_server.utils.config.configloader method)": [[20, "lomas_server.utils.config.ConfigLoader.load_config", false]], "log_level (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.log_level", false]], "lomas_client": [[11, "module-lomas_client", false]], "lomas_client.client": [[11, "module-lomas_client.client", false]], "lomas_server": [[12, "module-lomas_server", false]], "lomas_server.admin_database": [[13, "module-lomas_server.admin_database", false]], "lomas_server.admin_database.admin_database": [[13, "module-lomas_server.admin_database.admin_database", false]], "lomas_server.admin_database.mongodb_database": [[13, "module-lomas_server.admin_database.mongodb_database", false]], "lomas_server.admin_database.utils": [[13, "module-lomas_server.admin_database.utils", false]], "lomas_server.admin_database.yaml_database": [[13, "module-lomas_server.admin_database.yaml_database", false]], "lomas_server.administration": [[14, "module-lomas_server.administration", false]], "lomas_server.app": [[12, "module-lomas_server.app", false]], "lomas_server.constants": [[12, "module-lomas_server.constants", false]], "lomas_server.dataset_store": [[15, "module-lomas_server.dataset_store", false]], "lomas_server.dataset_store.basic_dataset_store": [[15, "module-lomas_server.dataset_store.basic_dataset_store", false]], "lomas_server.dataset_store.dataset_store": [[15, "module-lomas_server.dataset_store.dataset_store", false]], "lomas_server.dataset_store.lru_dataset_store": [[15, "module-lomas_server.dataset_store.lru_dataset_store", false]], "lomas_server.dataset_store.private_dataset_observer": [[15, "module-lomas_server.dataset_store.private_dataset_observer", false]], "lomas_server.dataset_store.utils": [[15, "module-lomas_server.dataset_store.utils", false]], "lomas_server.dp_queries": [[16, "module-lomas_server.dp_queries", false]], "lomas_server.dp_queries.dp_libraries": [[17, "module-lomas_server.dp_queries.dp_libraries", false]], "lomas_server.dp_queries.dp_libraries.opendp": [[17, "module-lomas_server.dp_queries.dp_libraries.opendp", false]], "lomas_server.dp_queries.dp_libraries.smartnoise_sql": [[17, "module-lomas_server.dp_queries.dp_libraries.smartnoise_sql", false]], "lomas_server.dp_queries.dp_libraries.utils": [[17, "module-lomas_server.dp_queries.dp_libraries.utils", false]], "lomas_server.dp_queries.dp_logic": [[16, "module-lomas_server.dp_queries.dp_logic", false]], "lomas_server.dp_queries.dp_querier": [[16, "module-lomas_server.dp_queries.dp_querier", false]], "lomas_server.dp_queries.dummy_dataset": [[16, "module-lomas_server.dp_queries.dummy_dataset", false]], "lomas_server.mongodb_admin": [[12, "module-lomas_server.mongodb_admin", false]], "lomas_server.mongodb_admin_cli": [[12, "module-lomas_server.mongodb_admin_cli", false]], "lomas_server.private_dataset": [[18, "module-lomas_server.private_dataset", false]], "lomas_server.private_dataset.in_memory_dataset": [[18, "module-lomas_server.private_dataset.in_memory_dataset", false]], "lomas_server.private_dataset.path_dataset": [[18, "module-lomas_server.private_dataset.path_dataset", false]], "lomas_server.private_dataset.private_dataset": [[18, "module-lomas_server.private_dataset.private_dataset", false]], "lomas_server.private_dataset.s3_dataset": [[18, "module-lomas_server.private_dataset.s3_dataset", false]], "lomas_server.private_dataset.utils": [[18, "module-lomas_server.private_dataset.utils", false]], "lomas_server.tests": [[19, "module-lomas_server.tests", false]], "lomas_server.tests.constants": [[19, "module-lomas_server.tests.constants", false]], "lomas_server.tests.test_api": [[19, "module-lomas_server.tests.test_api", false]], "lomas_server.tests.test_dummy_generation": [[19, "module-lomas_server.tests.test_dummy_generation", false]], "lomas_server.tests.test_mongodb_admin": [[19, "module-lomas_server.tests.test_mongodb_admin", false]], "lomas_server.tests.test_mongodb_admin_cli": [[19, "module-lomas_server.tests.test_mongodb_admin_cli", false]], "lomas_server.utils": [[20, "module-lomas_server.utils", false]], "lomas_server.utils.anti_timing_att": [[20, "module-lomas_server.utils.anti_timing_att", false]], "lomas_server.utils.collections_models": [[20, "module-lomas_server.utils.collections_models", false]], "lomas_server.utils.config": [[20, "module-lomas_server.utils.config", false]], "lomas_server.utils.error_handler": [[20, "module-lomas_server.utils.error_handler", false]], "lomas_server.utils.example_inputs": [[20, "module-lomas_server.utils.example_inputs", false]], "lomas_server.utils.input_models": [[20, "module-lomas_server.utils.input_models", false]], "lomas_server.utils.loggr": [[20, "module-lomas_server.utils.loggr", false]], "lomas_server.utils.utils": [[20, "module-lomas_server.utils.utils", false]], "lomas_server.uvicorn_serve": [[12, "module-lomas_server.uvicorn_serve", false]], "lru (lomas_server.constants.datasetstoretype attribute)": [[12, "lomas_server.constants.DatasetStoreType.LRU", false]], "lru_dataset_store_max_size (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.LRU_DATASET_STORE_MAX_SIZE", false]], "lrudatasetstore (class in lomas_server.dataset_store.lru_dataset_store)": [[15, "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore", false]], "lrudatasetstoreconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig", false]], "magnitude (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.magnitude", false]], "make_dummy_dataset() (in module lomas_server.dp_queries.dummy_dataset)": [[16, "lomas_server.dp_queries.dummy_dataset.make_dummy_dataset", false]], "max_divergence (lomas_server.constants.opendpmeasurement attribute)": [[12, "lomas_server.constants.OpenDPMeasurement.MAX_DIVERGENCE", false]], "max_ids (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.max_ids", false]], "max_memory_usage (lomas_server.utils.config.lrudatasetstoreconfig attribute)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig.max_memory_usage", false]], "may_query (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.may_query", false]], "mechanisms (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.mechanisms", false]], "mechanisms (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.mechanisms", false]], "mechanisms (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.mechanisms", false]], "metadata (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.Metadata", false]], "metadata (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.metadata", false]], "metadata_path (lomas_server.utils.collections_models.metadataofpathdb attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB.metadata_path", false]], "metadataofdataset (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset", false]], "metadataofpathdb (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB", false]], "metadataofs3db (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB", false]], "method (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.method", false]], "middleware() (in module lomas_server.app)": [[12, "lomas_server.app.middleware", false]], "model_computed_fields (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.datasetofpathdb attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.datasetscollection attribute)": [[20, "lomas_server.utils.collections_models.DatasetsCollection.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.metadataofdataset attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.metadataofpathdb attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.usercollection attribute)": [[20, "lomas_server.utils.collections_models.UserCollection.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.datasetstoreconfig attribute)": [[20, "lomas_server.utils.config.DatasetStoreConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.dbconfig attribute)": [[20, "lomas_server.utils.config.DBConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.dplibraryconfig attribute)": [[20, "lomas_server.utils.config.DPLibraryConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.lrudatasetstoreconfig attribute)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.yamldbconfig attribute)": [[20, "lomas_server.utils.config.YamlDBConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.getdbdata attribute)": [[20, "lomas_server.utils.input_models.GetDbData.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.model_computed_fields", false]], "model_config (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.model_config", false]], "model_config (lomas_server.utils.collections_models.datasetofpathdb attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB.model_config", false]], "model_config (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.model_config", false]], "model_config (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.model_config", false]], "model_config (lomas_server.utils.collections_models.datasetscollection attribute)": [[20, "lomas_server.utils.collections_models.DatasetsCollection.model_config", false]], "model_config (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.model_config", false]], "model_config (lomas_server.utils.collections_models.metadataofdataset attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset.model_config", false]], "model_config (lomas_server.utils.collections_models.metadataofpathdb attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB.model_config", false]], "model_config (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.model_config", false]], "model_config (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.model_config", false]], "model_config (lomas_server.utils.collections_models.usercollection attribute)": [[20, "lomas_server.utils.collections_models.UserCollection.model_config", false]], "model_config (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.model_config", false]], "model_config (lomas_server.utils.config.datasetstoreconfig attribute)": [[20, "lomas_server.utils.config.DatasetStoreConfig.model_config", false]], "model_config (lomas_server.utils.config.dbconfig attribute)": [[20, "lomas_server.utils.config.DBConfig.model_config", false]], "model_config (lomas_server.utils.config.dplibraryconfig attribute)": [[20, "lomas_server.utils.config.DPLibraryConfig.model_config", false]], "model_config (lomas_server.utils.config.lrudatasetstoreconfig attribute)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig.model_config", false]], "model_config (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.model_config", false]], "model_config (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.model_config", false]], "model_config (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.model_config", false]], "model_config (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.model_config", false]], "model_config (lomas_server.utils.config.yamldbconfig attribute)": [[20, "lomas_server.utils.config.YamlDBConfig.model_config", false]], "model_config (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.model_config", false]], "model_config (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.model_config", false]], "model_config (lomas_server.utils.input_models.getdbdata attribute)": [[20, "lomas_server.utils.input_models.GetDbData.model_config", false]], "model_config (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.model_config", false]], "model_config (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.model_config", false]], "model_config (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.model_config", false]], "model_config (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.model_config", false]], "model_fields (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.model_fields", false]], "model_fields (lomas_server.utils.collections_models.datasetofpathdb attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB.model_fields", false]], "model_fields (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.model_fields", false]], "model_fields (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.model_fields", false]], "model_fields (lomas_server.utils.collections_models.datasetscollection attribute)": [[20, "lomas_server.utils.collections_models.DatasetsCollection.model_fields", false]], "model_fields (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.model_fields", false]], "model_fields (lomas_server.utils.collections_models.metadataofdataset attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset.model_fields", false]], "model_fields (lomas_server.utils.collections_models.metadataofpathdb attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB.model_fields", false]], "model_fields (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.model_fields", false]], "model_fields (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.model_fields", false]], "model_fields (lomas_server.utils.collections_models.usercollection attribute)": [[20, "lomas_server.utils.collections_models.UserCollection.model_fields", false]], "model_fields (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.model_fields", false]], "model_fields (lomas_server.utils.config.datasetstoreconfig attribute)": [[20, "lomas_server.utils.config.DatasetStoreConfig.model_fields", false]], "model_fields (lomas_server.utils.config.dbconfig attribute)": [[20, "lomas_server.utils.config.DBConfig.model_fields", false]], "model_fields (lomas_server.utils.config.dplibraryconfig attribute)": [[20, "lomas_server.utils.config.DPLibraryConfig.model_fields", false]], "model_fields (lomas_server.utils.config.lrudatasetstoreconfig attribute)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig.model_fields", false]], "model_fields (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.model_fields", false]], "model_fields (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.model_fields", false]], "model_fields (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.model_fields", false]], "model_fields (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.model_fields", false]], "model_fields (lomas_server.utils.config.yamldbconfig attribute)": [[20, "lomas_server.utils.config.YamlDBConfig.model_fields", false]], "model_fields (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.model_fields", false]], "model_fields (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.model_fields", false]], "model_fields (lomas_server.utils.input_models.getdbdata attribute)": [[20, "lomas_server.utils.input_models.GetDbData.model_fields", false]], "model_fields (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.model_fields", false]], "model_fields (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.model_fields", false]], "model_fields (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.model_fields", false]], "model_fields (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.model_fields", false]], "module": [[11, "module-lomas_client", false], [11, "module-lomas_client.client", false], [12, "module-lomas_server", false], [12, "module-lomas_server.app", false], [12, "module-lomas_server.constants", false], [12, "module-lomas_server.mongodb_admin", false], [12, "module-lomas_server.mongodb_admin_cli", false], [12, "module-lomas_server.uvicorn_serve", false], [13, "module-lomas_server.admin_database", false], [13, "module-lomas_server.admin_database.admin_database", false], [13, "module-lomas_server.admin_database.mongodb_database", false], [13, "module-lomas_server.admin_database.utils", false], [13, "module-lomas_server.admin_database.yaml_database", false], [14, "module-lomas_server.administration", false], [15, "module-lomas_server.dataset_store", false], [15, "module-lomas_server.dataset_store.basic_dataset_store", false], [15, "module-lomas_server.dataset_store.dataset_store", false], [15, "module-lomas_server.dataset_store.lru_dataset_store", false], [15, "module-lomas_server.dataset_store.private_dataset_observer", false], [15, "module-lomas_server.dataset_store.utils", false], [16, "module-lomas_server.dp_queries", false], [16, "module-lomas_server.dp_queries.dp_logic", false], [16, "module-lomas_server.dp_queries.dp_querier", false], [16, "module-lomas_server.dp_queries.dummy_dataset", false], [17, "module-lomas_server.dp_queries.dp_libraries", false], [17, "module-lomas_server.dp_queries.dp_libraries.opendp", false], [17, "module-lomas_server.dp_queries.dp_libraries.smartnoise_sql", false], [17, "module-lomas_server.dp_queries.dp_libraries.utils", false], [18, "module-lomas_server.private_dataset", false], [18, "module-lomas_server.private_dataset.in_memory_dataset", false], [18, "module-lomas_server.private_dataset.path_dataset", false], [18, "module-lomas_server.private_dataset.private_dataset", false], [18, "module-lomas_server.private_dataset.s3_dataset", false], [18, "module-lomas_server.private_dataset.utils", false], [19, "module-lomas_server.tests", false], [19, "module-lomas_server.tests.constants", false], [19, "module-lomas_server.tests.test_api", false], [19, "module-lomas_server.tests.test_dummy_generation", false], [19, "module-lomas_server.tests.test_mongodb_admin", false], [19, "module-lomas_server.tests.test_mongodb_admin_cli", false], [20, "module-lomas_server.utils", false], [20, "module-lomas_server.utils.anti_timing_att", false], [20, "module-lomas_server.utils.collections_models", false], [20, "module-lomas_server.utils.config", false], [20, "module-lomas_server.utils.error_handler", false], [20, "module-lomas_server.utils.example_inputs", false], [20, "module-lomas_server.utils.input_models", false], [20, "module-lomas_server.utils.loggr", false], [20, "module-lomas_server.utils.utils", false]], "mongodb (lomas_server.constants.admindbtype attribute)": [[12, "lomas_server.constants.AdminDBType.MONGODB", false]], "mongodb_addr (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.MONGODB_ADDR", false]], "mongodb_port (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.MONGODB_PORT", false]], "mongodbconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.MongoDBConfig", false]], "opendp (lomas_client.client.dplibraries attribute)": [[11, "lomas_client.client.DPLibraries.OPENDP", false]], "opendp (lomas_server.constants.dplibraries attribute)": [[12, "lomas_server.constants.DPLibraries.OPENDP", false]], "opendp (lomas_server.utils.config.dplibraryconfig attribute)": [[20, "lomas_server.utils.config.DPLibraryConfig.opendp", false]], "opendp_json (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.opendp_json", false]], "opendp_json (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.opendp_json", false]], "opendp_query() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.opendp_query", false]], "opendp_query_handler() (in module lomas_server.app)": [[12, "lomas_server.app.opendp_query_handler", false]], "opendpconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.OpenDPConfig", false]], "opendpdatasetinputmetric (class in lomas_server.constants)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric", false]], "opendpinp (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.OpenDPInp", false]], "opendpmeasurement (class in lomas_server.constants)": [[12, "lomas_server.constants.OpenDPMeasurement", false]], "opendpquerier (class in lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.OpenDPQuerier", false]], "password (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.password", false]], "path (lomas_server.constants.privatedatabasetype attribute)": [[12, "lomas_server.constants.PrivateDatabaseType.PATH", false]], "pathdataset (class in lomas_server.private_dataset.path_dataset)": [[18, "lomas_server.private_dataset.path_dataset.PathDataset", false]], "port (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.port", false]], "postprocess (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.postprocess", false]], "postprocess (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.postprocess", false]], "prepare_save_query() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.prepare_save_query", false]], "private_dataset_factory() (in module lomas_server.private_dataset.utils)": [[18, "lomas_server.private_dataset.utils.private_dataset_factory", false]], "privatedatabasetype (class in lomas_server.constants)": [[12, "lomas_server.constants.PrivateDatabaseType", false]], "privatedataset (class in lomas_server.private_dataset.private_dataset)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset", false]], "privatedatasetobserver (class in lomas_server.dataset_store.private_dataset_observer)": [[15, "lomas_server.dataset_store.private_dataset_observer.PrivateDatasetObserver", false]], "querier_factory() (in module lomas_server.dp_queries.dp_libraries.utils)": [[17, "lomas_server.dp_queries.dp_libraries.utils.querier_factory", false]], "query() (lomas_server.dp_queries.dp_libraries.opendp.opendpquerier method)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.OpenDPQuerier.query", false]], "query() (lomas_server.dp_queries.dp_libraries.smartnoise_sql.smartnoisesqlquerier method)": [[17, "lomas_server.dp_queries.dp_libraries.smartnoise_sql.SmartnoiseSQLQuerier.query", false]], "query() (lomas_server.dp_queries.dp_querier.dpquerier method)": [[16, "lomas_server.dp_queries.dp_querier.DPQuerier.query", false]], "query_str (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.query_str", false]], "query_str (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.query_str", false]], "query_str (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.query_str", false]], "queryhandler (class in lomas_server.dp_queries.dp_logic)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler", false]], "reconstruct_measurement_pipeline() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.reconstruct_measurement_pipeline", false]], "reload (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.reload", false]], "root() (in module lomas_server.app)": [[12, "lomas_server.app.root", false]], "row_privacy (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.row_privacy", false]], "run_cli_command() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.run_cli_command", false]], "runtime_args (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.RUNTIME_ARGS", false]], "s3 (lomas_server.constants.privatedatabasetype attribute)": [[12, "lomas_server.constants.PrivateDatabaseType.S3", false]], "s3_bucket (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.s3_bucket", false]], "s3_bucket (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.s3_bucket", false]], "s3_key (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.s3_key", false]], "s3_key (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.s3_key", false]], "s3dataset (class in lomas_server.private_dataset.s3_dataset)": [[18, "lomas_server.private_dataset.s3_dataset.S3Dataset", false]], "save_current_database() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.save_current_database", false]], "save_query() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.save_query", false]], "save_query() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.save_query", false]], "save_query() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.save_query", false]], "server (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.Server", false]], "server (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.SERVER", false]], "server (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.server", false]], "server_live() (in module lomas_server.utils.utils)": [[20, "lomas_server.utils.utils.server_live", false]], "set_budget_field() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.set_budget_field", false]], "set_config() (lomas_server.utils.config.configloader method)": [[20, "lomas_server.utils.config.ConfigLoader.set_config", false]], "set_may_query() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.set_may_query", false]], "set_may_user_query() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.set_may_user_query", false]], "set_may_user_query() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.set_may_user_query", false]], "set_may_user_query() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.set_may_user_query", false]], "set_mechanisms() (in module lomas_server.dp_queries.dp_libraries.smartnoise_sql)": [[17, "lomas_server.dp_queries.dp_libraries.smartnoise_sql.set_mechanisms", false]], "set_opendp_features_config() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.set_opendp_features_config", false]], "settings (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.SETTINGS", false]], "setup() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.setUp", false]], "setupclass() (lomas_server.tests.test_api.testrootapiendpoint class method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.setUpClass", false]], "setupclass() (lomas_server.tests.test_mongodb_admin.testmongodbadmin class method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.setUpClass", false]], "setupclass() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin class method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.setUpClass", false]], "show_archives_of_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_archives_of_user", false]], "show_collection() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_collection", false]], "show_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_dataset", false]], "show_metadata_of_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_metadata_of_dataset", false]], "show_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_user", false]], "smartnoise_query() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.smartnoise_query", false]], "smartnoise_sql (lomas_client.client.dplibraries attribute)": [[11, "lomas_client.client.DPLibraries.SMARTNOISE_SQL", false]], "smartnoise_sql (lomas_server.constants.dplibraries attribute)": [[12, "lomas_server.constants.DPLibraries.SMARTNOISE_SQL", false]], "smartnoise_sql_handler() (in module lomas_server.app)": [[12, "lomas_server.app.smartnoise_sql_handler", false]], "smartnoisesqlquerier (class in lomas_server.dp_queries.dp_libraries.smartnoise_sql)": [[17, "lomas_server.dp_queries.dp_libraries.smartnoise_sql.SmartnoiseSQLQuerier", false]], "smoothed_max_divergence (lomas_server.constants.opendpmeasurement attribute)": [[12, "lomas_server.constants.OpenDPMeasurement.SMOOTHED_MAX_DIVERGENCE", false]], "snsqlinp (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.SNSQLInp", false]], "snsqlinpcost (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.SNSQLInpCost", false]], "stall (lomas_server.constants.timeattackmethod attribute)": [[12, "lomas_server.constants.TimeAttackMethod.STALL", false]], "stream_dataframe() (in module lomas_server.utils.utils)": [[20, "lomas_server.utils.utils.stream_dataframe", false]], "submit_limit (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.SUBMIT_LIMIT", false]], "submit_limit (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.submit_limit", false]], "subscribe_for_memory_usage_updates() (lomas_server.private_dataset.private_dataset.privatedataset method)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.subscribe_for_memory_usage_updates", false]], "symmetric_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.SYMMETRIC_DISTANCE", false]], "teardown() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.tearDown", false]], "teardown() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.tearDown", false]], "teardown() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.tearDown", false]], "teardownclass() (lomas_server.tests.test_api.testrootapiendpoint class method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.tearDownClass", false]], "test_add_dataset_to_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_dataset_to_user", false]], "test_add_dataset_to_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_dataset_to_user_cli", false]], "test_add_datasets_via_yaml() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_datasets_via_yaml", false]], "test_add_datasets_via_yaml_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_datasets_via_yaml_cli", false]], "test_add_demo_data_to_admindb() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_demo_data_to_admindb", false]], "test_add_local_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_local_dataset", false]], "test_add_local_dataset_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_local_dataset_cli", false]], "test_add_s3_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_s3_dataset", false]], "test_add_s3_datasets_via_yaml() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_s3_datasets_via_yaml", false]], "test_add_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_user", false]], "test_add_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_user_cli", false]], "test_add_user_wb() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_user_wb", false]], "test_add_user_wb_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_user_wb_cli", false]], "test_add_users_via_yaml() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_users_via_yaml", false]], "test_add_users_via_yaml_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_users_via_yaml_cli", false]], "test_boolean_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_boolean_column", false]], "test_budget_over_limit() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_budget_over_limit", false]], "test_cardinality_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_cardinality_column", false]], "test_config_and_internal_server_exception() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_config_and_internal_server_exception", false]], "test_datetime_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_datetime_column", false]], "test_del_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_del_dataset", false]], "test_del_dataset_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_del_dataset_cli", false]], "test_del_dataset_to_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_del_dataset_to_user", false]], "test_del_dataset_to_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_del_dataset_to_user_cli", false]], "test_del_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_del_user", false]], "test_del_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_del_user_cli", false]], "test_drop_collection() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_drop_collection", false]], "test_drop_collection_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_drop_collection_cli", false]], "test_dummy_opendp_query() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_dummy_opendp_query", false]], "test_dummy_smartnoise_query() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_dummy_smartnoise_query", false]], "test_float_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_float_column", false]], "test_get_dataset_metadata() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_dataset_metadata", false]], "test_get_dummy_dataset() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_dummy_dataset", false]], "test_get_initial_budget() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_initial_budget", false]], "test_get_list_of_datasets() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_get_list_of_datasets", false]], "test_get_list_of_datasets_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_get_list_of_datasets_cli", false]], "test_get_list_of_datasets_from_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_get_list_of_datasets_from_user_cli", false]], "test_get_list_of_datasets_from_users() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_get_list_of_datasets_from_users", false]], "test_get_list_of_users() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_get_list_of_users", false]], "test_get_list_of_users_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_get_list_of_users_cli", false]], "test_get_previous_queries() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_previous_queries", false]], "test_get_remaining_budget() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_remaining_budget", false]], "test_get_total_spent_budget() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_total_spent_budget", false]], "test_int_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_int_column", false]], "test_memory_usage() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_memory_usage", false]], "test_nullable_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_nullable_column", false]], "test_opendp_cost() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_opendp_cost", false]], "test_opendp_query() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_opendp_query", false]], "test_root() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_root", false]], "test_seed() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_seed", false]], "test_set_budget_field() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_set_budget_field", false]], "test_set_budget_field_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_set_budget_field_cli", false]], "test_set_may_query() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_set_may_query", false]], "test_set_may_query_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_set_may_query_cli", false]], "test_show_archives_of_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_archives_of_user", false]], "test_show_archives_of_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_archives_of_user_cli", false]], "test_show_collection() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_collection", false]], "test_show_collection_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_collection_cli", false]], "test_show_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_dataset", false]], "test_show_dataset_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_dataset_cli", false]], "test_show_metadata_of_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_metadata_of_dataset", false]], "test_show_metadata_of_dataset_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_metadata_of_dataset_cli", false]], "test_show_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_user", false]], "test_show_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_user_cli", false]], "test_smartnoise_cost() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_smartnoise_cost", false]], "test_smartnoise_query() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_smartnoise_query", false]], "test_smartnoise_query_on_s3_dataset() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_smartnoise_query_on_s3_dataset", false]], "test_state() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_state", false]], "test_subsequent_budget_limit_logic() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_subsequent_budget_limit_logic", false]], "test_unknown_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_unknown_column", false]], "testmakedummydataset (class in lomas_server.tests.test_dummy_generation)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset", false]], "testmongodbadmin (class in lomas_server.tests.test_mongodb_admin)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin", false]], "testmongodbadmin (class in lomas_server.tests.test_mongodb_admin_cli)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin", false]], "testrootapiendpoint (class in lomas_server.tests.test_api)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint", false]], "time_attack (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.TIME_ATTACK", false]], "time_attack (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.time_attack", false]], "timeattack (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.TimeAttack", false]], "timeattackmethod (class in lomas_server.constants)": [[12, "lomas_server.constants.TimeAttackMethod", false]], "total_spent_delta (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.total_spent_delta", false]], "total_spent_epsilon (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.total_spent_epsilon", false]], "unauthorizedaccessexception": [[20, "lomas_server.utils.error_handler.UnauthorizedAccessException", false]], "update_budget() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.update_budget", false]], "update_delta() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.update_delta", false]], "update_epsilon() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.update_epsilon", false]], "update_epsilon_or_delta() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.update_epsilon_or_delta", false]], "update_epsilon_or_delta() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.update_epsilon_or_delta", false]], "update_epsilon_or_delta() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.update_epsilon_or_delta", false]], "update_memory_usage() (lomas_server.dataset_store.lru_dataset_store.lrudatasetstore method)": [[15, "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore.update_memory_usage", false]], "update_memory_usage() (lomas_server.dataset_store.private_dataset_observer.privatedatasetobserver method)": [[15, "lomas_server.dataset_store.private_dataset_observer.PrivateDatasetObserver.update_memory_usage", false]], "user (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.User", false]], "user_must_exist() (in module lomas_server.admin_database.admin_database)": [[13, "lomas_server.admin_database.admin_database.user_must_exist", false]], "user_must_have_access_to_dataset() (in module lomas_server.admin_database.admin_database)": [[13, "lomas_server.admin_database.admin_database.user_must_have_access_to_dataset", false]], "user_name (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.user_name", false]], "usercollection (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.UserCollection", false]], "username (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.username", false]], "users (lomas_server.utils.collections_models.usercollection attribute)": [[20, "lomas_server.utils.collections_models.UserCollection.users", false]], "workers (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.workers", false]], "yaml (lomas_server.constants.admindbtype attribute)": [[12, "lomas_server.constants.AdminDBType.YAML", false]], "yamldbconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.YamlDBConfig", false]], "zero_concentrated_divergence (lomas_server.constants.opendpmeasurement attribute)": [[12, "lomas_server.constants.OpenDPMeasurement.ZERO_CONCENTRATED_DIVERGENCE", false]]}, "objects": {"": [[11, 0, 0, "-", "lomas_client"], [12, 0, 0, "-", "lomas_server"]], "lomas_client": [[11, 0, 0, "-", "client"]], "lomas_client.client": [[11, 1, 1, "", "Client"], [11, 1, 1, "", "DPLibraries"], [11, 4, 1, "", "error_message"]], "lomas_client.client.Client": [[11, 2, 1, "", "estimate_opendp_cost"], [11, 2, 1, "", "estimate_smartnoise_cost"], [11, 2, 1, "", "get_dataset_metadata"], [11, 2, 1, "", "get_dummy_dataset"], [11, 2, 1, "", "get_initial_budget"], [11, 2, 1, "", "get_previous_queries"], [11, 2, 1, "", "get_remaining_budget"], [11, 2, 1, "", "get_total_spent_budget"], [11, 2, 1, "", "opendp_query"], [11, 2, 1, "", "smartnoise_query"]], "lomas_client.client.DPLibraries": [[11, 3, 1, "", "OPENDP"], [11, 3, 1, "", "SMARTNOISE_SQL"]], "lomas_server": [[13, 0, 0, "-", "admin_database"], [14, 0, 0, "-", "administration"], [12, 0, 0, "-", "app"], [12, 0, 0, "-", "constants"], [15, 0, 0, "-", "dataset_store"], [16, 0, 0, "-", "dp_queries"], [12, 0, 0, "-", "mongodb_admin"], [12, 0, 0, "-", "mongodb_admin_cli"], [18, 0, 0, "-", "private_dataset"], [19, 0, 0, "-", "tests"], [20, 0, 0, "-", "utils"], [12, 0, 0, "-", "uvicorn_serve"]], "lomas_server.admin_database": [[13, 0, 0, "-", "admin_database"], [13, 0, 0, "-", "mongodb_database"], [13, 0, 0, "-", "utils"], [13, 0, 0, "-", "yaml_database"]], "lomas_server.admin_database.admin_database": [[13, 1, 1, "", "AdminDatabase"], [13, 4, 1, "", "dataset_must_exist"], [13, 4, 1, "", "user_must_exist"], [13, 4, 1, "", "user_must_have_access_to_dataset"]], "lomas_server.admin_database.admin_database.AdminDatabase": [[13, 2, 1, "", "does_dataset_exist"], [13, 2, 1, "", "does_user_exist"], [13, 2, 1, "", "get_and_set_may_user_query"], [13, 2, 1, "", "get_dataset_field"], [13, 2, 1, "", "get_dataset_metadata"], [13, 2, 1, "", "get_epsilon_or_delta"], [13, 2, 1, "", "get_initial_budget"], [13, 2, 1, "", "get_remaining_budget"], [13, 2, 1, "", "get_total_spent_budget"], [13, 2, 1, "", "get_user_previous_queries"], [13, 2, 1, "", "has_user_access_to_dataset"], [13, 2, 1, "", "prepare_save_query"], [13, 2, 1, "", "save_query"], [13, 2, 1, "", "set_may_user_query"], [13, 2, 1, "", "update_budget"], [13, 2, 1, "", "update_delta"], [13, 2, 1, "", "update_epsilon"], [13, 2, 1, "", "update_epsilon_or_delta"]], "lomas_server.admin_database.mongodb_database": [[13, 1, 1, "", "AdminMongoDatabase"], [13, 4, 1, "", "check_result_acknowledged"]], "lomas_server.admin_database.mongodb_database.AdminMongoDatabase": [[13, 2, 1, "", "does_dataset_exist"], [13, 2, 1, "", "does_user_exist"], [13, 2, 1, "", "get_and_set_may_user_query"], [13, 2, 1, "", "get_dataset_field"], [13, 2, 1, "", "get_dataset_metadata"], [13, 2, 1, "", "get_epsilon_or_delta"], [13, 2, 1, "", "get_user_previous_queries"], [13, 2, 1, "", "has_user_access_to_dataset"], [13, 2, 1, "", "save_query"], [13, 2, 1, "", "set_may_user_query"], [13, 2, 1, "", "update_epsilon_or_delta"]], "lomas_server.admin_database.utils": [[13, 4, 1, "", "database_factory"], [13, 4, 1, "", "get_mongodb"], [13, 4, 1, "", "get_mongodb_url"]], "lomas_server.admin_database.yaml_database": [[13, 1, 1, "", "AdminYamlDatabase"]], "lomas_server.admin_database.yaml_database.AdminYamlDatabase": [[13, 2, 1, "", "does_dataset_exist"], [13, 2, 1, "", "does_user_exist"], [13, 2, 1, "", "get_and_set_may_user_query"], [13, 2, 1, "", "get_dataset_field"], [13, 2, 1, "", "get_dataset_metadata"], [13, 2, 1, "", "get_epsilon_or_delta"], [13, 2, 1, "", "get_user_previous_queries"], [13, 2, 1, "", "has_user_access_to_dataset"], [13, 2, 1, "", "save_current_database"], [13, 2, 1, "", "save_query"], [13, 2, 1, "", "set_may_user_query"], [13, 2, 1, "", "update_epsilon_or_delta"]], "lomas_server.app": [[12, 4, 1, "", "dummy_opendp_query_handler"], [12, 4, 1, "", "dummy_smartnoise_sql_handler"], [12, 4, 1, "", "estimate_opendp_cost"], [12, 4, 1, "", "estimate_smartnoise_cost"], [12, 4, 1, "", "get_dataset_metadata"], [12, 4, 1, "", "get_dummy_dataset"], [12, 4, 1, "", "get_initial_budget"], [12, 4, 1, "", "get_memory_usage"], [12, 4, 1, "", "get_remaining_budget"], [12, 4, 1, "", "get_state"], [12, 4, 1, "", "get_total_spent_budget"], [12, 4, 1, "", "get_user_previous_queries"], [12, 4, 1, "", "lifespan"], [12, 4, 1, "", "middleware"], [12, 4, 1, "", "opendp_query_handler"], [12, 4, 1, "", "root"], [12, 4, 1, "", "smartnoise_sql_handler"]], "lomas_server.constants": [[12, 1, 1, "", "AdminDBType"], [12, 1, 1, "", "ConfigKeys"], [12, 1, 1, "", "DPLibraries"], [12, 1, 1, "", "DatasetStoreType"], [12, 1, 1, "", "OpenDPDatasetInputMetric"], [12, 1, 1, "", "OpenDPMeasurement"], [12, 1, 1, "", "PrivateDatabaseType"], [12, 1, 1, "", "TimeAttackMethod"]], "lomas_server.constants.AdminDBType": [[12, 3, 1, "", "MONGODB"], [12, 3, 1, "", "YAML"]], "lomas_server.constants.ConfigKeys": [[12, 3, 1, "", "DATASET_STORE"], [12, 3, 1, "", "DATASET_STORE_TYPE"], [12, 3, 1, "", "DB"], [12, 3, 1, "", "DB_TYPE"], [12, 3, 1, "", "DB_TYPE_MONGODB"], [12, 3, 1, "", "DEVELOP_MODE"], [12, 3, 1, "", "DP_LIBRARY"], [12, 3, 1, "", "LRU_DATASET_STORE_MAX_SIZE"], [12, 3, 1, "", "MONGODB_ADDR"], [12, 3, 1, "", "MONGODB_PORT"], [12, 3, 1, "", "RUNTIME_ARGS"], [12, 3, 1, "", "SERVER"], [12, 3, 1, "", "SETTINGS"], [12, 3, 1, "", "SUBMIT_LIMIT"], [12, 3, 1, "", "TIME_ATTACK"]], "lomas_server.constants.DPLibraries": [[12, 3, 1, "", "OPENDP"], [12, 3, 1, "", "SMARTNOISE_SQL"]], "lomas_server.constants.DatasetStoreType": [[12, 3, 1, "", "BASIC"], [12, 3, 1, "", "LRU"]], "lomas_server.constants.OpenDPDatasetInputMetric": [[12, 3, 1, "", "CHANGE_ONE_DISTANCE"], [12, 3, 1, "", "HAMMING_DISTANCE"], [12, 3, 1, "", "INSERT_DELETE_DISTANCE"], [12, 3, 1, "", "INT_DISTANCE"], [12, 3, 1, "", "SYMMETRIC_DISTANCE"]], "lomas_server.constants.OpenDPMeasurement": [[12, 3, 1, "", "FIXED_SMOOTHED_MAX_DIVERGENCE"], [12, 3, 1, "", "MAX_DIVERGENCE"], [12, 3, 1, "", "SMOOTHED_MAX_DIVERGENCE"], [12, 3, 1, "", "ZERO_CONCENTRATED_DIVERGENCE"]], "lomas_server.constants.PrivateDatabaseType": [[12, 3, 1, "", "PATH"], [12, 3, 1, "", "S3"]], "lomas_server.constants.TimeAttackMethod": [[12, 3, 1, "", "JITTER"], [12, 3, 1, "", "STALL"]], "lomas_server.dataset_store": [[15, 0, 0, "-", "basic_dataset_store"], [15, 0, 0, "-", "dataset_store"], [15, 0, 0, "-", "lru_dataset_store"], [15, 0, 0, "-", "private_dataset_observer"], [15, 0, 0, "-", "utils"]], "lomas_server.dataset_store.basic_dataset_store": [[15, 1, 1, "", "BasicDatasetStore"]], "lomas_server.dataset_store.basic_dataset_store.BasicDatasetStore": [[15, 3, 1, "", "dp_queriers"], [15, 2, 1, "", "get_querier"]], "lomas_server.dataset_store.dataset_store": [[15, 1, 1, "", "DatasetStore"]], "lomas_server.dataset_store.dataset_store.DatasetStore": [[15, 3, 1, "", "admin_database"], [15, 2, 1, "", "get_querier"]], "lomas_server.dataset_store.lru_dataset_store": [[15, 1, 1, "", "LRUDatasetStore"]], "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore": [[15, 3, 1, "", "dataset_cache"], [15, 2, 1, "", "get_querier"], [15, 2, 1, "", "update_memory_usage"]], "lomas_server.dataset_store.private_dataset_observer": [[15, 1, 1, "", "PrivateDatasetObserver"]], "lomas_server.dataset_store.private_dataset_observer.PrivateDatasetObserver": [[15, 2, 1, "", "update_memory_usage"]], "lomas_server.dataset_store.utils": [[15, 4, 1, "", "dataset_store_factory"]], "lomas_server.dp_queries": [[17, 0, 0, "-", "dp_libraries"], [16, 0, 0, "-", "dp_logic"], [16, 0, 0, "-", "dp_querier"], [16, 0, 0, "-", "dummy_dataset"]], "lomas_server.dp_queries.dp_libraries": [[17, 0, 0, "-", "opendp"], [17, 0, 0, "-", "smartnoise_sql"], [17, 0, 0, "-", "utils"]], "lomas_server.dp_queries.dp_libraries.opendp": [[17, 1, 1, "", "OpenDPQuerier"], [17, 4, 1, "", "get_output_measure"], [17, 4, 1, "", "has_dataset_input_metric"], [17, 4, 1, "", "is_measurement"], [17, 4, 1, "", "reconstruct_measurement_pipeline"], [17, 4, 1, "", "set_opendp_features_config"]], "lomas_server.dp_queries.dp_libraries.opendp.OpenDPQuerier": [[17, 2, 1, "", "cost"], [17, 2, 1, "", "query"]], "lomas_server.dp_queries.dp_libraries.smartnoise_sql": [[17, 1, 1, "", "SmartnoiseSQLQuerier"], [17, 4, 1, "", "set_mechanisms"]], "lomas_server.dp_queries.dp_libraries.smartnoise_sql.SmartnoiseSQLQuerier": [[17, 2, 1, "", "cost"], [17, 2, 1, "", "query"]], "lomas_server.dp_queries.dp_libraries.utils": [[17, 4, 1, "", "querier_factory"]], "lomas_server.dp_queries.dp_logic": [[16, 1, 1, "", "QueryHandler"]], "lomas_server.dp_queries.dp_logic.QueryHandler": [[16, 3, 1, "", "admin_database"], [16, 3, 1, "", "dataset_store"], [16, 2, 1, "", "estimate_cost"], [16, 2, 1, "", "handle_query"]], "lomas_server.dp_queries.dp_querier": [[16, 1, 1, "", "DPQuerier"]], "lomas_server.dp_queries.dp_querier.DPQuerier": [[16, 2, 1, "", "cost"], [16, 2, 1, "", "query"]], "lomas_server.dp_queries.dummy_dataset": [[16, 4, 1, "", "get_dummy_dataset_for_query"], [16, 4, 1, "", "make_dummy_dataset"]], "lomas_server.mongodb_admin": [[12, 4, 1, "", "add_dataset"], [12, 4, 1, "", "add_dataset_to_user"], [12, 4, 1, "", "add_datasets_via_yaml"], [12, 4, 1, "", "add_user"], [12, 4, 1, "", "add_user_with_budget"], [12, 4, 1, "", "add_users_via_yaml"], [12, 4, 1, "", "check_dataset_and_metadata_exist"], [12, 4, 1, "", "check_user_exists"], [12, 4, 1, "", "check_user_has_dataset"], [12, 4, 1, "", "del_dataset"], [12, 4, 1, "", "del_dataset_to_user"], [12, 4, 1, "", "del_user"], [12, 4, 1, "", "drop_collection"], [12, 4, 1, "", "get_list_of_datasets"], [12, 4, 1, "", "get_list_of_datasets_from_user"], [12, 4, 1, "", "get_list_of_users"], [12, 4, 1, "", "set_budget_field"], [12, 4, 1, "", "set_may_query"], [12, 4, 1, "", "show_archives_of_user"], [12, 4, 1, "", "show_collection"], [12, 4, 1, "", "show_dataset"], [12, 4, 1, "", "show_metadata_of_dataset"], [12, 4, 1, "", "show_user"]], "lomas_server.private_dataset": [[18, 0, 0, "-", "in_memory_dataset"], [18, 0, 0, "-", "path_dataset"], [18, 0, 0, "-", "private_dataset"], [18, 0, 0, "-", "s3_dataset"], [18, 0, 0, "-", "utils"]], "lomas_server.private_dataset.in_memory_dataset": [[18, 1, 1, "", "InMemoryDataset"]], "lomas_server.private_dataset.in_memory_dataset.InMemoryDataset": [[18, 2, 1, "", "get_pandas_df"]], "lomas_server.private_dataset.path_dataset": [[18, 1, 1, "", "PathDataset"]], "lomas_server.private_dataset.path_dataset.PathDataset": [[18, 2, 1, "", "get_pandas_df"]], "lomas_server.private_dataset.private_dataset": [[18, 1, 1, "", "PrivateDataset"]], "lomas_server.private_dataset.private_dataset.PrivateDataset": [[18, 3, 1, "", "df"], [18, 2, 1, "", "get_memory_usage"], [18, 2, 1, "", "get_metadata"], [18, 2, 1, "", "get_pandas_df"], [18, 2, 1, "", "subscribe_for_memory_usage_updates"]], "lomas_server.private_dataset.s3_dataset": [[18, 1, 1, "", "S3Dataset"]], "lomas_server.private_dataset.s3_dataset.S3Dataset": [[18, 2, 1, "", "get_pandas_df"]], "lomas_server.private_dataset.utils": [[18, 4, 1, "", "private_dataset_factory"]], "lomas_server.tests": [[19, 0, 0, "-", "constants"], [19, 0, 0, "-", "test_api"], [19, 0, 0, "-", "test_dummy_generation"], [19, 0, 0, "-", "test_mongodb_admin"], [19, 0, 0, "-", "test_mongodb_admin_cli"]], "lomas_server.tests.test_api": [[19, 1, 1, "", "TestRootAPIEndpoint"]], "lomas_server.tests.test_api.TestRootAPIEndpoint": [[19, 2, 1, "", "setUp"], [19, 2, 1, "", "setUpClass"], [19, 2, 1, "", "tearDown"], [19, 2, 1, "", "tearDownClass"], [19, 2, 1, "", "test_budget_over_limit"], [19, 2, 1, "", "test_config_and_internal_server_exception"], [19, 2, 1, "", "test_dummy_opendp_query"], [19, 2, 1, "", "test_dummy_smartnoise_query"], [19, 2, 1, "", "test_get_dataset_metadata"], [19, 2, 1, "", "test_get_dummy_dataset"], [19, 2, 1, "", "test_get_initial_budget"], [19, 2, 1, "", "test_get_previous_queries"], [19, 2, 1, "", "test_get_remaining_budget"], [19, 2, 1, "", "test_get_total_spent_budget"], [19, 2, 1, "", "test_memory_usage"], [19, 2, 1, "", "test_opendp_cost"], [19, 2, 1, "", "test_opendp_query"], [19, 2, 1, "", "test_root"], [19, 2, 1, "", "test_smartnoise_cost"], [19, 2, 1, "", "test_smartnoise_query"], [19, 2, 1, "", "test_smartnoise_query_on_s3_dataset"], [19, 2, 1, "", "test_state"], [19, 2, 1, "", "test_subsequent_budget_limit_logic"]], "lomas_server.tests.test_dummy_generation": [[19, 1, 1, "", "TestMakeDummyDataset"]], "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset": [[19, 2, 1, "", "test_boolean_column"], [19, 2, 1, "", "test_cardinality_column"], [19, 2, 1, "", "test_datetime_column"], [19, 2, 1, "", "test_float_column"], [19, 2, 1, "", "test_int_column"], [19, 2, 1, "", "test_nullable_column"], [19, 2, 1, "", "test_seed"], [19, 2, 1, "", "test_unknown_column"]], "lomas_server.tests.test_mongodb_admin": [[19, 1, 1, "", "TestMongoDBAdmin"]], "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin": [[19, 2, 1, "", "setUpClass"], [19, 2, 1, "", "tearDown"], [19, 2, 1, "", "test_add_dataset_to_user"], [19, 2, 1, "", "test_add_datasets_via_yaml"], [19, 2, 1, "", "test_add_demo_data_to_admindb"], [19, 2, 1, "", "test_add_local_dataset"], [19, 2, 1, "", "test_add_s3_dataset"], [19, 2, 1, "", "test_add_s3_datasets_via_yaml"], [19, 2, 1, "", "test_add_user"], [19, 2, 1, "", "test_add_user_wb"], [19, 2, 1, "", "test_add_users_via_yaml"], [19, 2, 1, "", "test_del_dataset"], [19, 2, 1, "", "test_del_dataset_to_user"], [19, 2, 1, "", "test_del_user"], [19, 2, 1, "", "test_drop_collection"], [19, 2, 1, "", "test_get_list_of_datasets"], [19, 2, 1, "", "test_get_list_of_datasets_from_users"], [19, 2, 1, "", "test_get_list_of_users"], [19, 2, 1, "", "test_set_budget_field"], [19, 2, 1, "", "test_set_may_query"], [19, 2, 1, "", "test_show_archives_of_user"], [19, 2, 1, "", "test_show_collection"], [19, 2, 1, "", "test_show_dataset"], [19, 2, 1, "", "test_show_metadata_of_dataset"], [19, 2, 1, "", "test_show_user"]], "lomas_server.tests.test_mongodb_admin_cli": [[19, 1, 1, "", "TestMongoDBAdmin"]], "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin": [[19, 2, 1, "", "run_cli_command"], [19, 2, 1, "", "setUpClass"], [19, 2, 1, "", "tearDown"], [19, 2, 1, "", "test_add_dataset_to_user_cli"], [19, 2, 1, "", "test_add_datasets_via_yaml_cli"], [19, 2, 1, "", "test_add_local_dataset_cli"], [19, 2, 1, "", "test_add_user_cli"], [19, 2, 1, "", "test_add_user_wb_cli"], [19, 2, 1, "", "test_add_users_via_yaml_cli"], [19, 2, 1, "", "test_del_dataset_cli"], [19, 2, 1, "", "test_del_dataset_to_user_cli"], [19, 2, 1, "", "test_del_user_cli"], [19, 2, 1, "", "test_drop_collection_cli"], [19, 2, 1, "", "test_get_list_of_datasets_cli"], [19, 2, 1, "", "test_get_list_of_datasets_from_user_cli"], [19, 2, 1, "", "test_get_list_of_users_cli"], [19, 2, 1, "", "test_set_budget_field_cli"], [19, 2, 1, "", "test_set_may_query_cli"], [19, 2, 1, "", "test_show_archives_of_user_cli"], [19, 2, 1, "", "test_show_collection_cli"], [19, 2, 1, "", "test_show_dataset_cli"], [19, 2, 1, "", "test_show_metadata_of_dataset_cli"], [19, 2, 1, "", "test_show_user_cli"]], "lomas_server.utils": [[20, 0, 0, "-", "anti_timing_att"], [20, 0, 0, "-", "collections_models"], [20, 0, 0, "-", "config"], [20, 0, 0, "-", "error_handler"], [20, 0, 0, "-", "example_inputs"], [20, 0, 0, "-", "input_models"], [20, 0, 0, "-", "loggr"], [20, 0, 0, "-", "utils"]], "lomas_server.utils.anti_timing_att": [[20, 4, 1, "", "anti_timing_att"]], "lomas_server.utils.collections_models": [[20, 1, 1, "", "Dataset"], [20, 1, 1, "", "DatasetOfPathDB"], [20, 1, 1, "", "DatasetOfS3DB"], [20, 1, 1, "", "DatasetOfUser"], [20, 1, 1, "", "DatasetsCollection"], [20, 1, 1, "", "Metadata"], [20, 1, 1, "", "MetadataOfDataset"], [20, 1, 1, "", "MetadataOfPathDB"], [20, 1, 1, "", "MetadataOfS3DB"], [20, 1, 1, "", "User"], [20, 1, 1, "", "UserCollection"]], "lomas_server.utils.collections_models.Dataset": [[20, 3, 1, "", "database_type"], [20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "metadata"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.DatasetOfPathDB": [[20, 3, 1, "", "dataset_path"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.DatasetOfS3DB": [[20, 3, 1, "", "aws_access_key_id"], [20, 3, 1, "", "aws_secret_access_key"], [20, 3, 1, "", "endpoint_url"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "s3_bucket"], [20, 3, 1, "", "s3_key"]], "lomas_server.utils.collections_models.DatasetOfUser": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "initial_delta"], [20, 3, 1, "", "initial_epsilon"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "total_spent_delta"], [20, 3, 1, "", "total_spent_epsilon"]], "lomas_server.utils.collections_models.DatasetsCollection": [[20, 3, 1, "", "datasets"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.Metadata": [[20, 3, 1, "", "columns"], [20, 3, 1, "", "max_ids"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "row_privacy"]], "lomas_server.utils.collections_models.MetadataOfDataset": [[20, 3, 1, "", "database_type"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.MetadataOfPathDB": [[20, 3, 1, "", "metadata_path"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.MetadataOfS3DB": [[20, 3, 1, "", "aws_access_key_id"], [20, 3, 1, "", "aws_secret_access_key"], [20, 3, 1, "", "endpoint_url"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "s3_bucket"], [20, 3, 1, "", "s3_key"]], "lomas_server.utils.collections_models.User": [[20, 3, 1, "", "datasets_list"], [20, 3, 1, "", "may_query"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "user_name"]], "lomas_server.utils.collections_models.UserCollection": [[20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "users"]], "lomas_server.utils.config": [[20, 1, 1, "", "Config"], [20, 1, 1, "", "ConfigLoader"], [20, 1, 1, "", "DBConfig"], [20, 1, 1, "", "DPLibraryConfig"], [20, 1, 1, "", "DatasetStoreConfig"], [20, 1, 1, "", "LRUDatasetStoreConfig"], [20, 1, 1, "", "MongoDBConfig"], [20, 1, 1, "", "OpenDPConfig"], [20, 1, 1, "", "Server"], [20, 1, 1, "", "TimeAttack"], [20, 1, 1, "", "YamlDBConfig"], [20, 4, 1, "", "get_config"]], "lomas_server.utils.config.Config": [[20, 3, 1, "", "admin_database"], [20, 3, 1, "", "dataset_store"], [20, 3, 1, "", "develop_mode"], [20, 3, 1, "", "dp_libraries"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "server"], [20, 3, 1, "", "submit_limit"]], "lomas_server.utils.config.ConfigLoader": [[20, 2, 1, "", "get_config"], [20, 2, 1, "", "load_config"], [20, 2, 1, "", "set_config"]], "lomas_server.utils.config.DBConfig": [[20, 3, 1, "", "db_type"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.DPLibraryConfig": [[20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "opendp"]], "lomas_server.utils.config.DatasetStoreConfig": [[20, 3, 1, "", "ds_store_type"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.LRUDatasetStoreConfig": [[20, 3, 1, "", "max_memory_usage"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.MongoDBConfig": [[20, 3, 1, "", "address"], [20, 3, 1, "", "db_name"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "password"], [20, 3, 1, "", "port"], [20, 3, 1, "", "username"]], "lomas_server.utils.config.OpenDPConfig": [[20, 3, 1, "", "contrib"], [20, 3, 1, "", "floating_point"], [20, 3, 1, "", "honest_but_curious"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.Server": [[20, 3, 1, "", "host_ip"], [20, 3, 1, "", "host_port"], [20, 3, 1, "", "log_level"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "reload"], [20, 3, 1, "", "time_attack"], [20, 3, 1, "", "workers"]], "lomas_server.utils.config.TimeAttack": [[20, 3, 1, "", "magnitude"], [20, 3, 1, "", "method"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.YamlDBConfig": [[20, 3, 1, "", "db_file"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.error_handler": [[20, 5, 1, "", "ExternalLibraryException"], [20, 5, 1, "", "InternalServerException"], [20, 5, 1, "", "InvalidQueryException"], [20, 5, 1, "", "UnauthorizedAccessException"], [20, 4, 1, "", "add_exception_handlers"]], "lomas_server.utils.input_models": [[20, 1, 1, "", "DummyOpenDPInp"], [20, 1, 1, "", "DummySNSQLInp"], [20, 1, 1, "", "GetDbData"], [20, 1, 1, "", "GetDummyDataset"], [20, 1, 1, "", "OpenDPInp"], [20, 1, 1, "", "SNSQLInp"], [20, 1, 1, "", "SNSQLInpCost"]], "lomas_server.utils.input_models.DummyOpenDPInp": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "dummy_nb_rows"], [20, 3, 1, "", "dummy_seed"], [20, 3, 1, "", "fixed_delta"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "opendp_json"]], "lomas_server.utils.input_models.DummySNSQLInp": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "delta"], [20, 3, 1, "", "dummy_nb_rows"], [20, 3, 1, "", "dummy_seed"], [20, 3, 1, "", "epsilon"], [20, 3, 1, "", "mechanisms"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "postprocess"], [20, 3, 1, "", "query_str"]], "lomas_server.utils.input_models.GetDbData": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.input_models.GetDummyDataset": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "dummy_nb_rows"], [20, 3, 1, "", "dummy_seed"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.input_models.OpenDPInp": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "fixed_delta"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "opendp_json"]], "lomas_server.utils.input_models.SNSQLInp": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "delta"], [20, 3, 1, "", "epsilon"], [20, 3, 1, "", "mechanisms"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "postprocess"], [20, 3, 1, "", "query_str"]], "lomas_server.utils.input_models.SNSQLInpCost": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "delta"], [20, 3, 1, "", "epsilon"], [20, 3, 1, "", "mechanisms"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "query_str"]], "lomas_server.utils.utils": [[20, 4, 1, "", "add_demo_data_to_admindb"], [20, 4, 1, "", "server_live"], [20, 4, 1, "", "stream_dataframe"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:exception"}, "terms": {"": [2, 9, 20, 21, 22, 23, 32], "0": [11, 12, 13, 17, 20, 21, 22, 23, 26, 30], "00": 22, "0001": [21, 22], "00014999500000001387": [21, 23], "0004": 20, "0005": 22, "001": 22, "004850004999999986": 21, "005": [21, 22], "01": 23, "031628": 21, "038092": 21, "05": [12, 22], "051061": 23, "06": [12, 22], "07": 22, "070911": 21, "09": 22, "096718": 21, "0x7f55e33e7ec0": 21, "0x7f55e33e7f50": 21, "1": [6, 8, 11, 12, 13, 22, 26, 30], "10": [21, 22, 23], "100": [11, 12, 16, 21, 22, 23], "1000": 22, "100000": 22, "1024": 15, "11": [21, 22, 23], "117959": 21, "12": [21, 22, 23], "123": 21, "125950": 21, "127": 30, "13": [21, 22, 23], "133": 23, "14": [21, 22, 23], "143633": 23, "15": [21, 22, 23], "150": [21, 22], "153": 21, "159": 21, "16": [21, 22, 23], "160858": 23, "17": [21, 22, 23], "1718639441": 21, "1718639449": 21, "1718639455": 21, "18": [21, 22, 23], "19": [21, 22, 23], "190": 21, "199": [21, 23], "199850005": 23, "1e": [11, 12, 21, 22, 23], "2": [6, 8, 22], "20": [21, 22, 23], "200": [21, 23], "2000": [21, 22], "2022": 9, "2024": 22, "208473": 21, "21": [21, 22, 23], "22": [21, 22, 23], "23": [21, 22, 23], "2316": 21, "236": 21, "24": [21, 22, 23], "240181818190626": 23, "242": 21, "2421": 23, "244": 21, "2464255812": 23, "246787": 21, "246870": 21, "246992": 23, "25": [21, 22, 23], "250": [21, 22], "2503": 23, "2562": 23, "26": [21, 22, 23], "27": [21, 22, 23], "27017": [22, 26], "2733": 23, "28": [21, 22, 23], "2873": 21, "29": [21, 22, 23], "291927": 21, "3": [6, 8, 22], "30": [12, 21, 22, 23], "300": 22, "304": 17, "31": [21, 22, 23], "3108685": 21, "32": [21, 22, 23], "3265": 23, "33": [21, 22], "34": [21, 22, 23], "344": 21, "346": 12, "35": [21, 22], "36": [21, 22], "3639": 21, "37": [21, 22], "38": [21, 22, 23], "39": [21, 22, 23], "396": 22, "399": 23, "4": [5, 6, 22], "40": [21, 22], "400": [21, 23], "4078": 23, "41": [21, 22], "418": 22, "42": [11, 12, 16, 21, 22], "43": [12, 21, 22, 23], "44": [21, 22], "4452": 23, "45": [21, 22, 23], "4530268": 21, "46": 22, "461": 22, "4611": 23, "464": 22, "466": 22, "47": [21, 22], "48": 22, "4833": 23, "4860": 23, "49": [21, 22, 23], "4947808": 21, "4999e": 21, "5": [6, 11, 12, 20, 22, 23, 26], "50": 22, "5036": 21, "51": [21, 22], "52": 22, "52mm": 21, "530153": 21, "54": 22, "5401": 21, "5405": 23, "55": 21, "5630": 23, "59": 22, "6": [21, 22, 23], "61": 12, "6397": 23, "65": [12, 21, 22], "6634": 23, "6743": 23, "678": 22, "68": 21, "7": [21, 22, 23], "7000": [21, 22], "703": 22, "710": 22, "7122093023265229": 21, "726": 22, "731": 21, "73111553579249": 21, "741": 22, "743330": 21, "749": 22, "755": 22, "777518": 21, "785941": 23, "789627": 21, "78962738762428": 21, "79": [21, 23], "796037": 21, "79mm": 21, "8": [12, 21, 22, 23], "800": 21, "8266": 23, "827918": 21, "8501": [27, 30], "8888": 30, "891": 23, "9": [21, 22, 23], "9000": 30, "9001": 30, "917": 22, "9226": 23, "928019": 23, "929142": 21, "935352": 23, "936950": 23, "94": 23, "940005": 21, "940338": 23, "948853": 21, "95": [21, 23], "96": [21, 23], "961493": 21, "9621": 23, "963435": 21, "982129": 23, "9846": 23, "99": [12, 21], "9am": 0, "A": [9, 11, 12, 13, 15, 16, 19, 20, 21, 22, 23, 29, 30], "AND": 0, "AS": [12, 21, 23], "And": [21, 22], "As": [0, 21, 23], "But": 21, "By": [21, 22, 29], "For": [0, 9, 12, 16, 17, 20, 22], "IT": 9, "If": [0, 1, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 27, 29, 30], "In": [0, 1, 5, 6, 9, 11, 12, 21, 22, 24, 27, 29, 30], "It": [2, 9, 21, 22, 23, 24, 26], "Its": 9, "NOT": 12, "No": [0, 21, 22], "Not": 21, "ON": 30, "Of": 0, "On": [9, 21, 23], "One": [0, 2, 15, 17, 23, 30], "Or": 22, "The": [0, 2, 5, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 29, 30], "Then": [0, 1, 21, 22], "There": 15, "These": [0, 6, 22, 24, 26], "To": [0, 8, 21, 22, 23, 24, 27, 29, 32], "Will": 12, "With": [21, 23, 30], "__fields__": 20, "__init__": 22, "__name__": 22, "__pycache__": 22, "__token__": 1, "_add_dataset": 15, "_description_": [12, 16], "_item": 12, "_request": 12, "_summary_": 19, "_type": 12, "_writeresult": 13, "abc": [13, 15, 16, 17, 18], "abl": [21, 22, 23], "about": [0, 9, 12, 15, 20, 21, 22, 26], "abov": 0, "absenc": 12, "abstract": [13, 15, 16, 18], "access": [5, 8, 9, 12, 13, 16, 18, 20, 21, 24, 26, 28, 30], "accord": 32, "accordingli": [12, 15, 22], "account": [18, 21], "acknowledg": [5, 12, 13], "across": [0, 30], "action": 0, "activ": [2, 27], "actual": 21, "ad": [0, 12, 19, 20, 21, 22, 24, 26, 30], "adapt": [9, 22, 29], "add": [0, 12, 18, 19, 20, 21, 23, 26, 30], "add_dataset": [12, 22, 26, 31], "add_dataset_to_us": [12, 22, 26, 31], "add_datasets_via_yaml": [12, 22, 26, 31], "add_demo_data_to_admindb": [12, 20], "add_exception_handl": [12, 20], "add_us": [12, 22, 26, 31], "add_user_with_budget": [12, 22, 26, 31], "add_users_via_yaml": [12, 22, 26, 31], "addit": [0, 6, 9, 21, 22, 24, 30], "addition": 5, "address": [12, 20, 26, 30], "adeli": [21, 22], "adjust": 0, "admin": [16, 19, 21, 22, 30], "admin123": 22, "admin_databas": [12, 15, 16, 18, 20, 22, 31], "admindatabas": [12, 13, 15, 16, 18], "admindb": 20, "admindbtyp": [12, 20, 31], "administr": [2, 5, 9, 12, 13, 19, 30, 31, 32], "adminmongodatabas": [12, 13], "adminyamldatabas": [2, 12, 13], "advanc": [12, 17, 21], "advis": 9, "affect": 21, "after": [13, 19, 21, 22, 23], "afterward": [21, 23], "ag": 22, "again": [2, 10, 21, 23], "against": 12, "age_max": 23, "age_min": 23, "age_transformation_pipelin": 23, "agre": 21, "ahead": 0, "aim": [9, 21, 22], "ak": 29, "alic": [21, 22], "all": [0, 8, 9, 11, 12, 19, 21, 23, 26], "alloc": [9, 22], "allow": [21, 22, 23, 26, 32], "alreadi": [9, 12, 13, 16, 21, 22], "alreai": 22, "also": [0, 2, 6, 9, 21, 22, 23, 24, 30], "altern": 22, "alwai": [0, 26], "among": [21, 22], "amount": [12, 16], "an": [0, 2, 5, 11, 12, 13, 15, 16, 18, 19, 20, 21, 22, 30], "analys": [9, 21], "analysi": [0, 21], "ani": [8, 12, 16, 17, 21, 22, 23], "annot": 20, "anoth": [0, 21, 22, 23], "antarctica": 21, "antartica": [21, 22], "anti": 20, "anti_timing_att": [12, 31], "any_queri": 8, "api": [9, 12, 19, 22, 27, 30], "app": [0, 20, 22, 26, 31], "app_url": [8, 21, 23], "appli": [21, 23], "applic": [6, 21, 23, 30], "appropri": 18, "approv": 0, "appvers": 0, "ar": [0, 1, 2, 5, 6, 9, 12, 15, 17, 21, 22, 23, 27], "architectur": 9, "archiv": [6, 9, 12, 13, 19, 26], "arg": [12, 13, 19, 22], "argument": [13, 19, 20, 22], "ask": [21, 23], "assert": 12, "assign": [21, 22], "associ": [8, 9, 21, 22], "ast": [12, 22], "async": [12, 20], "asyncgener": [12, 20], "atom": 13, "attack": [12, 20], "authoris": 5, "autom": [0, 1], "automat": [0, 2, 30], "avail": [9, 21, 22, 24, 27, 29, 30], "avg": [21, 23], "avg_ag": 23, "avg_bill_length": 21, "avg_bill_length_mm": 21, "avoid": 20, "aw": [12, 26], "aws_access_key_id": [12, 20, 22, 26], "aws_secret_access_kei": [12, 20, 22, 26], "back": 15, "base": [2, 5, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26], "basemodel": [16, 17, 20], "basic": [12, 15, 31], "basic_dataset_stor": [12, 31], "basicdatasetstor": [12, 15], "basicmodel": 16, "becaus": [21, 23], "been": 22, "befor": [0, 12, 13, 19, 21, 22, 29], "begin": 29, "being": [8, 19], "below": [0, 8, 15, 21, 29], "best": 28, "better": 21, "big": 21, "bill_depth_mm": [12, 21, 22], "bill_length_max": 21, "bill_length_min": 21, "bill_length_mm": [12, 21, 22], "bill_length_transformation_pipelin": 21, "bind": 22, "bisco": [21, 22], "bit": 22, "black": 0, "blob": 12, "bob": 22, "bodi": [12, 21], "body_mass_g": [12, 21, 22], "bool": [11, 12, 13, 18, 20], "boolean": [12, 22, 23], "both": [0, 19], "bound": [12, 21, 22, 23], "boundari": [11, 12], "breviti": 9, "browser": 30, "bucket": [12, 26, 30], "budget": [5, 9, 11, 12, 13, 16, 17, 19, 24, 26], "buget": 21, "build": [0, 17], "build_doc": 0, "built": [17, 30], "button": 32, "c": [22, 23, 26], "c0301": 12, "cabin": [22, 23], "cach": [15, 18], "call": [9, 12, 13, 20, 21, 22, 23], "call_next": [12, 20], "callabl": [12, 13, 20], "can": [0, 2, 6, 8, 9, 12, 15, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 32], "cannot": [18, 20, 21, 23], "capabl": 21, "cardin": [21, 22, 23], "care": [0, 9, 21], "carri": 22, "case": [11, 12, 20], "categori": [21, 22, 23], "cd": [0, 30], "cell": 21, "censor_dim": [21, 22], "certain": [22, 24], "ch": 30, "chang": [15, 20, 21, 29], "change_one_dist": [12, 31], "changeonedist": 12, "chapter": [29, 30], "chart": [0, 9, 28], "check": [1, 5, 12, 13, 16, 17, 20, 21, 22, 23], "check_dataset_and_metadata_exist": [12, 31], "check_result_acknowledg": [12, 13], "check_user_exist": [12, 31], "check_user_has_dataset": [12, 31], "chinstrap": [21, 22], "chmod": 0, "choic": 26, "choos": [21, 28, 32], "ci": 0, "class": [11, 12, 13, 15, 16, 17, 18, 19, 20], "classic": 9, "classmethod": 19, "classvar": 20, "clean": [12, 22, 26], "cleaner": 22, "clear": [15, 22], "cli": [19, 24], "click": 32, "client": [0, 3, 6, 7, 13, 22], "client_input": 21, "clone": 30, "close": 21, "cloud": 29, "cluster": [9, 28, 29], "code": [0, 8, 9, 11, 21, 22], "codebas": 22, "codeql": 0, "col_nam": [12, 21, 23], "coldheart": 22, "collect": [12, 13, 19, 20, 21, 22], "collections_model": [12, 31], "column": [12, 16, 20, 21, 22, 23], "column_nam": 21, "com": [12, 17, 22, 30], "combin": 12, "come": 5, "command": [0, 8, 19, 21, 22, 23, 24, 26, 29, 30], "commonli": 9, "commun": 29, "compar": 21, "complet": [0, 22], "compon": 9, "compos": [9, 22, 27, 30], "comput": [20, 21, 23], "computedfieldinfo": 20, "concret": 17, "config": [2, 12, 13, 15, 17, 22, 30, 31], "config_path": 20, "configdict": 20, "configkei": [12, 31], "configload": [12, 20], "configur": [9, 12, 17, 19, 20, 22, 27, 29], "conform": 20, "connect": [9, 13, 19, 21, 24], "connection_paramet": 13, "connection_str": 13, "consist": 0, "consol": 30, "constant": [15, 18, 21, 22, 23, 31], "construct": 10, "constructor": 12, "contact": 5, "contain": [11, 12, 16, 17, 22, 29, 30], "content": [7, 31], "contrib": [12, 20], "contribut": 0, "convert": [11, 12], "copi": 18, "correct": [9, 13, 15, 17], "correctli": [13, 20], "correspond": 20, "cost": [11, 12, 16, 17, 20], "cost_r": [21, 23], "could": [21, 22], "count": [12, 23], "cours": [21, 23], "cover": 24, "creat": [0, 12, 16, 18, 19, 20, 21, 23, 26, 27, 30], "creation": 22, "credenti": 9, "credit": 21, "csv": 22, "ctrl": 22, "current": [9, 12, 13, 22], "current_delta": 13, "current_epsilon": 13, "custom": [5, 20, 29, 32], "d": [22, 26], "d_path": [22, 26], "dai": 22, "daisi": 22, "dashboard": 24, "data": [12, 18, 19, 20, 21, 22, 23, 24, 26, 30], "databas": [2, 5, 9, 12, 13, 15, 16, 19, 20, 21, 23, 24, 26, 30], "database_factori": [12, 13], "database_nam": 13, "database_typ": [12, 20, 22, 26], "datafram": [5, 11, 12, 16, 17, 18, 20, 21, 23], "datalab": 32, "dataset": [5, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 30], "dataset_cach": [12, 15], "dataset_collect": [20, 22], "dataset_df": 18, "dataset_info": 12, "dataset_must_exist": [12, 13], "dataset_nam": [8, 11, 12, 13, 15, 18, 20, 21, 22, 23, 26], "dataset_observ": 18, "dataset_path": [12, 18, 20, 22, 26], "dataset_stor": [12, 16, 20, 22, 31], "dataset_store_factori": [12, 15], "dataset_store_typ": [12, 31], "dataset_yaml": 20, "datasetofpathdb": [12, 20], "datasetofs3db": [12, 20], "datasetofus": [12, 20], "datasets_list": [12, 20, 22], "datasetscollect": [12, 20], "datasetstor": [12, 15, 16], "datasetstoreconfig": [12, 15, 20], "datasetstoretyp": [12, 20, 31], "date": [0, 1, 13], "db": [12, 13, 19, 22, 26, 31], "db_a": 26, "db_file": [12, 20], "db_n": 26, "db_name": [12, 20, 26], "db_p": 26, "db_pwd": 26, "db_type": [12, 20, 31], "db_type_mongodb": [12, 31], "db_u": 26, "dbconfig": [12, 13, 20], "decid": [21, 22], "decod": 22, "deconstruct": 19, "decor": 13, "decreas": 5, "def": 22, "default": [11, 12, 16, 17, 20, 21, 22, 26, 27, 29, 30], "defaultdb": 26, "defin": [20, 21], "del": 26, "del_dataset": [12, 22, 26, 31], "del_dataset_to_us": [12, 22, 26, 31], "del_us": [12, 22, 26, 31], "delai": 12, "delet": [1, 12, 19, 22, 26], "delta": [11, 12, 13, 16, 17, 20, 21, 22, 23, 26], "delta_cost": [12, 16, 21, 23], "demand": 32, "demo": [6, 19, 20], "demonstr": [6, 22, 24], "dep": 0, "depend": [0, 12, 27, 30, 32], "deploi": [0, 5, 9, 27, 28], "deploy": [0, 9, 27, 30, 32], "depth": 21, "describ": [5, 11, 13], "deseri": [9, 11], "deserialis": 11, "detail": [0, 9, 21, 22, 26], "develop": [0, 9, 13, 20, 21, 22, 23, 30, 32], "develop_mod": [12, 20, 31], "df": [11, 12, 18, 20, 21, 23], "df_dummi": [21, 23], "dict": [11, 12, 13, 15, 16, 17, 18, 20], "dictionari": [11, 12, 13, 16, 17, 18, 20, 21, 22], "dictionnari": [12, 13, 16], "did": 21, "differ": [0, 2, 6, 9, 11, 15, 21, 22, 23], "differenti": [5, 9, 21, 23], "diffprivlib": 20, "dimens": 21, "direct": 9, "directli": [0, 26, 27], "directori": [2, 29, 30], "disabl": 12, "disclosur": 21, "discov": [2, 28], "discuss": 17, "disk": 20, "displai": 21, "dispos": 21, "dist": 1, "distribut": 21, "diverg": 12, "divers": 9, "do": [0, 2, 5, 8, 21, 26], "doc": [0, 12, 17], "docker": [0, 24, 26, 28, 30], "dockercli": 22, "dockerfil": 30, "document": [0, 1, 9, 11, 12, 28], "doe": [5, 12, 13, 15, 16, 17, 18, 19, 21], "does_dataset_exist": [12, 13], "does_user_exist": [12, 13], "don": [21, 29], "done": [13, 21, 22], "down": 22, "download": 9, "dp": [11, 12, 15, 16, 17, 20, 21, 23], "dp_librairi": 21, "dp_librari": [12, 16, 20, 31], "dp_logic": [12, 31], "dp_queri": [12, 22, 31], "dp_querier": [12, 15, 31], "dplibrari": [7, 11, 12, 15, 16, 17, 31], "dplibraryconfig": [12, 20], "dpquerier": [12, 15, 16, 17], "dr": [21, 22], "dream": [21, 22], "drop": [12, 19, 26], "drop_collect": [12, 22, 26, 31], "ds_store_typ": [12, 20], "dscc": 30, "due": 5, "dummi": [11, 12, 16, 19, 20], "dummy_dataset": [12, 31], "dummy_nb_row": [11, 12, 16, 20], "dummy_opendp_query_handl": [12, 31], "dummy_r": [21, 23], "dummy_se": [11, 12, 16, 20], "dummy_smartnoise_sql_handl": [12, 31], "dummy_var_r": [21, 23], "dummyopendpinp": [12, 20], "dummysnsqlinp": [12, 20], "dure": [0, 2, 11, 13], "e": [9, 11, 12, 21, 26], "each": [9, 21, 22, 23], "easili": 32, "eco_branch": 22, "edit": 29, "educ": 22, "effect": 12, "effici": [9, 26], "either": 20, "ek": 29, "els": 21, "embark": [22, 23], "empti": 22, "en": 12, "enabl": [9, 12, 17, 19, 21, 23], "encod": [16, 17], "encount": [11, 23], "end": [11, 12, 19], "endpoint": [12, 19, 20, 21, 23, 26, 30], "endpoint_url": [12, 20, 22, 26], "enforc": [12, 13, 15], "enforce_tru": 12, "engin": 22, "enough": [5, 12, 17, 21], "ensur": [0, 9, 21, 22, 27, 30], "entir": 0, "enum": [11, 20], "enumer": 21, "environ": [0, 2, 9, 19, 21, 23, 26, 30], "epsilon": [11, 12, 13, 16, 17, 20, 21, 22, 23, 26], "epsilon_cost": [12, 16, 21, 23], "equal": [15, 21, 23], "error": [11, 12, 21, 22, 23], "error_handl": [12, 31], "error_messag": [7, 11, 20], "escal": 5, "especi": 29, "establish": 26, "estim": [11, 12, 16, 17], "estimate_cost": [12, 16], "estimate_opendp_cost": [7, 11, 12, 21, 23, 31], "estimate_smartnoise_cost": [7, 11, 12, 21, 23, 31], "etc": [0, 2, 9, 12, 20, 24], "even": 21, "event": [0, 2], "everi": [0, 21, 22], "everyth": [21, 22], "exactli": 21, "exampl": [5, 9, 20, 22, 24, 30], "example_config": 22, "example_dummy_opendp": 12, "example_dummy_smartnoise_sql": 12, "example_get_admin_db_data": 12, "example_get_dummy_dataset": 12, "example_input": [12, 31], "example_opendp": 12, "example_smartnoise_sql": 12, "example_smartnoise_sql_cost": 12, "except": [2, 11, 12, 13, 16, 17, 20, 21], "exec_run": 22, "execresult": 22, "execut": [0, 2, 9, 11, 12, 19, 21, 22, 23, 27], "exisit": 22, "exist": [1, 5, 12, 13, 15, 16, 17, 18, 22, 26], "exit": [19, 22], "expect": [21, 22, 23], "explain": [0, 21, 22, 24], "explor": 28, "extens": 9, "extern": [5, 9, 12, 16, 17, 20], "externallibraryexcept": [12, 17, 20], "extract": 21, "f": [21, 23, 26, 29], "f64": 12, "face": 9, "facilit": [9, 24], "fail": [5, 15, 20, 21, 23], "failur": 5, "fals": [11, 12, 13, 20, 21, 22, 23, 26], "familiar": 24, "far": 9, "fare": [22, 23], "fastapi": [9, 12, 20], "featur": [0, 6, 17], "femal": [21, 22, 23], "fetch": 22, "few": [21, 22, 23, 30], "field": [12, 13, 19, 20, 21, 22, 26], "fieldinfo": 20, "file": [0, 9, 12, 18, 19, 20, 26, 29, 30], "filenam": 21, "filepath": 20, "final": 21, "find": [6, 9, 32], "fine": 32, "finish": [0, 12, 22], "first": [0, 13, 16, 17, 19, 21, 22, 23, 30], "fit": [15, 28, 29], "fix": [0, 5], "fixed_delta": [11, 12, 20, 21], "fixed_smoothed_max_diverg": [12, 31], "fixtur": 19, "flag": [12, 13, 21], "flake8": 0, "flipper": 21, "flipper_length_mm": [12, 21, 22], "float": [11, 12, 13, 16, 17, 20, 21, 22, 23], "floating_point": [12, 20], "fly": 21, "follow": [0, 1, 8, 9, 12, 21, 22, 29, 30, 32], "folow": 32, "fonction": 21, "forget": [0, 21], "format": [0, 11, 12, 13, 18, 20, 21, 22], "found": [22, 24], "fr": 22, "franc": 32, "from": [0, 2, 5, 8, 9, 11, 12, 13, 15, 17, 18, 19, 20, 21, 22, 23, 26], "frostina": 22, "fso": [8, 22], "fso_income_synthet": 22, "fso_income_synthetic_metadata": 22, "func": [12, 13, 22], "function": [8, 9, 11, 12, 13, 15, 19, 20, 21, 22, 23, 26], "function_map": 22, "functionn": 6, "further": 0, "g": [9, 11, 12, 23], "gaussian": 12, "gave": 21, "gener": [0, 2, 11, 12, 19], "gentoo": [21, 22], "get": [1, 12, 13, 15, 16, 17, 18, 19, 20, 22, 26, 29, 30], "get_and_set_may_user_queri": [12, 13], "get_config": [12, 20], "get_dataset": [22, 26], "get_dataset_field": [12, 13], "get_dataset_metadata": [7, 11, 12, 13, 21, 23, 31], "get_dummy_dataset": [7, 11, 12, 21, 23, 31], "get_dummy_dataset_for_queri": [12, 16], "get_epsilon_or_delta": [12, 13], "get_initial_budget": [7, 11, 12, 13, 21, 23, 31], "get_list_of_dataset": [12, 31], "get_list_of_datasets_from_us": [12, 31], "get_list_of_us": [12, 31], "get_memory_usag": [12, 18, 31], "get_metadata": [12, 18], "get_mongodb": [12, 13], "get_mongodb_url": [12, 13], "get_output_measur": [16, 17], "get_pandas_df": [12, 18], "get_previous_queri": [7, 11, 21], "get_queri": [12, 15], "get_remaining_budget": [7, 11, 12, 13, 21, 23, 31], "get_stat": [12, 31], "get_total_spent_budget": [7, 11, 12, 13, 21, 23, 31], "get_us": [22, 26], "get_user_dataset": [22, 26], "get_user_previous_queri": [12, 13, 31], "getdbdata": [12, 20], "getdummydataset": [12, 16, 20], "git": 30, "github": [1, 2, 6, 9, 12, 17, 24, 30], "githubusercont": 22, "give": [0, 13, 21, 22, 23], "given": [12, 15, 16, 20, 21, 22, 26], "gke": 29, "go": [22, 30], "good": 21, "got": 1, "gramm": 21, "grounbdbreak": 21, "gt": [20, 21, 22], "guess": 21, "guid": [8, 29], "guidanc": 28, "h": [22, 23], "ha": [9, 12, 13, 21, 22], "hackathon": 9, "had": [21, 22], "hamming_dist": [12, 31], "hammingdist": 12, "handl": [9, 11, 12, 16], "handle_queri": [12, 16], "handler": 16, "happen": [5, 21], "has_dataset_input_metr": [16, 17], "has_user_access_to_dataset": [12, 13], "have": [0, 2, 5, 8, 12, 13, 16, 21, 22, 23, 29, 30], "haven": 29, "he": 22, "head": [0, 21, 23], "header": 12, "heard": 22, "helm": [0, 9, 28], "help": [5, 6, 22], "henc": 21, "her": [21, 22, 23], "here": [6, 21, 27, 29], "hesit": 22, "hi": 22, "high": [21, 23], "him": 22, "histogram": 21, "histori": 12, "hold": [15, 16, 20, 22], "honest_but_curi": [12, 20], "hook": 19, "host_ip": [12, 20], "host_port": [12, 20], "hour": 13, "how": [6, 9, 21, 22, 24, 26, 28, 30], "howev": 21, "html": [12, 17], "http": [9, 11, 12, 17, 18, 21, 22, 23, 30], "i": [0, 1, 2, 5, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 29, 30, 32], "icerbegina": 21, "icergina": 21, "id": [12, 26], "idea": 21, "ignor": 0, "iloc": [21, 23], "imag": [0, 21, 30], "image_demo_cli": 21, "impact": [21, 23], "implement": [9, 15, 17], "import": [8, 21, 22, 23], "in_memory_dataset": [12, 31], "includ": [9, 11, 13], "incom": [9, 22], "income_synthetic_data": 22, "inde": 22, "index": [9, 21], "index_nam": 21, "indic": 12, "info": [12, 22], "inform": [0, 2, 9, 12, 15, 17, 20, 21, 22, 23, 26], "infrastructur": [9, 28], "ini": 0, "init": [21, 23], "initi": [8, 11, 12, 13, 15, 16, 18, 21, 22, 23, 26, 32], "initial_delta": [12, 20, 21, 22, 23, 26], "initial_epsilon": [12, 20, 21, 22, 23, 26], "initialis": [6, 8, 13, 20], "inmemorydataset": [12, 16, 18], "input": [12, 17, 20], "input_model": [12, 31], "inse": 32, "insert_delete_dist": [12, 31], "insertdeletedist": 12, "insid": [22, 30], "instal": [0, 2, 6, 9, 22, 28, 30], "instanc": [5, 12, 13, 15, 16, 17, 18, 20, 30], "instanti": [13, 15, 21, 23], "instead": [21, 26], "instruct": [8, 26, 28, 29, 30], "int": [11, 12, 15, 16, 17, 18, 20, 22, 23], "int_dist": [12, 31], "integr": [2, 19], "intent": 22, "interact": [9, 21, 22, 23, 26, 27, 30], "interest": [21, 22], "interfac": 15, "intern": [5, 20], "internalserverexcept": [12, 13, 15, 16, 17, 18, 20], "interpret": 20, "intervent": 0, "introduct": 28, "invalid": [5, 20, 23], "invalidqueryexcept": [12, 13, 16, 17, 20, 21, 23], "investig": 22, "ipykernel_1062": 23, "ipython": 21, "iri": 22, "iris_metadata": 22, "is_measur": [16, 17], "isert": 0, "island": [12, 21, 22], "issu": [0, 5, 20], "item": 0, "its": [8, 9, 15, 20, 22, 30], "jack": [22, 23], "jitter": [12, 31], "json": [12, 13, 16, 17], "jsonrespons": [12, 20], "jupyt": [22, 30], "just": [21, 22, 23], "keep": [12, 22], "kei": [12, 13, 21, 23, 26], "kept": 21, "kind": 29, "know": [21, 23], "kubectl": 29, "kubernet": [9, 24, 28], "kwarg": 12, "l": [22, 23], "lab": [9, 22], "lambda": 22, "lancer": 32, "laplacian": [21, 23], "larg": 15, "last": [13, 22, 30], "later": [10, 22], "latest": 0, "latter": 19, "layer": 9, "lazi": 15, "lazili": 15, "le": 20, "learn": [21, 28], "least": 15, "len": [21, 22], "let": 22, "lh": 12, "lib": 17, "librairi": [11, 20], "librari": [0, 5, 6, 8, 9, 12, 15, 16, 17, 20, 22], "lifespan": [12, 31], "like": [20, 21, 29], "limit": 21, "line": [22, 26, 29], "link": [9, 32], "linter": 0, "linux": 2, "list": [0, 11, 12, 13, 17, 18, 19, 20, 22, 26], "literal_ev": 22, "live": 20, "load": [12, 15, 20], "load_config": [12, 20], "local": [0, 2, 9, 12, 18, 19, 20, 21, 23, 24, 28, 29], "localhost": [27, 30], "locat": [12, 18, 30, 32], "log_level": [12, 20], "loggr": [12, 31], "logic": 9, "loma": [0, 1, 2, 6, 8, 23, 26, 28, 29, 30], "lomas_cli": [0, 3, 4, 8, 9, 21, 23], "lomas_client_dev": 22, "lomas_serv": [0, 2, 3, 11, 21, 23, 25], "lomas_server_dev": 22, "lomas_streamlit_dev": 22, "lomas_test_mongo_integr": 19, "long": 8, "look": [21, 22], "lord": 22, "loss": 12, "lower": [21, 22, 23], "lower_bound": [21, 23], "lru": [12, 15, 20, 31], "lru_cach": 12, "lru_dataset_stor": [12, 31], "lru_dataset_store_max_s": [12, 31], "lrudatasetstor": [12, 15], "lrudatasetstoreconfig": [12, 20], "lt": [21, 22], "m": 2, "m_db": [22, 26], "m_s3_ak": 26, "m_s3_sak": 26, "m_s3_url": 26, "m_s3b": 26, "m_s3k": 26, "machin": [28, 29, 30], "madam": 22, "made": 21, "magnitud": [12, 20], "mai": [5, 12, 13, 19, 22, 26, 32], "main": [0, 9, 12], "maintain": 30, "make": [0, 2, 15, 21, 22, 23, 24, 29, 30], "make_chain_tt": 12, "make_dummy_dataset": [12, 16], "make_gaussian": [11, 12], "make_select_column": [12, 21, 23], "make_split_datafram": [12, 21, 23], "make_zcdp_to_approxdp": [11, 12], "male": [21, 22, 23], "malici": 22, "manag": [9, 13, 15, 21, 22, 24, 26], "manual": 0, "map": 20, "mass": 21, "master": [0, 22], "match": [11, 20], "max_diverg": [12, 31], "max_id": [12, 20, 21, 22, 23], "max_memory_usag": [12, 15, 20], "maximum": 15, "may_queri": [12, 13, 20, 22], "mcfreez": 22, "md": [1, 9], "mea": [21, 23], "meant": 20, "measur": [5, 11, 12, 17, 20, 21, 23], "mechan": [5, 11, 12, 17, 20, 21], "medata": 22, "memori": [12, 15, 16, 18, 19], "merg": [0, 20], "messag": [5, 11, 22], "meta": 22, "metadata": [9, 11, 12, 13, 16, 18, 20, 22, 26, 30], "metadata_aws_access_key_id": [12, 26], "metadata_aws_secret_access_kei": [12, 26], "metadata_database_typ": [12, 26], "metadata_dataset": 19, "metadata_endpoint_url": [12, 26], "metadata_of": 19, "metadata_path": [12, 20, 22, 26], "metadata_s3_bucket": [12, 26], "metadata_s3_kei": [12, 26], "metadataofdataset": [12, 20], "metadataofpathdb": [12, 20], "metadataofs3db": [12, 20], "metatada": 26, "method": [12, 15, 19, 20, 22, 27, 28], "methodnam": 19, "metric": [12, 17], "mib": 18, "micro": 9, "middlewar": [12, 31], "might": [13, 21, 22, 23], "mind": 22, "minikub": 29, "minimum": 20, "minio": [22, 30], "mistak": 21, "mm": 21, "mod": [12, 21], "mode": [20, 22, 30], "model": [9, 20], "model_computed_field": [12, 20], "model_config": [12, 20], "model_field": [12, 20], "modifi": [22, 28], "modul": [7, 9, 22, 31], "mondai": 0, "mongo": [12, 22], "mongodata": [22, 30], "mongodb": [2, 5, 9, 12, 13, 19, 20, 24, 30, 31], "mongodb_addr": [12, 31], "mongodb_admin": [2, 19, 22, 31], "mongodb_admin_cli": [22, 26, 31], "mongodb_databas": [12, 31], "mongodb_port": [12, 31], "mongodbconfig": [12, 20], "more": [0, 2, 17, 21, 22], "most": 22, "mount": 22, "move": 30, "mp": [22, 26], "mr": 22, "much": 21, "multipl": [21, 22, 24], "must": [0, 11, 12, 13, 21, 22, 23, 26, 30], "mwaskom": 22, "mypi": 0, "name": [0, 8, 9, 11, 12, 13, 15, 16, 18, 20, 21, 22, 23, 26], "name_of_dataset_you_want_to_queri": 8, "nan": [17, 23], "navig": [29, 30], "nb_iter": 17, "nb_passeng": 23, "nb_penguin": 21, "nb_row": [11, 12, 16, 21, 23], "necessari": 9, "need": [0, 1, 21, 22, 23, 28, 29, 30, 32], "network": 30, "never": [0, 5, 9, 21], "new": [0, 12, 13, 20, 22], "nobodi": 21, "nois": [21, 23], "non": 19, "none": [11, 12, 13, 15, 17, 18, 19, 20, 21], "nonetyp": 20, "noqa": 12, "note": [11, 12, 22, 26], "notebook": [6, 21, 22, 24, 30], "noth": 22, "notifi": 15, "now": [8, 21, 23, 26, 30], "no\u00efs": 20, "np": [21, 23], "nso": 9, "number": [0, 11, 12, 17, 18, 30], "numpi": [21, 23], "o": [23, 26], "object": [11, 12, 15, 16, 17, 20, 21, 22, 23], "oblivi": 9, "observ": 18, "obtain": 21, "occur": [5, 16, 20], "od": [22, 26], "off": 0, "offer": [21, 22], "offici": 29, "old": 23, "om": [22, 26], "onc": [0, 12, 21, 22, 23, 29, 30, 32], "one": [0, 1, 8, 12, 16, 21, 22, 23, 29], "ones": 22, "ongo": [12, 16], "onli": [0, 9, 18, 19, 21, 22, 23, 27, 30], "onyxia": [24, 28], "open": [8, 30], "opendp": [5, 6, 7, 9, 11, 12, 16, 20, 31], "opendp_config": 17, "opendp_json": [12, 20, 21], "opendp_pip": 17, "opendp_pipelin": [11, 12, 21, 23], "opendp_queri": [7, 11, 21, 23], "opendp_query_handl": [12, 31], "opendpconfig": [12, 17, 20], "opendpdatasetinputmetr": [12, 31], "opendpinp": [12, 17, 20], "opendpmeasur": [12, 17, 31], "opendpqueri": [16, 17], "oper": [5, 13, 22], "option": [11, 12, 16, 17, 20, 21, 26, 28, 32], "optionn": [21, 23], "optionnali": 21, "order": [0, 15, 20, 21, 22], "ordereddict": 15, "org": [12, 17], "origin": 9, "other": [9, 12, 15, 16, 17, 20, 21, 22], "otherwis": [13, 20, 22], "our": [6, 9, 22, 24], "out": 22, "output": [17, 19, 22], "overal": [13, 18], "overrid": [12, 17], "overview": [0, 24], "overwrit": [12, 22, 26], "overwrite_dataset": [12, 22, 26], "overwrite_metadata": [12, 22, 26], "own": [0, 9, 22], "owner": [9, 22, 24, 26], "p": [1, 22, 23], "packag": [0, 4, 7, 25, 31], "page": [0, 9, 10, 21, 22], "panda": [11, 18, 20], "param": [12, 20], "paramet": [5, 8, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 32], "parch": [22, 23], "part": [0, 9], "partial_chain": 12, "particip": 21, "particular": 13, "particularli": [21, 23], "pass": [0, 22], "passeng": 23, "passengerid": [22, 23], "password": [12, 20, 26], "path": [12, 13, 18, 20, 22, 26, 31], "path_dataset": [12, 31], "path_db": [12, 20, 22, 26], "pathdataset": [12, 18], "patient": 30, "pclass": [22, 23], "pd": [11, 12, 16, 17, 18, 20], "penguin": [6, 12, 22], "penguin_metadata": [21, 22], "perform": [0, 12, 16, 17, 22, 26], "permiss": 9, "persist": [22, 30], "pet": 9, "petal_length": 22, "petal_width": 22, "pip": [0, 8, 21, 22, 23], "pipelin": [5, 11, 12, 17, 21, 23], "place": [0, 22], "platform": [9, 21, 24, 32], "pleas": [0, 2, 9, 10, 30], "png": 21, "point": 9, "port": [12, 20, 22, 26], "possibl": [2, 12, 21, 23, 26], "postprocess": [11, 12, 20, 21], "potenti": [9, 12], "power": 21, "pr": 0, "practic": 6, "prepar": [0, 9, 13, 21, 26], "prepare_save_queri": [12, 13], "prerequisit": 28, "presenc": 12, "present": [8, 21], "prevent": 20, "previou": [0, 11, 12, 13, 21, 22, 23, 26], "previous": 21, "previous_queri": [12, 21], "primari": 9, "print": [21, 22, 23, 26], "privaci": [5, 9, 11, 12, 17, 21], "privat": [9, 11, 12, 15, 18], "private_dataset": [12, 16, 17, 22, 31], "private_dataset_factori": [12, 18], "private_dataset_observ": [12, 31], "privatedatabasetyp": [12, 20, 31], "privatedataset": [12, 15, 16, 17, 18], "privatedatasetobserv": [12, 15, 18], "problem": 21, "proce": 29, "process": [0, 1, 9, 20, 21, 23, 29, 30, 32], "profess": 22, "project": [0, 21, 32], "promis": 21, "properli": [20, 21], "protect": [9, 12], "provid": [8, 9, 11, 12, 13, 21, 22, 23, 24, 26, 28, 29, 30], "public": 21, "publish": 0, "pull": [0, 2, 30], "purpos": 22, "push": [0, 2], "put": 15, "py": [0, 1, 16, 19, 22, 23, 26], "pydant": 20, "pylint": [0, 12], "pylintrc": 0, "pymongo": [5, 13], "pypi": 9, "pypi_token": 1, "python": [1, 2, 8, 12, 21, 22, 26], "q": [22, 23], "qualiti": 0, "qualnam": [11, 12], "queen": 21, "queri": [5, 6, 9, 11, 12, 13, 16, 17, 19, 20, 26], "querier": [15, 16, 17], "querier_factori": [16, 17], "queriermanag": 15, "queries_arch": [13, 26], "query_json": [12, 13, 16, 17], "query_respons": [12, 16, 21, 23], "query_str": [12, 20, 21], "query_typ": [15, 16], "queryhandl": [12, 16], "r": 12, "rais": [11, 12, 13, 15, 16, 17, 18, 19, 20, 22], "random": [11, 12, 20, 21], "randomli": 21, "rang": 21, "raw": [12, 20, 22], "re": [8, 11, 13, 22], "read": 18, "readi": [21, 22], "readm": [1, 9], "real": 16, "realli": 21, "reasearch": 9, "reason": [5, 12], "rebas": 0, "receiv": 13, "recent": [15, 22], "reconstruct": [17, 20], "reconstruct_measurement_pipelin": [16, 17], "redirect": [12, 19], "refer": [0, 2, 9, 15, 16], "reformat": 0, "regard": 9, "region": 22, "regist": [21, 23], "relat": [9, 12], "relev": [5, 21], "reli": [0, 30], "reload": [12, 20], "remain": [0, 9, 11, 12, 13, 21, 23], "remaining_delta": [12, 21, 23], "remaining_epsilon": [12, 21, 23], "remot": [9, 18], "remov": [12, 13, 15], "replac": [20, 22], "repo": 0, "repons": 20, "repositori": [6, 9, 24, 30], "repres": [11, 12, 21], "represent": [16, 17], "reproduc": 21, "request": [0, 2, 5, 9, 11, 12, 13, 16, 17, 20, 21, 23], "requested_bi": [12, 16, 21], "requir": [2, 8, 9, 19, 20, 21, 22, 26, 28, 29, 32], "research": [21, 22, 23], "respons": [5, 9, 11, 12, 13, 16, 17, 20, 21, 22, 23], "rest": [9, 21, 22], "restart": 30, "result": [11, 12, 13, 16, 17, 20, 21, 22, 23], "retriev": [11, 12, 13, 22], "return": [11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23], "reveal": 22, "rh": 12, "right": 5, "risk": 21, "root": [12, 19, 21, 23, 31], "round": [21, 23], "row": [11, 12], "row_privaci": [12, 20, 21, 22, 23], "rtype": 12, "run": [0, 1, 2, 8, 12, 19, 22, 27, 29, 30], "run_basic_test": 2, "run_cli_command": [12, 19], "run_command": 22, "run_lint": 0, "run_tests_and_converag": 2, "runtest": 19, "runtim": [20, 32], "runtime_arg": [12, 31], "runtimewarn": 23, "rust": 12, "s3": [6, 9, 12, 18, 19, 20, 26, 31], "s3_ak": 26, "s3_bucket": [12, 20, 22, 26], "s3_dataset": [12, 31], "s3_db": [12, 20, 22, 26], "s3_kei": [12, 20, 22, 26], "s3_paramet": 18, "s3_sak": 26, "s3_url": 26, "s3b": 26, "s3dataset": [12, 18], "s3k": 26, "safeguard": [21, 23], "same": [21, 22, 30], "satisfi": 32, "save": [13, 29], "save_current_databas": [12, 13], "save_queri": [12, 13], "scale": [12, 21, 23], "scenario": 6, "schema": 22, "scienc": 9, "scientist": 9, "scope": 22, "script": [0, 2, 22], "sdist": 1, "seaborn": 22, "seamless": [9, 21, 23], "search": 9, "second": [13, 16, 17, 22], "secret": [12, 20, 26], "secrets_path": 20, "section": [0, 6, 9, 24, 26], "secur": [0, 21, 22, 23], "see": [0, 6, 9, 11, 12, 17, 22], "seed": [11, 12, 16, 21, 23], "seen": [21, 23], "select": [12, 21, 23, 32], "semver": 0, "send": [11, 21, 23], "sensit": [9, 18, 21], "sent": [9, 13], "sepal_length": 22, "sepal_width": 22, "separ": [12, 13, 21, 23], "serial": 9, "serialis": 11, "serv": 9, "server": [0, 3, 5, 11, 12, 13, 16, 20, 21, 23, 26, 27, 28, 29, 30, 31, 32], "server_contain": 22, "server_l": [12, 20], "servic": [9, 20, 22, 28, 30, 32], "session": 22, "set": [0, 8, 12, 13, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32], "set_budget_field": [12, 22, 26, 31], "set_config": [12, 20], "set_may_queri": [12, 22, 26, 31], "set_may_user_queri": [12, 13], "set_mechan": [16, 17], "set_opendp_features_config": [16, 17], "setosa": 22, "setup": [0, 1, 8, 12, 19, 27], "setupclass": [12, 19], "sever": [0, 29], "sex": [12, 21, 22, 23], "sh": [0, 2], "sha": 0, "shape": [21, 23], "share": 9, "she": 21, "short": [0, 9], "should": [0, 5, 20, 21, 22, 23, 30], "show": [12, 19, 22, 26, 29], "show_arch": [22, 26], "show_archives_of_us": [12, 31], "show_collect": [12, 22, 26, 31], "show_dataset": [12, 22, 26, 31], "show_metadata": [22, 26], "show_metadata_of_dataset": [12, 31], "show_us": [12, 22, 26, 31], "showcas": [21, 22], "shown": [12, 26], "shutdown": 12, "sibsp": [22, 23], "side": [9, 12], "similar": 21, "simpl": 2, "simpli": [0, 27], "simplifi": [27, 29], "sinc": [13, 30], "singl": 21, "singleton": 20, "size": [12, 15, 21, 23], "slightli": [21, 23], "small": [17, 21, 23], "smarnois": 20, "smartnois": [5, 11, 12, 17, 19, 20, 22], "smartnoise_queri": [7, 11, 21, 23], "smartnoise_sql": [7, 11, 12, 16, 21, 31], "smartnoise_sql_handl": [12, 31], "smartnoisesql": [9, 12, 17, 21, 22, 23], "smartnoisesqlqueri": [16, 17], "smoothed_max_diverg": [12, 31], "smoothedmaxdiverg": [11, 12], "snsqlinp": [12, 17, 20], "snsqlinpcost": [12, 17, 20], "so": [2, 9, 15, 21, 22, 30], "solut": 21, "some": [6, 12, 21, 24, 30], "sourc": [11, 12, 13, 15, 16, 17, 18, 19, 20], "space": 22, "speci": [12, 22], "species_count_pipelin": 21, "species_counts_r": 21, "specif": [0, 5, 9, 12, 13, 16, 21, 22, 29, 32], "specifi": [12, 13, 15, 22, 26], "spend": [13, 21], "spent": [11, 12, 13, 16, 21, 23], "spent_delta": [12, 13, 16, 21], "spent_epsilon": [12, 13, 16, 21], "spent_valu": 13, "split": [9, 22], "sql": [5, 11, 12, 17, 19, 20], "sqrt": [21, 23], "src": 12, "sspcloud": 22, "stabl": [0, 12], "stai": [9, 15, 22], "stall": [12, 31], "standard": [2, 19, 21, 23], "standard_error": [21, 23], "start": [0, 9, 11, 12, 19, 21, 26, 30, 32], "startup": [5, 12], "state": [9, 12, 13, 19, 22, 30], "static": 0, "statist": [6, 9], "statu": [11, 13, 19, 21, 23], "step": [1, 6, 11, 22, 28, 29, 32], "still": [10, 21], "stop": 26, "storag": [18, 22], "store": [9, 12, 15, 19, 20, 21, 22, 23, 26], "str": [11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 23], "stream": 20, "stream_datafram": [12, 20], "streamingrespons": [12, 20], "streamlin": 0, "streamlit": [22, 26, 30], "strenum": [11, 12], "string": [11, 12, 16, 17, 21, 22, 23], "strip": 22, "strongli": 9, "style": 0, "subcommand": [19, 22], "submit_limit": [12, 20, 31], "submodul": [7, 31], "subpackag": 31, "subscrib": 15, "subscribe_for_memory_usage_upd": [12, 18], "subsequ": 0, "substarct": [21, 23], "successfulli": 29, "suffici": 5, "suit": 28, "supli": 12, "suppli": 12, "support": [13, 18], "sure": [0, 2, 22, 23, 29, 30], "surviv": [22, 23], "symmetric_dist": [12, 31], "symmetricdist": 12, "synthet": 21, "system": 30, "t": [21, 22, 29], "tabl": [0, 11, 12, 13, 22], "tag": 0, "take": [0, 9, 18, 30], "task": [0, 9, 24, 26], "team": 5, "tear": 22, "teardown": [12, 19], "teardownclass": [12, 19], "termin": [8, 22, 30], "test": [0, 1, 9, 12, 21, 22, 31], "test_add_dataset_to_us": [12, 19], "test_add_dataset_to_user_cli": [12, 19], "test_add_datasets_via_yaml": [12, 19], "test_add_datasets_via_yaml_cli": [12, 19], "test_add_demo_data_to_admindb": [12, 19], "test_add_local_dataset": [12, 19], "test_add_local_dataset_cli": [12, 19], "test_add_s3_dataset": [12, 19], "test_add_s3_datasets_via_yaml": [12, 19], "test_add_us": [12, 19], "test_add_user_cli": [12, 19], "test_add_user_wb": [12, 19], "test_add_user_wb_cli": [12, 19], "test_add_users_via_yaml": [12, 19], "test_add_users_via_yaml_cli": [12, 19], "test_api": [12, 31], "test_boolean_column": [12, 19], "test_budget_over_limit": [12, 19], "test_cardinality_column": [12, 19], "test_config": 2, "test_config_and_internal_server_except": [12, 19], "test_datetime_column": [12, 19], "test_del_dataset": [12, 19], "test_del_dataset_cli": [12, 19], "test_del_dataset_to_us": [12, 19], "test_del_dataset_to_user_cli": [12, 19], "test_del_us": [12, 19], "test_del_user_cli": [12, 19], "test_drop_collect": [12, 19], "test_drop_collection_cli": [12, 19], "test_dummy_gener": [12, 31], "test_dummy_opendp_queri": [12, 19], "test_dummy_smartnoise_queri": [12, 19], "test_float_column": [12, 19], "test_get_dataset_metadata": [12, 19], "test_get_dummy_dataset": [12, 19], "test_get_initial_budget": [12, 19], "test_get_list_of_dataset": [12, 19], "test_get_list_of_datasets_cli": [12, 19], "test_get_list_of_datasets_from_us": [12, 19], "test_get_list_of_datasets_from_user_cli": [12, 19], "test_get_list_of_us": [12, 19], "test_get_list_of_users_cli": [12, 19], "test_get_previous_queri": [12, 19], "test_get_remaining_budget": [12, 19], "test_get_total_spent_budget": [12, 19], "test_int_column": [12, 19], "test_memory_usag": [12, 19], "test_mongodb_admin": [12, 31], "test_mongodb_admin_cli": [12, 31], "test_nullable_column": [12, 19], "test_opendp_cost": [12, 19], "test_opendp_queri": [12, 19], "test_root": [12, 19], "test_se": [12, 19], "test_set_budget_field": [12, 19], "test_set_budget_field_cli": [12, 19], "test_set_may_queri": [12, 19], "test_set_may_query_cli": [12, 19], "test_show_archives_of_us": [12, 19], "test_show_archives_of_user_cli": [12, 19], "test_show_collect": [12, 19], "test_show_collection_cli": [12, 19], "test_show_dataset": [12, 19], "test_show_dataset_cli": [12, 19], "test_show_metadata_of_dataset": [12, 19], "test_show_metadata_of_dataset_cli": [12, 19], "test_show_us": [12, 19], "test_show_user_cli": [12, 19], "test_smartnoise_cost": [12, 19], "test_smartnoise_queri": [12, 19], "test_smartnoise_query_on_s3_dataset": [12, 19], "test_stat": [12, 19], "test_subsequent_budget_limit_log": [12, 19], "test_unknown_column": [12, 19], "testcas": 19, "testmakedummydataset": [12, 19], "testmongodbadmin": [12, 19], "testrootapiendpoint": [12, 19], "text": 11, "than": [21, 23], "thank": 21, "thei": [0, 5, 9, 15, 21, 22], "them": [0, 20, 21, 22], "then_cast_default": [12, 21, 23], "then_clamp": [12, 21, 23], "then_count_by_categori": 21, "then_laplac": [12, 21, 23], "then_res": [12, 21, 23], "then_vari": [12, 21, 23], "therefor": [21, 22, 23], "thi": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32], "those": [2, 11, 32], "though": 27, "three": 0, "through": [22, 29, 30], "throw": 20, "thu": 9, "ticket": [22, 23], "time": [0, 12, 20, 21, 30], "time_attack": [12, 20, 31], "timeattack": [12, 20], "timeattackmethod": [12, 20, 31], "timestamp": 21, "titan": [6, 22, 30], "titanic_metadata": [22, 23], "tmp": 23, "to_dict": 22, "toa": [12, 21, 23], "todo": 16, "token": 1, "tolist": [21, 23], "too": [15, 17], "tool": [0, 24, 29], "torgersen": [21, 22], "total": [11, 12, 13, 15, 21, 22, 23], "total_spent_delta": [12, 13, 20, 21, 22, 23], "total_spent_epsilon": [12, 13, 20, 21, 22, 23], "traceback": 22, "tran": [21, 23], "transform": [12, 21, 23], "translat": 20, "tri": [5, 21], "trial": 17, "trigger": [0, 5], "true": [11, 12, 13, 19, 20, 21, 22, 23, 26, 27], "try": [10, 21], "tune": 32, "tupl": [16, 17], "twine": 1, "two": [9, 21], "type": [0, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 26], "typic": 9, "u": [1, 9, 22, 23, 26], "u32": 12, "un": 9, "unauthor": 20, "unauthorizedaccessexcept": [12, 13, 16, 20], "under": 10, "understand": 6, "understood": 21, "uneth": 22, "unexpect": 20, "unforseen": [12, 16, 17], "union": [11, 12, 17, 20], "unittest": 2, "unknown": [11, 12, 13, 16, 17, 20, 21], "unless": 22, "until": [15, 22], "up": [0, 1, 19, 22, 29, 30], "updat": [0, 1, 9, 12, 13, 15, 17, 21, 22], "update_budget": [12, 13], "update_delta": [12, 13], "update_epsilon": [12, 13], "update_epsilon_or_delta": [12, 13], "update_memory_usag": [12, 15], "upload": 1, "upper": [21, 22, 23], "upper_bound": [21, 23], "url": [8, 11, 12, 13, 21, 23, 26], "us": [0, 2, 6, 8, 9, 11, 12, 13, 15, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30], "usag": [8, 12, 15, 18, 19, 22], "user": [5, 9, 11, 12, 13, 15, 16, 19, 20, 21, 23, 24, 27, 30], "user_collect": [20, 22], "user_dataset": 12, "user_must_exist": [12, 13], "user_must_have_access_to_dataset": [12, 13], "user_nam": [8, 11, 12, 13, 16, 20, 21, 22, 23], "user_pwd": 26, "user_yaml": 20, "usercollect": [12, 20], "usernam": [12, 13, 20, 26], "usr": 20, "usual": 9, "utf": 22, "util": [5, 9, 12, 16, 22, 31], "uvicorn": 20, "uvicorn_serv": [22, 31], "v": 26, "v1": 20, "valid": [0, 15, 16], "valu": [5, 11, 12, 13, 16, 17, 21, 22, 23, 26, 27, 28], "valueerror": [11, 12, 19, 22], "var_ag": 23, "var_age_transformation_pipelin": 23, "var_bill_length": 21, "var_bill_length_measurement_pipelin": 21, "var_r": [21, 23], "vari": 27, "variabl": [19, 21, 27], "varianc": [21, 23], "variou": [0, 6, 21, 24, 26, 28], "venv": 2, "veri": 21, "verifi": [0, 1, 13, 19, 21], "versicolor": 22, "version": [0, 10, 12], "via": [0, 1, 9, 19, 21, 23, 24], "virginica": 22, "visibl": 21, "visualis": 26, "volum": [26, 30], "vx": 0, "wa": [9, 21, 22, 23], "wait": 22, "want": [21, 22, 23], "warn": [0, 11], "wast": 21, "we": [0, 9, 15, 22, 23, 24, 29], "web": 30, "well": [0, 9], "were": 21, "what": [0, 5, 21, 23], "when": [0, 5, 15, 20, 21, 27], "where": [21, 22, 26, 30], "whether": [11, 12], "which": [0, 5, 9, 12, 21, 22, 23], "while": [5, 9, 19], "why": 5, "width": 21, "wip_xx": 0, "wish": 1, "within": [5, 20, 26, 32], "without": [2, 5, 21, 22], "won": [21, 22], "work": [2, 21], "worker": [12, 20], "workflow": [1, 2], "worri": 21, "would": 21, "wrap": 13, "wrapper": [12, 13], "wrapper_decor": 22, "write": [5, 21], "writeconcernerror": [5, 12, 13], "writeresult": 13, "written": 22, "wrong": 19, "x": [0, 23], "xx": 0, "y": 0, "yaml": [0, 2, 12, 13, 19, 20, 22, 26, 27, 28, 31], "yaml_databas": [12, 31], "yaml_db_path": 13, "yaml_fil": [12, 26], "yamldatabas": 19, "yamldbconfig": [12, 20], "ye": 0, "year": 23, "yet": [22, 29], "yf": [22, 26], "yield": 12, "yml": 0, "you": [0, 6, 8, 9, 22, 27, 28, 29, 30, 32], "your": [0, 8, 22, 27, 28, 29, 30, 32], "your_deployement_url": 8, "your_nam": 8, "yourself": 24, "z": 0, "zero": 19, "zero_concentrated_diverg": [12, 31], "zeroconcentrateddiverg": [11, 12], "zscore": [21, 23]}, "titles": ["Notes for Contributors", "Notes for Client Contributors", "Notes for Server Contributors", "API Documentation", "Client API", "Errors", "Examples", "lomas_client", "Quickstart", "Lomas: The Data Oases Hidden Behind the Mist.", "Welcome to Lomas documentation", "lomas_client package", "lomas_server package", "lomas_server.admin_database package", "lomas_server.administration package", "lomas_server.dataset_store package", "lomas_server.dp_queries package", "lomas_server.dp_queries.dp_libraries package", "lomas_server.private_dataset package", "lomas_server.tests package", "lomas_server.utils package", "Lomas: Client demo", "Lomas-server: CLI administration", "S3 example", "Administration", "Server API", "CLI", "Dashboard", "Deployment", "Kubernetes", "Local", "lomas_server", "Onyxia"], "titleterms": {"1": [21, 23], "2": [21, 23], "3": [21, 23], "4": [21, 23], "5": 21, "The": 9, "access": [22, 27, 29], "add": 22, "admin_databas": 13, "administr": [14, 22, 24, 26], "ag": 23, "all": 22, "anti_timing_att": 20, "api": [3, 4, 25], "app": 12, "archiv": [21, 22], "averag": [21, 23], "basic_dataset_stor": 15, "behind": 9, "bill": 21, "branch": 0, "budget": [21, 22, 23], "can": 22, "chang": 22, "chart": 29, "check": 0, "cli": [22, 26], "client": [1, 4, 8, 9, 11, 21, 23], "collect": 26, "collections_model": 20, "confid": [21, 23], "config": 20, "connect": 26, "constant": [12, 19], "content": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], "contributor": [0, 1, 2], "cost": [21, 23], "count": 21, "creat": 22, "current": [21, 23], "dashboard": 27, "data": 9, "databas": 22, "dataset": [21, 22, 23, 26], "dataset_stor": 15, "demo": 21, "deploi": [29, 30, 32], "deploy": 28, "direcli": 22, "do": 22, "docker": [22, 27], "document": [3, 10], "dp_librari": 17, "dp_logic": 16, "dp_queri": [16, 17], "dp_querier": 16, "drop": 22, "dummi": [21, 23], "dummy_dataset": 16, "error": 5, "error_handl": 20, "estim": [21, 23], "exampl": [6, 23, 26], "example_input": 20, "externallibraryexcept": 5, "file": 22, "final": 22, "first": 8, "fom": 22, "functionn": [21, 23], "get": [21, 23], "git": 0, "github": 0, "helm": 29, "hidden": 9, "histori": 9, "in_memory_dataset": 18, "indic": 9, "ingress": 29, "initialis": [21, 23], "input_model": 20, "instal": [8, 21, 23, 29], "internalserverexcept": 5, "interv": [21, 23], "introduct": 32, "invalidqueryexcept": 5, "kubernet": [27, 29], "length": 21, "librari": [21, 23], "lint": 0, "load": 22, "local": [27, 30], "loggr": 20, "loma": [9, 10, 21, 22, 32], "lomas_cli": [7, 11], "lomas_serv": [12, 13, 14, 15, 16, 17, 18, 19, 20, 31], "lru_dataset_stor": 15, "metadata": [21, 23], "mist": 9, "modifi": 29, "modul": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], "mongodb": [22, 26], "mongodb_admin": 12, "mongodb_admin_cli": 12, "mongodb_databas": 13, "new": 1, "note": [0, 1, 2], "now": 22, "number": [21, 23], "oas": 9, "onyxia": [27, 32], "opendp": [17, 21, 23], "option": 22, "other": 0, "over": [21, 23], "overview": 26, "packag": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], "path_dataset": 18, "penguin": 21, "per": 21, "platform": 27, "popul": [21, 23], "prepar": 22, "prerequisit": [29, 30], "privat": [21, 23], "private_dataset": 18, "private_dataset_observ": 15, "push": 1, "pypi": 1, "queri": [21, 22, 23], "quickstart": 8, "real": [21, 23], "releas": 0, "remot": [21, 23], "remov": 22, "row": [21, 23], "s3": 23, "s3_dataset": 18, "section": 29, "see": 21, "server": [2, 9, 22, 25], "servic": 29, "smartnois": [21, 23], "smartnoise_sql": 17, "speci": 21, "sql": [21, 23], "start": 22, "statist": [21, 23], "step": [8, 21, 23, 30], "stop": 22, "submodul": [11, 12, 13, 15, 16, 17, 18, 19, 20], "subpackag": [12, 16], "tabl": 9, "test": [2, 19], "test_api": 19, "test_dummy_gener": 19, "test_mongodb_admin": 19, "test_mongodb_admin_cli": 19, "titan": 23, "unauthorizedaccessexcept": 5, "understand": [21, 23], "user": [22, 26], "util": [13, 15, 17, 18, 20], "uvicorn_serv": 12, "valu": 29, "version": 1, "via": 27, "visualis": 22, "volum": 22, "welcom": 10, "whole": [21, 23], "workflow": 0, "yaml": 29, "yaml_databas": 13}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Documentation": [[3, "api-documentation"]], "Access the server to administrate the mongoDB": [[22, "Access-the-server-to-administrate-the-mongoDB"]], "Access via Kubernetes": [[27, "access-via-kubernetes"]], "Access via Onyxia Platform": [[27, "access-via-onyxia-platform"]], "Accessing the Helm Chart": [[29, "accessing-the-helm-chart"]], "Add user": [[22, "Add-user"]], "Administration": [[24, "administration"]], "Archives of queries": [[22, "Archives-of-queries"]], "Average and number of rows with smartnoise-sql library on remote dummy": [[21, "Average-and-number-of-rows-with-smartnoise-sql-library-on-remote-dummy"], [23, "Average-and-number-of-rows-with-smartnoise-sql-library-on-remote-dummy"]], "CLI": [[26, "cli"]], "Change budget": [[22, "Change-budget"]], "Client": [[8, "client"], [9, "client"]], "Client API": [[4, "client-api"]], "Collections": [[26, "collections"]], "Confidence intervals for age over the whole population": [[23, "Confidence-intervals-for-age-over-the-whole-population"]], "Confidence intervals for bill length over the whole population": [[21, "Confidence-intervals-for-bill-length-over-the-whole-population"]], "Count per species": [[21, "Count-per-species"]], "Create a docker volume": [[22, "Create-a-docker-volume"]], "Dashboard": [[27, "dashboard"]], "Datasets": [[26, "datasets"]], "Datasets (add and drop)": [[22, "Datasets-(add-and-drop)"]], "Deploying Lomas on Onyxia": [[32, "deploying-lomas-on-onyxia"]], "Deploying the Service on Kubernetes": [[29, "deploying-the-service-on-kubernetes"]], "Deployment": [[28, "deployment"]], "Errors": [[5, "errors"]], "Estimate cost of a query": [[21, "Estimate-cost-of-a-query"], [23, "Estimate-cost-of-a-query"]], "Examples": [[6, "examples"], [26, "examples"]], "ExternalLibraryException": [[5, "externallibraryexception"]], "Finally all can be loaded fom a file direcly": [[22, "Finally-all-can-be-loaded-fom-a-file-direcly"]], "First steps": [[8, "first-steps"]], "Get a dummy dataset": [[21, "Get-a-dummy-dataset"], [23, "Get-a-dummy-dataset"]], "Get current budget": [[21, "Get-current-budget"], [23, "Get-current-budget"]], "Getting dataset metadata": [[21, "Getting-dataset-metadata"], [23, "Getting-dataset-metadata"]], "Git Branches": [[0, "git-branches"]], "GitHub Workflows": [[0, "github-workflows"]], "History": [[9, "history"]], "Indices and tables": [[9, "indices-and-tables"]], "Installation": [[8, "installation"]], "Installing the Helm Chart": [[29, "installing-the-helm-chart"]], "InternalServerException": [[5, "internalserverexception"]], "Introduction": [[32, "introduction"]], "InvalidQueryException": [[5, "invalidqueryexception"]], "Kubernetes": [[29, "kubernetes"]], "Linting and Other Checks": [[0, "linting-and-other-checks"]], "Local": [[30, "local"]], "Local Access via Docker": [[27, "local-access-via-docker"]], "Lomas-server: CLI administration": [[22, "Lomas-server:-CLI-administration"]], "Lomas: Client demo": [[21, "Lomas:-Client-demo"]], "Lomas: The Data Oases Hidden Behind the Mist.": [[9, "lomas-the-data-oases-hidden-behind-the-mist"]], "Modifying the ingress Section": [[29, "modifying-the-ingress-section"]], "Modifying values.yaml": [[29, "modifying-values-yaml"]], "Module contents": [[11, "module-lomas_client"], [12, "module-lomas_server"], [13, "module-lomas_server.admin_database"], [14, "module-lomas_server.administration"], [15, "module-lomas_server.dataset_store"], [16, "module-lomas_server.dp_queries"], [17, "module-lomas_server.dp_queries.dp_libraries"], [18, "module-lomas_server.private_dataset"], [19, "module-lomas_server.tests"], [20, "module-lomas_server.utils"]], "MongoDB Administration": [[26, "mongodb-administration"]], "MongoDB Connection": [[26, "mongodb-connection"]], "Notes for Client Contributors": [[1, "notes-for-client-contributors"]], "Notes for Contributors": [[0, "notes-for-contributors"]], "Notes for Server Contributors": [[2, "notes-for-server-contributors"]], "Onyxia": [[32, "onyxia"]], "Overview": [[26, "overview"]], "Prepare the database": [[22, "Prepare-the-database"]], "Prerequisites": [[29, "prerequisites"], [30, "prerequisites"]], "Pushing a new version to Pypi": [[1, "pushing-a-new-version-to-pypi"]], "Query on dummy dataset": [[21, "Query-on-dummy-dataset"], [23, "Query-on-dummy-dataset"]], "Query on real private dataset with smartnoise-sql": [[21, "Query-on-real-private-dataset-with-smartnoise-sql"]], "Query on real private dataset with smartnoise-sql.": [[23, "Query-on-real-private-dataset-with-smartnoise-sql."]], "Quickstart": [[8, "quickstart"]], "Release Workflow": [[0, "release-workflow"]], "Remove user": [[22, "Remove-user"]], "S3 example": [[23, "S3-example"]], "Server": [[9, "server"]], "Server API": [[25, "server-api"]], "Start server": [[22, "Start-server"]], "Start the server": [[22, "Start-the-server"]], "Step 1: Install the library": [[21, "Step-1:-Install-the-library"], [23, "Step-1:-Install-the-library"]], "Step 2: Initialise the client": [[21, "Step-2:-Initialise-the-client"], [23, "Step-2:-Initialise-the-client"]], "Step 3: Understand the functionnalities of the library": [[21, "Step-3:-Understand-the-functionnalities-of-the-library"], [23, "Step-3:-Understand-the-functionnalities-of-the-library"]], "Step 4: Penguin statistics with opendp": [[21, "Step-4:-Penguin-statistics-with-opendp"]], "Step 4: Titanic statistics with opendp": [[23, "Step-4:-Titanic-statistics-with-opendp"]], "Step 5: See archives of queries": [[21, "Step-5:-See-archives-of-queries"]], "Steps to Deploy Locally": [[30, "steps-to-deploy-locally"]], "Stop the server: do not do it now !": [[22, "Stop-the-server:-do-not-do-it-now-!"]], "Submodules": [[11, "submodules"], [12, "submodules"], [13, "submodules"], [15, "submodules"], [16, "submodules"], [17, "submodules"], [18, "submodules"], [19, "submodules"], [20, "submodules"]], "Subpackages": [[12, "subpackages"], [16, "subpackages"]], "Tests": [[2, "tests"]], "UnauthorizedAccessException": [[5, "unauthorizedaccessexception"]], "Users": [[22, "Users"], [26, "users"]], "Visualise all options": [[22, "Visualise-all-options"]], "Welcome to Lomas documentation": [[10, "welcome-to-lomas-documentation"]], "lomas_client": [[7, "lomas-client"]], "lomas_client package": [[11, "lomas-client-package"]], "lomas_client.client module": [[11, "module-lomas_client.client"]], "lomas_server": [[31, "lomas-server"]], "lomas_server package": [[12, "lomas-server-package"]], "lomas_server.admin_database package": [[13, "lomas-server-admin-database-package"]], "lomas_server.admin_database.admin_database module": [[13, "module-lomas_server.admin_database.admin_database"]], "lomas_server.admin_database.mongodb_database module": [[13, "module-lomas_server.admin_database.mongodb_database"]], "lomas_server.admin_database.utils module": [[13, "module-lomas_server.admin_database.utils"]], "lomas_server.admin_database.yaml_database module": [[13, "module-lomas_server.admin_database.yaml_database"]], "lomas_server.administration package": [[14, "lomas-server-administration-package"]], "lomas_server.app module": [[12, "module-lomas_server.app"]], "lomas_server.constants module": [[12, "module-lomas_server.constants"]], "lomas_server.dataset_store package": [[15, "lomas-server-dataset-store-package"]], "lomas_server.dataset_store.basic_dataset_store module": [[15, "module-lomas_server.dataset_store.basic_dataset_store"]], "lomas_server.dataset_store.dataset_store module": [[15, "module-lomas_server.dataset_store.dataset_store"]], "lomas_server.dataset_store.lru_dataset_store module": [[15, "module-lomas_server.dataset_store.lru_dataset_store"]], "lomas_server.dataset_store.private_dataset_observer module": [[15, "module-lomas_server.dataset_store.private_dataset_observer"]], "lomas_server.dataset_store.utils module": [[15, "module-lomas_server.dataset_store.utils"]], "lomas_server.dp_queries package": [[16, "lomas-server-dp-queries-package"]], "lomas_server.dp_queries.dp_libraries package": [[17, "lomas-server-dp-queries-dp-libraries-package"]], "lomas_server.dp_queries.dp_libraries.opendp module": [[17, "module-lomas_server.dp_queries.dp_libraries.opendp"]], "lomas_server.dp_queries.dp_libraries.smartnoise_sql module": [[17, "module-lomas_server.dp_queries.dp_libraries.smartnoise_sql"]], "lomas_server.dp_queries.dp_libraries.utils module": [[17, "module-lomas_server.dp_queries.dp_libraries.utils"]], "lomas_server.dp_queries.dp_logic module": [[16, "module-lomas_server.dp_queries.dp_logic"]], "lomas_server.dp_queries.dp_querier module": [[16, "module-lomas_server.dp_queries.dp_querier"]], "lomas_server.dp_queries.dummy_dataset module": [[16, "module-lomas_server.dp_queries.dummy_dataset"]], "lomas_server.mongodb_admin module": [[12, "module-lomas_server.mongodb_admin"]], "lomas_server.mongodb_admin_cli module": [[12, "module-lomas_server.mongodb_admin_cli"]], "lomas_server.private_dataset package": [[18, "lomas-server-private-dataset-package"]], "lomas_server.private_dataset.in_memory_dataset module": [[18, "module-lomas_server.private_dataset.in_memory_dataset"]], "lomas_server.private_dataset.path_dataset module": [[18, "module-lomas_server.private_dataset.path_dataset"]], "lomas_server.private_dataset.private_dataset module": [[18, "module-lomas_server.private_dataset.private_dataset"]], "lomas_server.private_dataset.s3_dataset module": [[18, "module-lomas_server.private_dataset.s3_dataset"]], "lomas_server.private_dataset.utils module": [[18, "module-lomas_server.private_dataset.utils"]], "lomas_server.tests package": [[19, "lomas-server-tests-package"]], "lomas_server.tests.constants module": [[19, "module-lomas_server.tests.constants"]], "lomas_server.tests.test_api module": [[19, "module-lomas_server.tests.test_api"]], "lomas_server.tests.test_dummy_generation module": [[19, "module-lomas_server.tests.test_dummy_generation"]], "lomas_server.tests.test_mongodb_admin module": [[19, "module-lomas_server.tests.test_mongodb_admin"]], "lomas_server.tests.test_mongodb_admin_cli module": [[19, "module-lomas_server.tests.test_mongodb_admin_cli"]], "lomas_server.utils package": [[20, "lomas-server-utils-package"]], "lomas_server.utils.anti_timing_att module": [[20, "module-lomas_server.utils.anti_timing_att"]], "lomas_server.utils.collections_models module": [[20, "module-lomas_server.utils.collections_models"]], "lomas_server.utils.config module": [[20, "module-lomas_server.utils.config"]], "lomas_server.utils.error_handler module": [[20, "module-lomas_server.utils.error_handler"]], "lomas_server.utils.example_inputs module": [[20, "module-lomas_server.utils.example_inputs"]], "lomas_server.utils.input_models module": [[20, "module-lomas_server.utils.input_models"]], "lomas_server.utils.loggr module": [[20, "module-lomas_server.utils.loggr"]], "lomas_server.utils.utils module": [[20, "module-lomas_server.utils.utils"]], "lomas_server.uvicorn_serve module": [[12, "module-lomas_server.uvicorn_serve"]]}, "docnames": ["CONTRIBUTING", "CONTRIBUTING_CLIENT", "CONTRIBUTING_SERVER", "api", "client_api", "client_errors", "client_examples", "client_modules", "client_quickstart", "index", "index_under_construction", "lomas_client", "lomas_server", "lomas_server.admin_database", "lomas_server.administration", "lomas_server.dataset_store", "lomas_server.dp_queries", "lomas_server.dp_queries.dp_libraries", "lomas_server.private_dataset", "lomas_server.tests", "lomas_server.utils", "notebooks/Demo_Client_Notebook", "notebooks/local_admin_notebook", "notebooks/s3_example_notebook", "server_administration", "server_api", "server_cli", "server_dashboard", "server_deployment", "server_kubernetes", "server_local", "server_modules", "server_onyxia"], "envversion": {"nbsphinx": 4, "sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["CONTRIBUTING.md", "CONTRIBUTING_CLIENT.md", "CONTRIBUTING_SERVER.md", "api.rst", "client_api.rst", "client_errors.rst", "client_examples.rst", "client_modules.rst", "client_quickstart.rst", "index.rst", "index_under_construction.rst", "lomas_client.rst", "lomas_server.rst", "lomas_server.admin_database.rst", "lomas_server.administration.rst", "lomas_server.dataset_store.rst", "lomas_server.dp_queries.rst", "lomas_server.dp_queries.dp_libraries.rst", "lomas_server.private_dataset.rst", "lomas_server.tests.rst", "lomas_server.utils.rst", "notebooks/Demo_Client_Notebook.ipynb", "notebooks/local_admin_notebook.ipynb", "notebooks/s3_example_notebook.ipynb", "server_administration.rst", "server_api.rst", "server_cli.rst", "server_dashboard.rst", "server_deployment.rst", "server_kubernetes.rst", "server_local.rst", "server_modules.rst", "server_onyxia.rst"], "indexentries": {"add_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_dataset", false]], "add_dataset_to_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_dataset_to_user", false]], "add_datasets_via_yaml() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_datasets_via_yaml", false]], "add_demo_data_to_admindb() (in module lomas_server.utils.utils)": [[20, "lomas_server.utils.utils.add_demo_data_to_admindb", false]], "add_exception_handlers() (in module lomas_server.utils.error_handler)": [[20, "lomas_server.utils.error_handler.add_exception_handlers", false]], "add_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_user", false]], "add_user_with_budget() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_user_with_budget", false]], "add_users_via_yaml() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.add_users_via_yaml", false]], "address (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.address", false]], "admin_database (lomas_server.dataset_store.dataset_store.datasetstore attribute)": [[15, "lomas_server.dataset_store.dataset_store.DatasetStore.admin_database", false]], "admin_database (lomas_server.dp_queries.dp_logic.queryhandler attribute)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler.admin_database", false]], "admin_database (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.admin_database", false]], "admindatabase (class in lomas_server.admin_database.admin_database)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase", false]], "admindbtype (class in lomas_server.constants)": [[12, "lomas_server.constants.AdminDBType", false]], "adminmongodatabase (class in lomas_server.admin_database.mongodb_database)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase", false]], "adminyamldatabase (class in lomas_server.admin_database.yaml_database)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase", false]], "anti_timing_att() (in module lomas_server.utils.anti_timing_att)": [[20, "lomas_server.utils.anti_timing_att.anti_timing_att", false]], "aws_access_key_id (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.aws_access_key_id", false]], "aws_access_key_id (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.aws_access_key_id", false]], "aws_secret_access_key (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.aws_secret_access_key", false]], "aws_secret_access_key (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.aws_secret_access_key", false]], "basic (lomas_server.constants.datasetstoretype attribute)": [[12, "lomas_server.constants.DatasetStoreType.BASIC", false]], "basicdatasetstore (class in lomas_server.dataset_store.basic_dataset_store)": [[15, "lomas_server.dataset_store.basic_dataset_store.BasicDatasetStore", false]], "change_one_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.CHANGE_ONE_DISTANCE", false]], "check_dataset_and_metadata_exist() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.check_dataset_and_metadata_exist", false]], "check_result_acknowledged() (in module lomas_server.admin_database.mongodb_database)": [[13, "lomas_server.admin_database.mongodb_database.check_result_acknowledged", false]], "check_user_exists() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.check_user_exists", false]], "check_user_has_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.check_user_has_dataset", false]], "client (class in lomas_client.client)": [[11, "lomas_client.client.Client", false]], "columns (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.columns", false]], "config (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.Config", false]], "configkeys (class in lomas_server.constants)": [[12, "lomas_server.constants.ConfigKeys", false]], "configloader (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.ConfigLoader", false]], "contrib (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.contrib", false]], "cost() (lomas_server.dp_queries.dp_libraries.opendp.opendpquerier method)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.OpenDPQuerier.cost", false]], "cost() (lomas_server.dp_queries.dp_libraries.smartnoise_sql.smartnoisesqlquerier method)": [[17, "lomas_server.dp_queries.dp_libraries.smartnoise_sql.SmartnoiseSQLQuerier.cost", false]], "cost() (lomas_server.dp_queries.dp_querier.dpquerier method)": [[16, "lomas_server.dp_queries.dp_querier.DPQuerier.cost", false]], "database_factory() (in module lomas_server.admin_database.utils)": [[13, "lomas_server.admin_database.utils.database_factory", false]], "database_type (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.database_type", false]], "database_type (lomas_server.utils.collections_models.metadataofdataset attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset.database_type", false]], "dataset (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.Dataset", false]], "dataset_cache (lomas_server.dataset_store.lru_dataset_store.lrudatasetstore attribute)": [[15, "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore.dataset_cache", false]], "dataset_must_exist() (in module lomas_server.admin_database.admin_database)": [[13, "lomas_server.admin_database.admin_database.dataset_must_exist", false]], "dataset_name (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.dataset_name", false]], "dataset_name (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.getdbdata attribute)": [[20, "lomas_server.utils.input_models.GetDbData.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.dataset_name", false]], "dataset_name (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.dataset_name", false]], "dataset_path (lomas_server.utils.collections_models.datasetofpathdb attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB.dataset_path", false]], "dataset_store (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DATASET_STORE", false]], "dataset_store (lomas_server.dp_queries.dp_logic.queryhandler attribute)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler.dataset_store", false]], "dataset_store (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.dataset_store", false]], "dataset_store_factory() (in module lomas_server.dataset_store.utils)": [[15, "lomas_server.dataset_store.utils.dataset_store_factory", false]], "dataset_store_type (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DATASET_STORE_TYPE", false]], "datasetofpathdb (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB", false]], "datasetofs3db (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB", false]], "datasetofuser (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.DatasetOfUser", false]], "datasets (lomas_server.utils.collections_models.datasetscollection attribute)": [[20, "lomas_server.utils.collections_models.DatasetsCollection.datasets", false]], "datasets_list (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.datasets_list", false]], "datasetscollection (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.DatasetsCollection", false]], "datasetstore (class in lomas_server.dataset_store.dataset_store)": [[15, "lomas_server.dataset_store.dataset_store.DatasetStore", false]], "datasetstoreconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.DatasetStoreConfig", false]], "datasetstoretype (class in lomas_server.constants)": [[12, "lomas_server.constants.DatasetStoreType", false]], "db (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DB", false]], "db_file (lomas_server.utils.config.yamldbconfig attribute)": [[20, "lomas_server.utils.config.YamlDBConfig.db_file", false]], "db_name (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.db_name", false]], "db_type (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DB_TYPE", false]], "db_type (lomas_server.utils.config.dbconfig attribute)": [[20, "lomas_server.utils.config.DBConfig.db_type", false]], "db_type_mongodb (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DB_TYPE_MONGODB", false]], "dbconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.DBConfig", false]], "del_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.del_dataset", false]], "del_dataset_to_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.del_dataset_to_user", false]], "del_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.del_user", false]], "delta (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.delta", false]], "delta (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.delta", false]], "delta (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.delta", false]], "develop_mode (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DEVELOP_MODE", false]], "develop_mode (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.develop_mode", false]], "df (lomas_server.private_dataset.private_dataset.privatedataset attribute)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.df", false]], "does_dataset_exist() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.does_dataset_exist", false]], "does_dataset_exist() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.does_dataset_exist", false]], "does_dataset_exist() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.does_dataset_exist", false]], "does_user_exist() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.does_user_exist", false]], "does_user_exist() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.does_user_exist", false]], "does_user_exist() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.does_user_exist", false]], "dp_libraries (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.dp_libraries", false]], "dp_library (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.DP_LIBRARY", false]], "dp_queriers (lomas_server.dataset_store.basic_dataset_store.basicdatasetstore attribute)": [[15, "lomas_server.dataset_store.basic_dataset_store.BasicDatasetStore.dp_queriers", false]], "dplibraries (class in lomas_client.client)": [[11, "lomas_client.client.DPLibraries", false]], "dplibraries (class in lomas_server.constants)": [[12, "lomas_server.constants.DPLibraries", false]], "dplibraryconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.DPLibraryConfig", false]], "dpquerier (class in lomas_server.dp_queries.dp_querier)": [[16, "lomas_server.dp_queries.dp_querier.DPQuerier", false]], "drop_collection() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.drop_collection", false]], "ds_store_type (lomas_server.utils.config.datasetstoreconfig attribute)": [[20, "lomas_server.utils.config.DatasetStoreConfig.ds_store_type", false]], "dummy_nb_rows (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.dummy_nb_rows", false]], "dummy_nb_rows (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.dummy_nb_rows", false]], "dummy_nb_rows (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.dummy_nb_rows", false]], "dummy_seed (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.dummy_seed", false]], "dummy_seed (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.dummy_seed", false]], "dummy_seed (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.dummy_seed", false]], "dummyopendpinp (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp", false]], "dummysnsqlinp (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.DummySNSQLInp", false]], "endpoint_url (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.endpoint_url", false]], "endpoint_url (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.endpoint_url", false]], "epsilon (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.epsilon", false]], "epsilon (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.epsilon", false]], "epsilon (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.epsilon", false]], "error_message() (in module lomas_client.client)": [[11, "lomas_client.client.error_message", false]], "estimate_cost() (lomas_server.dp_queries.dp_logic.queryhandler method)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler.estimate_cost", false]], "estimate_opendp_cost() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.estimate_opendp_cost", false]], "estimate_smartnoise_cost() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.estimate_smartnoise_cost", false]], "externallibraryexception": [[20, "lomas_server.utils.error_handler.ExternalLibraryException", false]], "fixed_delta (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.fixed_delta", false]], "fixed_delta (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.fixed_delta", false]], "fixed_smoothed_max_divergence (lomas_server.constants.opendpmeasurement attribute)": [[12, "lomas_server.constants.OpenDPMeasurement.FIXED_SMOOTHED_MAX_DIVERGENCE", false]], "floating_point (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.floating_point", false]], "get_and_set_may_user_query() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_and_set_may_user_query", false]], "get_and_set_may_user_query() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_and_set_may_user_query", false]], "get_and_set_may_user_query() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_and_set_may_user_query", false]], "get_config() (in module lomas_server.utils.config)": [[20, "lomas_server.utils.config.get_config", false]], "get_config() (lomas_server.utils.config.configloader method)": [[20, "lomas_server.utils.config.ConfigLoader.get_config", false]], "get_dataset_field() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_dataset_field", false]], "get_dataset_field() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_dataset_field", false]], "get_dataset_field() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_dataset_field", false]], "get_dataset_metadata() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_dataset_metadata", false]], "get_dataset_metadata() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_dataset_metadata", false]], "get_dataset_metadata() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_dataset_metadata", false]], "get_dataset_metadata() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_dataset_metadata", false]], "get_dummy_dataset() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_dummy_dataset", false]], "get_dummy_dataset_for_query() (in module lomas_server.dp_queries.dummy_dataset)": [[16, "lomas_server.dp_queries.dummy_dataset.get_dummy_dataset_for_query", false]], "get_epsilon_or_delta() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_epsilon_or_delta", false]], "get_epsilon_or_delta() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_epsilon_or_delta", false]], "get_epsilon_or_delta() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_epsilon_or_delta", false]], "get_initial_budget() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_initial_budget", false]], "get_initial_budget() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_initial_budget", false]], "get_list_of_datasets() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.get_list_of_datasets", false]], "get_list_of_datasets_from_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.get_list_of_datasets_from_user", false]], "get_list_of_users() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.get_list_of_users", false]], "get_memory_usage() (lomas_server.private_dataset.private_dataset.privatedataset method)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.get_memory_usage", false]], "get_metadata() (lomas_server.private_dataset.private_dataset.privatedataset method)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.get_metadata", false]], "get_mongodb() (in module lomas_server.admin_database.utils)": [[13, "lomas_server.admin_database.utils.get_mongodb", false]], "get_mongodb_url() (in module lomas_server.admin_database.utils)": [[13, "lomas_server.admin_database.utils.get_mongodb_url", false]], "get_output_measure() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.get_output_measure", false]], "get_pandas_df() (lomas_server.private_dataset.in_memory_dataset.inmemorydataset method)": [[18, "lomas_server.private_dataset.in_memory_dataset.InMemoryDataset.get_pandas_df", false]], "get_pandas_df() (lomas_server.private_dataset.path_dataset.pathdataset method)": [[18, "lomas_server.private_dataset.path_dataset.PathDataset.get_pandas_df", false]], "get_pandas_df() (lomas_server.private_dataset.private_dataset.privatedataset method)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.get_pandas_df", false]], "get_pandas_df() (lomas_server.private_dataset.s3_dataset.s3dataset method)": [[18, "lomas_server.private_dataset.s3_dataset.S3Dataset.get_pandas_df", false]], "get_previous_queries() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_previous_queries", false]], "get_querier() (lomas_server.dataset_store.basic_dataset_store.basicdatasetstore method)": [[15, "lomas_server.dataset_store.basic_dataset_store.BasicDatasetStore.get_querier", false]], "get_querier() (lomas_server.dataset_store.dataset_store.datasetstore method)": [[15, "lomas_server.dataset_store.dataset_store.DatasetStore.get_querier", false]], "get_querier() (lomas_server.dataset_store.lru_dataset_store.lrudatasetstore method)": [[15, "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore.get_querier", false]], "get_remaining_budget() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_remaining_budget", false]], "get_remaining_budget() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_remaining_budget", false]], "get_total_spent_budget() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.get_total_spent_budget", false]], "get_total_spent_budget() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_total_spent_budget", false]], "get_user_previous_queries() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.get_user_previous_queries", false]], "get_user_previous_queries() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.get_user_previous_queries", false]], "get_user_previous_queries() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.get_user_previous_queries", false]], "getdbdata (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.GetDbData", false]], "getdummydataset (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.GetDummyDataset", false]], "hamming_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.HAMMING_DISTANCE", false]], "handle_query() (lomas_server.dp_queries.dp_logic.queryhandler method)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler.handle_query", false]], "has_dataset_input_metric() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.has_dataset_input_metric", false]], "has_user_access_to_dataset() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.has_user_access_to_dataset", false]], "has_user_access_to_dataset() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.has_user_access_to_dataset", false]], "has_user_access_to_dataset() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.has_user_access_to_dataset", false]], "honest_but_curious (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.honest_but_curious", false]], "host_ip (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.host_ip", false]], "host_port (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.host_port", false]], "initial_delta (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.initial_delta", false]], "initial_epsilon (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.initial_epsilon", false]], "inmemorydataset (class in lomas_server.private_dataset.in_memory_dataset)": [[18, "lomas_server.private_dataset.in_memory_dataset.InMemoryDataset", false]], "insert_delete_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.INSERT_DELETE_DISTANCE", false]], "int_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.INT_DISTANCE", false]], "internalserverexception": [[20, "lomas_server.utils.error_handler.InternalServerException", false]], "invalidqueryexception": [[20, "lomas_server.utils.error_handler.InvalidQueryException", false]], "is_measurement() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.is_measurement", false]], "jitter (lomas_server.constants.timeattackmethod attribute)": [[12, "lomas_server.constants.TimeAttackMethod.JITTER", false]], "lifespan() (in module lomas_server.app)": [[12, "lomas_server.app.lifespan", false]], "load_config() (lomas_server.utils.config.configloader method)": [[20, "lomas_server.utils.config.ConfigLoader.load_config", false]], "log_level (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.log_level", false]], "lomas_client": [[11, "module-lomas_client", false]], "lomas_client.client": [[11, "module-lomas_client.client", false]], "lomas_server": [[12, "module-lomas_server", false]], "lomas_server.admin_database": [[13, "module-lomas_server.admin_database", false]], "lomas_server.admin_database.admin_database": [[13, "module-lomas_server.admin_database.admin_database", false]], "lomas_server.admin_database.mongodb_database": [[13, "module-lomas_server.admin_database.mongodb_database", false]], "lomas_server.admin_database.utils": [[13, "module-lomas_server.admin_database.utils", false]], "lomas_server.admin_database.yaml_database": [[13, "module-lomas_server.admin_database.yaml_database", false]], "lomas_server.administration": [[14, "module-lomas_server.administration", false]], "lomas_server.app": [[12, "module-lomas_server.app", false]], "lomas_server.constants": [[12, "module-lomas_server.constants", false]], "lomas_server.dataset_store": [[15, "module-lomas_server.dataset_store", false]], "lomas_server.dataset_store.basic_dataset_store": [[15, "module-lomas_server.dataset_store.basic_dataset_store", false]], "lomas_server.dataset_store.dataset_store": [[15, "module-lomas_server.dataset_store.dataset_store", false]], "lomas_server.dataset_store.lru_dataset_store": [[15, "module-lomas_server.dataset_store.lru_dataset_store", false]], "lomas_server.dataset_store.private_dataset_observer": [[15, "module-lomas_server.dataset_store.private_dataset_observer", false]], "lomas_server.dataset_store.utils": [[15, "module-lomas_server.dataset_store.utils", false]], "lomas_server.dp_queries": [[16, "module-lomas_server.dp_queries", false]], "lomas_server.dp_queries.dp_libraries": [[17, "module-lomas_server.dp_queries.dp_libraries", false]], "lomas_server.dp_queries.dp_libraries.opendp": [[17, "module-lomas_server.dp_queries.dp_libraries.opendp", false]], "lomas_server.dp_queries.dp_libraries.smartnoise_sql": [[17, "module-lomas_server.dp_queries.dp_libraries.smartnoise_sql", false]], "lomas_server.dp_queries.dp_libraries.utils": [[17, "module-lomas_server.dp_queries.dp_libraries.utils", false]], "lomas_server.dp_queries.dp_logic": [[16, "module-lomas_server.dp_queries.dp_logic", false]], "lomas_server.dp_queries.dp_querier": [[16, "module-lomas_server.dp_queries.dp_querier", false]], "lomas_server.dp_queries.dummy_dataset": [[16, "module-lomas_server.dp_queries.dummy_dataset", false]], "lomas_server.mongodb_admin": [[12, "module-lomas_server.mongodb_admin", false]], "lomas_server.mongodb_admin_cli": [[12, "module-lomas_server.mongodb_admin_cli", false]], "lomas_server.private_dataset": [[18, "module-lomas_server.private_dataset", false]], "lomas_server.private_dataset.in_memory_dataset": [[18, "module-lomas_server.private_dataset.in_memory_dataset", false]], "lomas_server.private_dataset.path_dataset": [[18, "module-lomas_server.private_dataset.path_dataset", false]], "lomas_server.private_dataset.private_dataset": [[18, "module-lomas_server.private_dataset.private_dataset", false]], "lomas_server.private_dataset.s3_dataset": [[18, "module-lomas_server.private_dataset.s3_dataset", false]], "lomas_server.private_dataset.utils": [[18, "module-lomas_server.private_dataset.utils", false]], "lomas_server.tests": [[19, "module-lomas_server.tests", false]], "lomas_server.tests.constants": [[19, "module-lomas_server.tests.constants", false]], "lomas_server.tests.test_api": [[19, "module-lomas_server.tests.test_api", false]], "lomas_server.tests.test_dummy_generation": [[19, "module-lomas_server.tests.test_dummy_generation", false]], "lomas_server.tests.test_mongodb_admin": [[19, "module-lomas_server.tests.test_mongodb_admin", false]], "lomas_server.tests.test_mongodb_admin_cli": [[19, "module-lomas_server.tests.test_mongodb_admin_cli", false]], "lomas_server.utils": [[20, "module-lomas_server.utils", false]], "lomas_server.utils.anti_timing_att": [[20, "module-lomas_server.utils.anti_timing_att", false]], "lomas_server.utils.collections_models": [[20, "module-lomas_server.utils.collections_models", false]], "lomas_server.utils.config": [[20, "module-lomas_server.utils.config", false]], "lomas_server.utils.error_handler": [[20, "module-lomas_server.utils.error_handler", false]], "lomas_server.utils.example_inputs": [[20, "module-lomas_server.utils.example_inputs", false]], "lomas_server.utils.input_models": [[20, "module-lomas_server.utils.input_models", false]], "lomas_server.utils.loggr": [[20, "module-lomas_server.utils.loggr", false]], "lomas_server.utils.utils": [[20, "module-lomas_server.utils.utils", false]], "lomas_server.uvicorn_serve": [[12, "module-lomas_server.uvicorn_serve", false]], "lru (lomas_server.constants.datasetstoretype attribute)": [[12, "lomas_server.constants.DatasetStoreType.LRU", false]], "lru_dataset_store_max_size (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.LRU_DATASET_STORE_MAX_SIZE", false]], "lrudatasetstore (class in lomas_server.dataset_store.lru_dataset_store)": [[15, "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore", false]], "lrudatasetstoreconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig", false]], "magnitude (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.magnitude", false]], "make_dummy_dataset() (in module lomas_server.dp_queries.dummy_dataset)": [[16, "lomas_server.dp_queries.dummy_dataset.make_dummy_dataset", false]], "max_divergence (lomas_server.constants.opendpmeasurement attribute)": [[12, "lomas_server.constants.OpenDPMeasurement.MAX_DIVERGENCE", false]], "max_ids (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.max_ids", false]], "max_memory_usage (lomas_server.utils.config.lrudatasetstoreconfig attribute)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig.max_memory_usage", false]], "may_query (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.may_query", false]], "mechanisms (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.mechanisms", false]], "mechanisms (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.mechanisms", false]], "mechanisms (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.mechanisms", false]], "metadata (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.Metadata", false]], "metadata (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.metadata", false]], "metadata_path (lomas_server.utils.collections_models.metadataofpathdb attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB.metadata_path", false]], "metadataofdataset (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset", false]], "metadataofpathdb (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB", false]], "metadataofs3db (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB", false]], "method (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.method", false]], "middleware() (in module lomas_server.app)": [[12, "lomas_server.app.middleware", false]], "model_computed_fields (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.datasetofpathdb attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.datasetscollection attribute)": [[20, "lomas_server.utils.collections_models.DatasetsCollection.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.metadataofdataset attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.metadataofpathdb attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.collections_models.usercollection attribute)": [[20, "lomas_server.utils.collections_models.UserCollection.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.datasetstoreconfig attribute)": [[20, "lomas_server.utils.config.DatasetStoreConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.dbconfig attribute)": [[20, "lomas_server.utils.config.DBConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.dplibraryconfig attribute)": [[20, "lomas_server.utils.config.DPLibraryConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.lrudatasetstoreconfig attribute)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.config.yamldbconfig attribute)": [[20, "lomas_server.utils.config.YamlDBConfig.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.getdbdata attribute)": [[20, "lomas_server.utils.input_models.GetDbData.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.model_computed_fields", false]], "model_computed_fields (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.model_computed_fields", false]], "model_config (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.model_config", false]], "model_config (lomas_server.utils.collections_models.datasetofpathdb attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB.model_config", false]], "model_config (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.model_config", false]], "model_config (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.model_config", false]], "model_config (lomas_server.utils.collections_models.datasetscollection attribute)": [[20, "lomas_server.utils.collections_models.DatasetsCollection.model_config", false]], "model_config (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.model_config", false]], "model_config (lomas_server.utils.collections_models.metadataofdataset attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset.model_config", false]], "model_config (lomas_server.utils.collections_models.metadataofpathdb attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB.model_config", false]], "model_config (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.model_config", false]], "model_config (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.model_config", false]], "model_config (lomas_server.utils.collections_models.usercollection attribute)": [[20, "lomas_server.utils.collections_models.UserCollection.model_config", false]], "model_config (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.model_config", false]], "model_config (lomas_server.utils.config.datasetstoreconfig attribute)": [[20, "lomas_server.utils.config.DatasetStoreConfig.model_config", false]], "model_config (lomas_server.utils.config.dbconfig attribute)": [[20, "lomas_server.utils.config.DBConfig.model_config", false]], "model_config (lomas_server.utils.config.dplibraryconfig attribute)": [[20, "lomas_server.utils.config.DPLibraryConfig.model_config", false]], "model_config (lomas_server.utils.config.lrudatasetstoreconfig attribute)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig.model_config", false]], "model_config (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.model_config", false]], "model_config (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.model_config", false]], "model_config (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.model_config", false]], "model_config (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.model_config", false]], "model_config (lomas_server.utils.config.yamldbconfig attribute)": [[20, "lomas_server.utils.config.YamlDBConfig.model_config", false]], "model_config (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.model_config", false]], "model_config (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.model_config", false]], "model_config (lomas_server.utils.input_models.getdbdata attribute)": [[20, "lomas_server.utils.input_models.GetDbData.model_config", false]], "model_config (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.model_config", false]], "model_config (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.model_config", false]], "model_config (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.model_config", false]], "model_config (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.model_config", false]], "model_fields (lomas_server.utils.collections_models.dataset attribute)": [[20, "lomas_server.utils.collections_models.Dataset.model_fields", false]], "model_fields (lomas_server.utils.collections_models.datasetofpathdb attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfPathDB.model_fields", false]], "model_fields (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.model_fields", false]], "model_fields (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.model_fields", false]], "model_fields (lomas_server.utils.collections_models.datasetscollection attribute)": [[20, "lomas_server.utils.collections_models.DatasetsCollection.model_fields", false]], "model_fields (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.model_fields", false]], "model_fields (lomas_server.utils.collections_models.metadataofdataset attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfDataset.model_fields", false]], "model_fields (lomas_server.utils.collections_models.metadataofpathdb attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfPathDB.model_fields", false]], "model_fields (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.model_fields", false]], "model_fields (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.model_fields", false]], "model_fields (lomas_server.utils.collections_models.usercollection attribute)": [[20, "lomas_server.utils.collections_models.UserCollection.model_fields", false]], "model_fields (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.model_fields", false]], "model_fields (lomas_server.utils.config.datasetstoreconfig attribute)": [[20, "lomas_server.utils.config.DatasetStoreConfig.model_fields", false]], "model_fields (lomas_server.utils.config.dbconfig attribute)": [[20, "lomas_server.utils.config.DBConfig.model_fields", false]], "model_fields (lomas_server.utils.config.dplibraryconfig attribute)": [[20, "lomas_server.utils.config.DPLibraryConfig.model_fields", false]], "model_fields (lomas_server.utils.config.lrudatasetstoreconfig attribute)": [[20, "lomas_server.utils.config.LRUDatasetStoreConfig.model_fields", false]], "model_fields (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.model_fields", false]], "model_fields (lomas_server.utils.config.opendpconfig attribute)": [[20, "lomas_server.utils.config.OpenDPConfig.model_fields", false]], "model_fields (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.model_fields", false]], "model_fields (lomas_server.utils.config.timeattack attribute)": [[20, "lomas_server.utils.config.TimeAttack.model_fields", false]], "model_fields (lomas_server.utils.config.yamldbconfig attribute)": [[20, "lomas_server.utils.config.YamlDBConfig.model_fields", false]], "model_fields (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.model_fields", false]], "model_fields (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.model_fields", false]], "model_fields (lomas_server.utils.input_models.getdbdata attribute)": [[20, "lomas_server.utils.input_models.GetDbData.model_fields", false]], "model_fields (lomas_server.utils.input_models.getdummydataset attribute)": [[20, "lomas_server.utils.input_models.GetDummyDataset.model_fields", false]], "model_fields (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.model_fields", false]], "model_fields (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.model_fields", false]], "model_fields (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.model_fields", false]], "module": [[11, "module-lomas_client", false], [11, "module-lomas_client.client", false], [12, "module-lomas_server", false], [12, "module-lomas_server.app", false], [12, "module-lomas_server.constants", false], [12, "module-lomas_server.mongodb_admin", false], [12, "module-lomas_server.mongodb_admin_cli", false], [12, "module-lomas_server.uvicorn_serve", false], [13, "module-lomas_server.admin_database", false], [13, "module-lomas_server.admin_database.admin_database", false], [13, "module-lomas_server.admin_database.mongodb_database", false], [13, "module-lomas_server.admin_database.utils", false], [13, "module-lomas_server.admin_database.yaml_database", false], [14, "module-lomas_server.administration", false], [15, "module-lomas_server.dataset_store", false], [15, "module-lomas_server.dataset_store.basic_dataset_store", false], [15, "module-lomas_server.dataset_store.dataset_store", false], [15, "module-lomas_server.dataset_store.lru_dataset_store", false], [15, "module-lomas_server.dataset_store.private_dataset_observer", false], [15, "module-lomas_server.dataset_store.utils", false], [16, "module-lomas_server.dp_queries", false], [16, "module-lomas_server.dp_queries.dp_logic", false], [16, "module-lomas_server.dp_queries.dp_querier", false], [16, "module-lomas_server.dp_queries.dummy_dataset", false], [17, "module-lomas_server.dp_queries.dp_libraries", false], [17, "module-lomas_server.dp_queries.dp_libraries.opendp", false], [17, "module-lomas_server.dp_queries.dp_libraries.smartnoise_sql", false], [17, "module-lomas_server.dp_queries.dp_libraries.utils", false], [18, "module-lomas_server.private_dataset", false], [18, "module-lomas_server.private_dataset.in_memory_dataset", false], [18, "module-lomas_server.private_dataset.path_dataset", false], [18, "module-lomas_server.private_dataset.private_dataset", false], [18, "module-lomas_server.private_dataset.s3_dataset", false], [18, "module-lomas_server.private_dataset.utils", false], [19, "module-lomas_server.tests", false], [19, "module-lomas_server.tests.constants", false], [19, "module-lomas_server.tests.test_api", false], [19, "module-lomas_server.tests.test_dummy_generation", false], [19, "module-lomas_server.tests.test_mongodb_admin", false], [19, "module-lomas_server.tests.test_mongodb_admin_cli", false], [20, "module-lomas_server.utils", false], [20, "module-lomas_server.utils.anti_timing_att", false], [20, "module-lomas_server.utils.collections_models", false], [20, "module-lomas_server.utils.config", false], [20, "module-lomas_server.utils.error_handler", false], [20, "module-lomas_server.utils.example_inputs", false], [20, "module-lomas_server.utils.input_models", false], [20, "module-lomas_server.utils.loggr", false], [20, "module-lomas_server.utils.utils", false]], "mongodb (lomas_server.constants.admindbtype attribute)": [[12, "lomas_server.constants.AdminDBType.MONGODB", false]], "mongodb_addr (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.MONGODB_ADDR", false]], "mongodb_port (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.MONGODB_PORT", false]], "mongodbconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.MongoDBConfig", false]], "opendp (lomas_client.client.dplibraries attribute)": [[11, "lomas_client.client.DPLibraries.OPENDP", false]], "opendp (lomas_server.constants.dplibraries attribute)": [[12, "lomas_server.constants.DPLibraries.OPENDP", false]], "opendp (lomas_server.utils.config.dplibraryconfig attribute)": [[20, "lomas_server.utils.config.DPLibraryConfig.opendp", false]], "opendp_json (lomas_server.utils.input_models.dummyopendpinp attribute)": [[20, "lomas_server.utils.input_models.DummyOpenDPInp.opendp_json", false]], "opendp_json (lomas_server.utils.input_models.opendpinp attribute)": [[20, "lomas_server.utils.input_models.OpenDPInp.opendp_json", false]], "opendp_query() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.opendp_query", false]], "opendpconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.OpenDPConfig", false]], "opendpdatasetinputmetric (class in lomas_server.constants)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric", false]], "opendpinp (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.OpenDPInp", false]], "opendpmeasurement (class in lomas_server.constants)": [[12, "lomas_server.constants.OpenDPMeasurement", false]], "opendpquerier (class in lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.OpenDPQuerier", false]], "password (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.password", false]], "path (lomas_server.constants.privatedatabasetype attribute)": [[12, "lomas_server.constants.PrivateDatabaseType.PATH", false]], "pathdataset (class in lomas_server.private_dataset.path_dataset)": [[18, "lomas_server.private_dataset.path_dataset.PathDataset", false]], "port (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.port", false]], "postprocess (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.postprocess", false]], "postprocess (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.postprocess", false]], "prepare_save_query() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.prepare_save_query", false]], "private_dataset_factory() (in module lomas_server.private_dataset.utils)": [[18, "lomas_server.private_dataset.utils.private_dataset_factory", false]], "privatedatabasetype (class in lomas_server.constants)": [[12, "lomas_server.constants.PrivateDatabaseType", false]], "privatedataset (class in lomas_server.private_dataset.private_dataset)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset", false]], "privatedatasetobserver (class in lomas_server.dataset_store.private_dataset_observer)": [[15, "lomas_server.dataset_store.private_dataset_observer.PrivateDatasetObserver", false]], "querier_factory() (in module lomas_server.dp_queries.dp_libraries.utils)": [[17, "lomas_server.dp_queries.dp_libraries.utils.querier_factory", false]], "query() (lomas_server.dp_queries.dp_libraries.opendp.opendpquerier method)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.OpenDPQuerier.query", false]], "query() (lomas_server.dp_queries.dp_libraries.smartnoise_sql.smartnoisesqlquerier method)": [[17, "lomas_server.dp_queries.dp_libraries.smartnoise_sql.SmartnoiseSQLQuerier.query", false]], "query() (lomas_server.dp_queries.dp_querier.dpquerier method)": [[16, "lomas_server.dp_queries.dp_querier.DPQuerier.query", false]], "query_str (lomas_server.utils.input_models.dummysnsqlinp attribute)": [[20, "lomas_server.utils.input_models.DummySNSQLInp.query_str", false]], "query_str (lomas_server.utils.input_models.snsqlinp attribute)": [[20, "lomas_server.utils.input_models.SNSQLInp.query_str", false]], "query_str (lomas_server.utils.input_models.snsqlinpcost attribute)": [[20, "lomas_server.utils.input_models.SNSQLInpCost.query_str", false]], "queryhandler (class in lomas_server.dp_queries.dp_logic)": [[16, "lomas_server.dp_queries.dp_logic.QueryHandler", false]], "reconstruct_measurement_pipeline() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.reconstruct_measurement_pipeline", false]], "reload (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.reload", false]], "row_privacy (lomas_server.utils.collections_models.metadata attribute)": [[20, "lomas_server.utils.collections_models.Metadata.row_privacy", false]], "run_cli_command() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.run_cli_command", false]], "runtime_args (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.RUNTIME_ARGS", false]], "s3 (lomas_server.constants.privatedatabasetype attribute)": [[12, "lomas_server.constants.PrivateDatabaseType.S3", false]], "s3_bucket (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.s3_bucket", false]], "s3_bucket (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.s3_bucket", false]], "s3_key (lomas_server.utils.collections_models.datasetofs3db attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfS3DB.s3_key", false]], "s3_key (lomas_server.utils.collections_models.metadataofs3db attribute)": [[20, "lomas_server.utils.collections_models.MetadataOfS3DB.s3_key", false]], "s3dataset (class in lomas_server.private_dataset.s3_dataset)": [[18, "lomas_server.private_dataset.s3_dataset.S3Dataset", false]], "save_current_database() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.save_current_database", false]], "save_query() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.save_query", false]], "save_query() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.save_query", false]], "save_query() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.save_query", false]], "server (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.Server", false]], "server (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.SERVER", false]], "server (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.server", false]], "server_live() (in module lomas_server.utils.utils)": [[20, "lomas_server.utils.utils.server_live", false]], "set_budget_field() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.set_budget_field", false]], "set_config() (lomas_server.utils.config.configloader method)": [[20, "lomas_server.utils.config.ConfigLoader.set_config", false]], "set_may_query() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.set_may_query", false]], "set_may_user_query() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.set_may_user_query", false]], "set_may_user_query() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.set_may_user_query", false]], "set_may_user_query() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.set_may_user_query", false]], "set_mechanisms() (in module lomas_server.dp_queries.dp_libraries.smartnoise_sql)": [[17, "lomas_server.dp_queries.dp_libraries.smartnoise_sql.set_mechanisms", false]], "set_opendp_features_config() (in module lomas_server.dp_queries.dp_libraries.opendp)": [[17, "lomas_server.dp_queries.dp_libraries.opendp.set_opendp_features_config", false]], "settings (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.SETTINGS", false]], "setup() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.setUp", false]], "setupclass() (lomas_server.tests.test_api.testrootapiendpoint class method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.setUpClass", false]], "setupclass() (lomas_server.tests.test_mongodb_admin.testmongodbadmin class method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.setUpClass", false]], "setupclass() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin class method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.setUpClass", false]], "show_archives_of_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_archives_of_user", false]], "show_collection() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_collection", false]], "show_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_dataset", false]], "show_metadata_of_dataset() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_metadata_of_dataset", false]], "show_user() (in module lomas_server.mongodb_admin)": [[12, "lomas_server.mongodb_admin.show_user", false]], "smartnoise_query() (lomas_client.client.client method)": [[11, "lomas_client.client.Client.smartnoise_query", false]], "smartnoise_sql (lomas_client.client.dplibraries attribute)": [[11, "lomas_client.client.DPLibraries.SMARTNOISE_SQL", false]], "smartnoise_sql (lomas_server.constants.dplibraries attribute)": [[12, "lomas_server.constants.DPLibraries.SMARTNOISE_SQL", false]], "smartnoisesqlquerier (class in lomas_server.dp_queries.dp_libraries.smartnoise_sql)": [[17, "lomas_server.dp_queries.dp_libraries.smartnoise_sql.SmartnoiseSQLQuerier", false]], "smoothed_max_divergence (lomas_server.constants.opendpmeasurement attribute)": [[12, "lomas_server.constants.OpenDPMeasurement.SMOOTHED_MAX_DIVERGENCE", false]], "snsqlinp (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.SNSQLInp", false]], "snsqlinpcost (class in lomas_server.utils.input_models)": [[20, "lomas_server.utils.input_models.SNSQLInpCost", false]], "stall (lomas_server.constants.timeattackmethod attribute)": [[12, "lomas_server.constants.TimeAttackMethod.STALL", false]], "stream_dataframe() (in module lomas_server.utils.utils)": [[20, "lomas_server.utils.utils.stream_dataframe", false]], "submit_limit (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.SUBMIT_LIMIT", false]], "submit_limit (lomas_server.utils.config.config attribute)": [[20, "lomas_server.utils.config.Config.submit_limit", false]], "subscribe_for_memory_usage_updates() (lomas_server.private_dataset.private_dataset.privatedataset method)": [[18, "lomas_server.private_dataset.private_dataset.PrivateDataset.subscribe_for_memory_usage_updates", false]], "symmetric_distance (lomas_server.constants.opendpdatasetinputmetric attribute)": [[12, "lomas_server.constants.OpenDPDatasetInputMetric.SYMMETRIC_DISTANCE", false]], "teardown() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.tearDown", false]], "teardown() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.tearDown", false]], "teardown() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.tearDown", false]], "teardownclass() (lomas_server.tests.test_api.testrootapiendpoint class method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.tearDownClass", false]], "test_add_dataset_to_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_dataset_to_user", false]], "test_add_dataset_to_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_dataset_to_user_cli", false]], "test_add_datasets_via_yaml() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_datasets_via_yaml", false]], "test_add_datasets_via_yaml_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_datasets_via_yaml_cli", false]], "test_add_demo_data_to_admindb() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_demo_data_to_admindb", false]], "test_add_local_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_local_dataset", false]], "test_add_local_dataset_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_local_dataset_cli", false]], "test_add_s3_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_s3_dataset", false]], "test_add_s3_datasets_via_yaml() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_s3_datasets_via_yaml", false]], "test_add_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_user", false]], "test_add_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_user_cli", false]], "test_add_user_wb() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_user_wb", false]], "test_add_user_wb_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_user_wb_cli", false]], "test_add_users_via_yaml() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_add_users_via_yaml", false]], "test_add_users_via_yaml_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_add_users_via_yaml_cli", false]], "test_boolean_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_boolean_column", false]], "test_budget_over_limit() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_budget_over_limit", false]], "test_cardinality_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_cardinality_column", false]], "test_config_and_internal_server_exception() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_config_and_internal_server_exception", false]], "test_datetime_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_datetime_column", false]], "test_del_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_del_dataset", false]], "test_del_dataset_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_del_dataset_cli", false]], "test_del_dataset_to_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_del_dataset_to_user", false]], "test_del_dataset_to_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_del_dataset_to_user_cli", false]], "test_del_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_del_user", false]], "test_del_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_del_user_cli", false]], "test_drop_collection() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_drop_collection", false]], "test_drop_collection_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_drop_collection_cli", false]], "test_dummy_opendp_query() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_dummy_opendp_query", false]], "test_dummy_smartnoise_query() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_dummy_smartnoise_query", false]], "test_float_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_float_column", false]], "test_get_dataset_metadata() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_dataset_metadata", false]], "test_get_dummy_dataset() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_dummy_dataset", false]], "test_get_initial_budget() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_initial_budget", false]], "test_get_list_of_datasets() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_get_list_of_datasets", false]], "test_get_list_of_datasets_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_get_list_of_datasets_cli", false]], "test_get_list_of_datasets_from_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_get_list_of_datasets_from_user_cli", false]], "test_get_list_of_datasets_from_users() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_get_list_of_datasets_from_users", false]], "test_get_list_of_users() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_get_list_of_users", false]], "test_get_list_of_users_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_get_list_of_users_cli", false]], "test_get_previous_queries() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_previous_queries", false]], "test_get_remaining_budget() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_remaining_budget", false]], "test_get_total_spent_budget() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_get_total_spent_budget", false]], "test_int_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_int_column", false]], "test_memory_usage() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_memory_usage", false]], "test_nullable_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_nullable_column", false]], "test_opendp_cost() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_opendp_cost", false]], "test_opendp_query() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_opendp_query", false]], "test_root() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_root", false]], "test_seed() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_seed", false]], "test_set_budget_field() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_set_budget_field", false]], "test_set_budget_field_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_set_budget_field_cli", false]], "test_set_may_query() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_set_may_query", false]], "test_set_may_query_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_set_may_query_cli", false]], "test_show_archives_of_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_archives_of_user", false]], "test_show_archives_of_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_archives_of_user_cli", false]], "test_show_collection() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_collection", false]], "test_show_collection_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_collection_cli", false]], "test_show_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_dataset", false]], "test_show_dataset_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_dataset_cli", false]], "test_show_metadata_of_dataset() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_metadata_of_dataset", false]], "test_show_metadata_of_dataset_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_metadata_of_dataset_cli", false]], "test_show_user() (lomas_server.tests.test_mongodb_admin.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin.test_show_user", false]], "test_show_user_cli() (lomas_server.tests.test_mongodb_admin_cli.testmongodbadmin method)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin.test_show_user_cli", false]], "test_smartnoise_cost() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_smartnoise_cost", false]], "test_smartnoise_query() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_smartnoise_query", false]], "test_smartnoise_query_on_s3_dataset() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_smartnoise_query_on_s3_dataset", false]], "test_state() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_state", false]], "test_subsequent_budget_limit_logic() (lomas_server.tests.test_api.testrootapiendpoint method)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint.test_subsequent_budget_limit_logic", false]], "test_unknown_column() (lomas_server.tests.test_dummy_generation.testmakedummydataset method)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset.test_unknown_column", false]], "testmakedummydataset (class in lomas_server.tests.test_dummy_generation)": [[19, "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset", false]], "testmongodbadmin (class in lomas_server.tests.test_mongodb_admin)": [[19, "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin", false]], "testmongodbadmin (class in lomas_server.tests.test_mongodb_admin_cli)": [[19, "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin", false]], "testrootapiendpoint (class in lomas_server.tests.test_api)": [[19, "lomas_server.tests.test_api.TestRootAPIEndpoint", false]], "time_attack (lomas_server.constants.configkeys attribute)": [[12, "lomas_server.constants.ConfigKeys.TIME_ATTACK", false]], "time_attack (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.time_attack", false]], "timeattack (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.TimeAttack", false]], "timeattackmethod (class in lomas_server.constants)": [[12, "lomas_server.constants.TimeAttackMethod", false]], "total_spent_delta (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.total_spent_delta", false]], "total_spent_epsilon (lomas_server.utils.collections_models.datasetofuser attribute)": [[20, "lomas_server.utils.collections_models.DatasetOfUser.total_spent_epsilon", false]], "unauthorizedaccessexception": [[20, "lomas_server.utils.error_handler.UnauthorizedAccessException", false]], "update_budget() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.update_budget", false]], "update_delta() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.update_delta", false]], "update_epsilon() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.update_epsilon", false]], "update_epsilon_or_delta() (lomas_server.admin_database.admin_database.admindatabase method)": [[13, "lomas_server.admin_database.admin_database.AdminDatabase.update_epsilon_or_delta", false]], "update_epsilon_or_delta() (lomas_server.admin_database.mongodb_database.adminmongodatabase method)": [[13, "lomas_server.admin_database.mongodb_database.AdminMongoDatabase.update_epsilon_or_delta", false]], "update_epsilon_or_delta() (lomas_server.admin_database.yaml_database.adminyamldatabase method)": [[13, "lomas_server.admin_database.yaml_database.AdminYamlDatabase.update_epsilon_or_delta", false]], "update_memory_usage() (lomas_server.dataset_store.lru_dataset_store.lrudatasetstore method)": [[15, "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore.update_memory_usage", false]], "update_memory_usage() (lomas_server.dataset_store.private_dataset_observer.privatedatasetobserver method)": [[15, "lomas_server.dataset_store.private_dataset_observer.PrivateDatasetObserver.update_memory_usage", false]], "user (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.User", false]], "user_must_exist() (in module lomas_server.admin_database.admin_database)": [[13, "lomas_server.admin_database.admin_database.user_must_exist", false]], "user_must_have_access_to_dataset() (in module lomas_server.admin_database.admin_database)": [[13, "lomas_server.admin_database.admin_database.user_must_have_access_to_dataset", false]], "user_name (lomas_server.utils.collections_models.user attribute)": [[20, "lomas_server.utils.collections_models.User.user_name", false]], "usercollection (class in lomas_server.utils.collections_models)": [[20, "lomas_server.utils.collections_models.UserCollection", false]], "username (lomas_server.utils.config.mongodbconfig attribute)": [[20, "lomas_server.utils.config.MongoDBConfig.username", false]], "users (lomas_server.utils.collections_models.usercollection attribute)": [[20, "lomas_server.utils.collections_models.UserCollection.users", false]], "workers (lomas_server.utils.config.server attribute)": [[20, "lomas_server.utils.config.Server.workers", false]], "yaml (lomas_server.constants.admindbtype attribute)": [[12, "lomas_server.constants.AdminDBType.YAML", false]], "yamldbconfig (class in lomas_server.utils.config)": [[20, "lomas_server.utils.config.YamlDBConfig", false]], "zero_concentrated_divergence (lomas_server.constants.opendpmeasurement attribute)": [[12, "lomas_server.constants.OpenDPMeasurement.ZERO_CONCENTRATED_DIVERGENCE", false]]}, "objects": {"": [[11, 0, 0, "-", "lomas_client"], [12, 0, 0, "-", "lomas_server"]], "lomas_client": [[11, 0, 0, "-", "client"]], "lomas_client.client": [[11, 1, 1, "", "Client"], [11, 1, 1, "", "DPLibraries"], [11, 4, 1, "", "error_message"]], "lomas_client.client.Client": [[11, 2, 1, "", "estimate_opendp_cost"], [11, 2, 1, "", "estimate_smartnoise_cost"], [11, 2, 1, "", "get_dataset_metadata"], [11, 2, 1, "", "get_dummy_dataset"], [11, 2, 1, "", "get_initial_budget"], [11, 2, 1, "", "get_previous_queries"], [11, 2, 1, "", "get_remaining_budget"], [11, 2, 1, "", "get_total_spent_budget"], [11, 2, 1, "", "opendp_query"], [11, 2, 1, "", "smartnoise_query"]], "lomas_client.client.DPLibraries": [[11, 3, 1, "", "OPENDP"], [11, 3, 1, "", "SMARTNOISE_SQL"]], "lomas_server": [[13, 0, 0, "-", "admin_database"], [14, 0, 0, "-", "administration"], [12, 0, 0, "-", "app"], [12, 0, 0, "-", "constants"], [15, 0, 0, "-", "dataset_store"], [16, 0, 0, "-", "dp_queries"], [12, 0, 0, "-", "mongodb_admin"], [12, 0, 0, "-", "mongodb_admin_cli"], [18, 0, 0, "-", "private_dataset"], [19, 0, 0, "-", "tests"], [20, 0, 0, "-", "utils"], [12, 0, 0, "-", "uvicorn_serve"]], "lomas_server.admin_database": [[13, 0, 0, "-", "admin_database"], [13, 0, 0, "-", "mongodb_database"], [13, 0, 0, "-", "utils"], [13, 0, 0, "-", "yaml_database"]], "lomas_server.admin_database.admin_database": [[13, 1, 1, "", "AdminDatabase"], [13, 4, 1, "", "dataset_must_exist"], [13, 4, 1, "", "user_must_exist"], [13, 4, 1, "", "user_must_have_access_to_dataset"]], "lomas_server.admin_database.admin_database.AdminDatabase": [[13, 2, 1, "", "does_dataset_exist"], [13, 2, 1, "", "does_user_exist"], [13, 2, 1, "", "get_and_set_may_user_query"], [13, 2, 1, "", "get_dataset_field"], [13, 2, 1, "", "get_dataset_metadata"], [13, 2, 1, "", "get_epsilon_or_delta"], [13, 2, 1, "", "get_initial_budget"], [13, 2, 1, "", "get_remaining_budget"], [13, 2, 1, "", "get_total_spent_budget"], [13, 2, 1, "", "get_user_previous_queries"], [13, 2, 1, "", "has_user_access_to_dataset"], [13, 2, 1, "", "prepare_save_query"], [13, 2, 1, "", "save_query"], [13, 2, 1, "", "set_may_user_query"], [13, 2, 1, "", "update_budget"], [13, 2, 1, "", "update_delta"], [13, 2, 1, "", "update_epsilon"], [13, 2, 1, "", "update_epsilon_or_delta"]], "lomas_server.admin_database.mongodb_database": [[13, 1, 1, "", "AdminMongoDatabase"], [13, 4, 1, "", "check_result_acknowledged"]], "lomas_server.admin_database.mongodb_database.AdminMongoDatabase": [[13, 2, 1, "", "does_dataset_exist"], [13, 2, 1, "", "does_user_exist"], [13, 2, 1, "", "get_and_set_may_user_query"], [13, 2, 1, "", "get_dataset_field"], [13, 2, 1, "", "get_dataset_metadata"], [13, 2, 1, "", "get_epsilon_or_delta"], [13, 2, 1, "", "get_user_previous_queries"], [13, 2, 1, "", "has_user_access_to_dataset"], [13, 2, 1, "", "save_query"], [13, 2, 1, "", "set_may_user_query"], [13, 2, 1, "", "update_epsilon_or_delta"]], "lomas_server.admin_database.utils": [[13, 4, 1, "", "database_factory"], [13, 4, 1, "", "get_mongodb"], [13, 4, 1, "", "get_mongodb_url"]], "lomas_server.admin_database.yaml_database": [[13, 1, 1, "", "AdminYamlDatabase"]], "lomas_server.admin_database.yaml_database.AdminYamlDatabase": [[13, 2, 1, "", "does_dataset_exist"], [13, 2, 1, "", "does_user_exist"], [13, 2, 1, "", "get_and_set_may_user_query"], [13, 2, 1, "", "get_dataset_field"], [13, 2, 1, "", "get_dataset_metadata"], [13, 2, 1, "", "get_epsilon_or_delta"], [13, 2, 1, "", "get_user_previous_queries"], [13, 2, 1, "", "has_user_access_to_dataset"], [13, 2, 1, "", "save_current_database"], [13, 2, 1, "", "save_query"], [13, 2, 1, "", "set_may_user_query"], [13, 2, 1, "", "update_epsilon_or_delta"]], "lomas_server.app": [[12, 4, 1, "", "lifespan"], [12, 4, 1, "", "middleware"]], "lomas_server.constants": [[12, 1, 1, "", "AdminDBType"], [12, 1, 1, "", "ConfigKeys"], [12, 1, 1, "", "DPLibraries"], [12, 1, 1, "", "DatasetStoreType"], [12, 1, 1, "", "OpenDPDatasetInputMetric"], [12, 1, 1, "", "OpenDPMeasurement"], [12, 1, 1, "", "PrivateDatabaseType"], [12, 1, 1, "", "TimeAttackMethod"]], "lomas_server.constants.AdminDBType": [[12, 3, 1, "", "MONGODB"], [12, 3, 1, "", "YAML"]], "lomas_server.constants.ConfigKeys": [[12, 3, 1, "", "DATASET_STORE"], [12, 3, 1, "", "DATASET_STORE_TYPE"], [12, 3, 1, "", "DB"], [12, 3, 1, "", "DB_TYPE"], [12, 3, 1, "", "DB_TYPE_MONGODB"], [12, 3, 1, "", "DEVELOP_MODE"], [12, 3, 1, "", "DP_LIBRARY"], [12, 3, 1, "", "LRU_DATASET_STORE_MAX_SIZE"], [12, 3, 1, "", "MONGODB_ADDR"], [12, 3, 1, "", "MONGODB_PORT"], [12, 3, 1, "", "RUNTIME_ARGS"], [12, 3, 1, "", "SERVER"], [12, 3, 1, "", "SETTINGS"], [12, 3, 1, "", "SUBMIT_LIMIT"], [12, 3, 1, "", "TIME_ATTACK"]], "lomas_server.constants.DPLibraries": [[12, 3, 1, "", "OPENDP"], [12, 3, 1, "", "SMARTNOISE_SQL"]], "lomas_server.constants.DatasetStoreType": [[12, 3, 1, "", "BASIC"], [12, 3, 1, "", "LRU"]], "lomas_server.constants.OpenDPDatasetInputMetric": [[12, 3, 1, "", "CHANGE_ONE_DISTANCE"], [12, 3, 1, "", "HAMMING_DISTANCE"], [12, 3, 1, "", "INSERT_DELETE_DISTANCE"], [12, 3, 1, "", "INT_DISTANCE"], [12, 3, 1, "", "SYMMETRIC_DISTANCE"]], "lomas_server.constants.OpenDPMeasurement": [[12, 3, 1, "", "FIXED_SMOOTHED_MAX_DIVERGENCE"], [12, 3, 1, "", "MAX_DIVERGENCE"], [12, 3, 1, "", "SMOOTHED_MAX_DIVERGENCE"], [12, 3, 1, "", "ZERO_CONCENTRATED_DIVERGENCE"]], "lomas_server.constants.PrivateDatabaseType": [[12, 3, 1, "", "PATH"], [12, 3, 1, "", "S3"]], "lomas_server.constants.TimeAttackMethod": [[12, 3, 1, "", "JITTER"], [12, 3, 1, "", "STALL"]], "lomas_server.dataset_store": [[15, 0, 0, "-", "basic_dataset_store"], [15, 0, 0, "-", "dataset_store"], [15, 0, 0, "-", "lru_dataset_store"], [15, 0, 0, "-", "private_dataset_observer"], [15, 0, 0, "-", "utils"]], "lomas_server.dataset_store.basic_dataset_store": [[15, 1, 1, "", "BasicDatasetStore"]], "lomas_server.dataset_store.basic_dataset_store.BasicDatasetStore": [[15, 3, 1, "", "dp_queriers"], [15, 2, 1, "", "get_querier"]], "lomas_server.dataset_store.dataset_store": [[15, 1, 1, "", "DatasetStore"]], "lomas_server.dataset_store.dataset_store.DatasetStore": [[15, 3, 1, "", "admin_database"], [15, 2, 1, "", "get_querier"]], "lomas_server.dataset_store.lru_dataset_store": [[15, 1, 1, "", "LRUDatasetStore"]], "lomas_server.dataset_store.lru_dataset_store.LRUDatasetStore": [[15, 3, 1, "", "dataset_cache"], [15, 2, 1, "", "get_querier"], [15, 2, 1, "", "update_memory_usage"]], "lomas_server.dataset_store.private_dataset_observer": [[15, 1, 1, "", "PrivateDatasetObserver"]], "lomas_server.dataset_store.private_dataset_observer.PrivateDatasetObserver": [[15, 2, 1, "", "update_memory_usage"]], "lomas_server.dataset_store.utils": [[15, 4, 1, "", "dataset_store_factory"]], "lomas_server.dp_queries": [[17, 0, 0, "-", "dp_libraries"], [16, 0, 0, "-", "dp_logic"], [16, 0, 0, "-", "dp_querier"], [16, 0, 0, "-", "dummy_dataset"]], "lomas_server.dp_queries.dp_libraries": [[17, 0, 0, "-", "opendp"], [17, 0, 0, "-", "smartnoise_sql"], [17, 0, 0, "-", "utils"]], "lomas_server.dp_queries.dp_libraries.opendp": [[17, 1, 1, "", "OpenDPQuerier"], [17, 4, 1, "", "get_output_measure"], [17, 4, 1, "", "has_dataset_input_metric"], [17, 4, 1, "", "is_measurement"], [17, 4, 1, "", "reconstruct_measurement_pipeline"], [17, 4, 1, "", "set_opendp_features_config"]], "lomas_server.dp_queries.dp_libraries.opendp.OpenDPQuerier": [[17, 2, 1, "", "cost"], [17, 2, 1, "", "query"]], "lomas_server.dp_queries.dp_libraries.smartnoise_sql": [[17, 1, 1, "", "SmartnoiseSQLQuerier"], [17, 4, 1, "", "set_mechanisms"]], "lomas_server.dp_queries.dp_libraries.smartnoise_sql.SmartnoiseSQLQuerier": [[17, 2, 1, "", "cost"], [17, 2, 1, "", "query"]], "lomas_server.dp_queries.dp_libraries.utils": [[17, 4, 1, "", "querier_factory"]], "lomas_server.dp_queries.dp_logic": [[16, 1, 1, "", "QueryHandler"]], "lomas_server.dp_queries.dp_logic.QueryHandler": [[16, 3, 1, "", "admin_database"], [16, 3, 1, "", "dataset_store"], [16, 2, 1, "", "estimate_cost"], [16, 2, 1, "", "handle_query"]], "lomas_server.dp_queries.dp_querier": [[16, 1, 1, "", "DPQuerier"]], "lomas_server.dp_queries.dp_querier.DPQuerier": [[16, 2, 1, "", "cost"], [16, 2, 1, "", "query"]], "lomas_server.dp_queries.dummy_dataset": [[16, 4, 1, "", "get_dummy_dataset_for_query"], [16, 4, 1, "", "make_dummy_dataset"]], "lomas_server.mongodb_admin": [[12, 4, 1, "", "add_dataset"], [12, 4, 1, "", "add_dataset_to_user"], [12, 4, 1, "", "add_datasets_via_yaml"], [12, 4, 1, "", "add_user"], [12, 4, 1, "", "add_user_with_budget"], [12, 4, 1, "", "add_users_via_yaml"], [12, 4, 1, "", "check_dataset_and_metadata_exist"], [12, 4, 1, "", "check_user_exists"], [12, 4, 1, "", "check_user_has_dataset"], [12, 4, 1, "", "del_dataset"], [12, 4, 1, "", "del_dataset_to_user"], [12, 4, 1, "", "del_user"], [12, 4, 1, "", "drop_collection"], [12, 4, 1, "", "get_list_of_datasets"], [12, 4, 1, "", "get_list_of_datasets_from_user"], [12, 4, 1, "", "get_list_of_users"], [12, 4, 1, "", "set_budget_field"], [12, 4, 1, "", "set_may_query"], [12, 4, 1, "", "show_archives_of_user"], [12, 4, 1, "", "show_collection"], [12, 4, 1, "", "show_dataset"], [12, 4, 1, "", "show_metadata_of_dataset"], [12, 4, 1, "", "show_user"]], "lomas_server.private_dataset": [[18, 0, 0, "-", "in_memory_dataset"], [18, 0, 0, "-", "path_dataset"], [18, 0, 0, "-", "private_dataset"], [18, 0, 0, "-", "s3_dataset"], [18, 0, 0, "-", "utils"]], "lomas_server.private_dataset.in_memory_dataset": [[18, 1, 1, "", "InMemoryDataset"]], "lomas_server.private_dataset.in_memory_dataset.InMemoryDataset": [[18, 2, 1, "", "get_pandas_df"]], "lomas_server.private_dataset.path_dataset": [[18, 1, 1, "", "PathDataset"]], "lomas_server.private_dataset.path_dataset.PathDataset": [[18, 2, 1, "", "get_pandas_df"]], "lomas_server.private_dataset.private_dataset": [[18, 1, 1, "", "PrivateDataset"]], "lomas_server.private_dataset.private_dataset.PrivateDataset": [[18, 3, 1, "", "df"], [18, 2, 1, "", "get_memory_usage"], [18, 2, 1, "", "get_metadata"], [18, 2, 1, "", "get_pandas_df"], [18, 2, 1, "", "subscribe_for_memory_usage_updates"]], "lomas_server.private_dataset.s3_dataset": [[18, 1, 1, "", "S3Dataset"]], "lomas_server.private_dataset.s3_dataset.S3Dataset": [[18, 2, 1, "", "get_pandas_df"]], "lomas_server.private_dataset.utils": [[18, 4, 1, "", "private_dataset_factory"]], "lomas_server.tests": [[19, 0, 0, "-", "constants"], [19, 0, 0, "-", "test_api"], [19, 0, 0, "-", "test_dummy_generation"], [19, 0, 0, "-", "test_mongodb_admin"], [19, 0, 0, "-", "test_mongodb_admin_cli"]], "lomas_server.tests.test_api": [[19, 1, 1, "", "TestRootAPIEndpoint"]], "lomas_server.tests.test_api.TestRootAPIEndpoint": [[19, 2, 1, "", "setUp"], [19, 2, 1, "", "setUpClass"], [19, 2, 1, "", "tearDown"], [19, 2, 1, "", "tearDownClass"], [19, 2, 1, "", "test_budget_over_limit"], [19, 2, 1, "", "test_config_and_internal_server_exception"], [19, 2, 1, "", "test_dummy_opendp_query"], [19, 2, 1, "", "test_dummy_smartnoise_query"], [19, 2, 1, "", "test_get_dataset_metadata"], [19, 2, 1, "", "test_get_dummy_dataset"], [19, 2, 1, "", "test_get_initial_budget"], [19, 2, 1, "", "test_get_previous_queries"], [19, 2, 1, "", "test_get_remaining_budget"], [19, 2, 1, "", "test_get_total_spent_budget"], [19, 2, 1, "", "test_memory_usage"], [19, 2, 1, "", "test_opendp_cost"], [19, 2, 1, "", "test_opendp_query"], [19, 2, 1, "", "test_root"], [19, 2, 1, "", "test_smartnoise_cost"], [19, 2, 1, "", "test_smartnoise_query"], [19, 2, 1, "", "test_smartnoise_query_on_s3_dataset"], [19, 2, 1, "", "test_state"], [19, 2, 1, "", "test_subsequent_budget_limit_logic"]], "lomas_server.tests.test_dummy_generation": [[19, 1, 1, "", "TestMakeDummyDataset"]], "lomas_server.tests.test_dummy_generation.TestMakeDummyDataset": [[19, 2, 1, "", "test_boolean_column"], [19, 2, 1, "", "test_cardinality_column"], [19, 2, 1, "", "test_datetime_column"], [19, 2, 1, "", "test_float_column"], [19, 2, 1, "", "test_int_column"], [19, 2, 1, "", "test_nullable_column"], [19, 2, 1, "", "test_seed"], [19, 2, 1, "", "test_unknown_column"]], "lomas_server.tests.test_mongodb_admin": [[19, 1, 1, "", "TestMongoDBAdmin"]], "lomas_server.tests.test_mongodb_admin.TestMongoDBAdmin": [[19, 2, 1, "", "setUpClass"], [19, 2, 1, "", "tearDown"], [19, 2, 1, "", "test_add_dataset_to_user"], [19, 2, 1, "", "test_add_datasets_via_yaml"], [19, 2, 1, "", "test_add_demo_data_to_admindb"], [19, 2, 1, "", "test_add_local_dataset"], [19, 2, 1, "", "test_add_s3_dataset"], [19, 2, 1, "", "test_add_s3_datasets_via_yaml"], [19, 2, 1, "", "test_add_user"], [19, 2, 1, "", "test_add_user_wb"], [19, 2, 1, "", "test_add_users_via_yaml"], [19, 2, 1, "", "test_del_dataset"], [19, 2, 1, "", "test_del_dataset_to_user"], [19, 2, 1, "", "test_del_user"], [19, 2, 1, "", "test_drop_collection"], [19, 2, 1, "", "test_get_list_of_datasets"], [19, 2, 1, "", "test_get_list_of_datasets_from_users"], [19, 2, 1, "", "test_get_list_of_users"], [19, 2, 1, "", "test_set_budget_field"], [19, 2, 1, "", "test_set_may_query"], [19, 2, 1, "", "test_show_archives_of_user"], [19, 2, 1, "", "test_show_collection"], [19, 2, 1, "", "test_show_dataset"], [19, 2, 1, "", "test_show_metadata_of_dataset"], [19, 2, 1, "", "test_show_user"]], "lomas_server.tests.test_mongodb_admin_cli": [[19, 1, 1, "", "TestMongoDBAdmin"]], "lomas_server.tests.test_mongodb_admin_cli.TestMongoDBAdmin": [[19, 2, 1, "", "run_cli_command"], [19, 2, 1, "", "setUpClass"], [19, 2, 1, "", "tearDown"], [19, 2, 1, "", "test_add_dataset_to_user_cli"], [19, 2, 1, "", "test_add_datasets_via_yaml_cli"], [19, 2, 1, "", "test_add_local_dataset_cli"], [19, 2, 1, "", "test_add_user_cli"], [19, 2, 1, "", "test_add_user_wb_cli"], [19, 2, 1, "", "test_add_users_via_yaml_cli"], [19, 2, 1, "", "test_del_dataset_cli"], [19, 2, 1, "", "test_del_dataset_to_user_cli"], [19, 2, 1, "", "test_del_user_cli"], [19, 2, 1, "", "test_drop_collection_cli"], [19, 2, 1, "", "test_get_list_of_datasets_cli"], [19, 2, 1, "", "test_get_list_of_datasets_from_user_cli"], [19, 2, 1, "", "test_get_list_of_users_cli"], [19, 2, 1, "", "test_set_budget_field_cli"], [19, 2, 1, "", "test_set_may_query_cli"], [19, 2, 1, "", "test_show_archives_of_user_cli"], [19, 2, 1, "", "test_show_collection_cli"], [19, 2, 1, "", "test_show_dataset_cli"], [19, 2, 1, "", "test_show_metadata_of_dataset_cli"], [19, 2, 1, "", "test_show_user_cli"]], "lomas_server.utils": [[20, 0, 0, "-", "anti_timing_att"], [20, 0, 0, "-", "collections_models"], [20, 0, 0, "-", "config"], [20, 0, 0, "-", "error_handler"], [20, 0, 0, "-", "example_inputs"], [20, 0, 0, "-", "input_models"], [20, 0, 0, "-", "loggr"], [20, 0, 0, "-", "utils"]], "lomas_server.utils.anti_timing_att": [[20, 4, 1, "", "anti_timing_att"]], "lomas_server.utils.collections_models": [[20, 1, 1, "", "Dataset"], [20, 1, 1, "", "DatasetOfPathDB"], [20, 1, 1, "", "DatasetOfS3DB"], [20, 1, 1, "", "DatasetOfUser"], [20, 1, 1, "", "DatasetsCollection"], [20, 1, 1, "", "Metadata"], [20, 1, 1, "", "MetadataOfDataset"], [20, 1, 1, "", "MetadataOfPathDB"], [20, 1, 1, "", "MetadataOfS3DB"], [20, 1, 1, "", "User"], [20, 1, 1, "", "UserCollection"]], "lomas_server.utils.collections_models.Dataset": [[20, 3, 1, "", "database_type"], [20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "metadata"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.DatasetOfPathDB": [[20, 3, 1, "", "dataset_path"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.DatasetOfS3DB": [[20, 3, 1, "", "aws_access_key_id"], [20, 3, 1, "", "aws_secret_access_key"], [20, 3, 1, "", "endpoint_url"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "s3_bucket"], [20, 3, 1, "", "s3_key"]], "lomas_server.utils.collections_models.DatasetOfUser": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "initial_delta"], [20, 3, 1, "", "initial_epsilon"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "total_spent_delta"], [20, 3, 1, "", "total_spent_epsilon"]], "lomas_server.utils.collections_models.DatasetsCollection": [[20, 3, 1, "", "datasets"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.Metadata": [[20, 3, 1, "", "columns"], [20, 3, 1, "", "max_ids"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "row_privacy"]], "lomas_server.utils.collections_models.MetadataOfDataset": [[20, 3, 1, "", "database_type"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.MetadataOfPathDB": [[20, 3, 1, "", "metadata_path"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.collections_models.MetadataOfS3DB": [[20, 3, 1, "", "aws_access_key_id"], [20, 3, 1, "", "aws_secret_access_key"], [20, 3, 1, "", "endpoint_url"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "s3_bucket"], [20, 3, 1, "", "s3_key"]], "lomas_server.utils.collections_models.User": [[20, 3, 1, "", "datasets_list"], [20, 3, 1, "", "may_query"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "user_name"]], "lomas_server.utils.collections_models.UserCollection": [[20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "users"]], "lomas_server.utils.config": [[20, 1, 1, "", "Config"], [20, 1, 1, "", "ConfigLoader"], [20, 1, 1, "", "DBConfig"], [20, 1, 1, "", "DPLibraryConfig"], [20, 1, 1, "", "DatasetStoreConfig"], [20, 1, 1, "", "LRUDatasetStoreConfig"], [20, 1, 1, "", "MongoDBConfig"], [20, 1, 1, "", "OpenDPConfig"], [20, 1, 1, "", "Server"], [20, 1, 1, "", "TimeAttack"], [20, 1, 1, "", "YamlDBConfig"], [20, 4, 1, "", "get_config"]], "lomas_server.utils.config.Config": [[20, 3, 1, "", "admin_database"], [20, 3, 1, "", "dataset_store"], [20, 3, 1, "", "develop_mode"], [20, 3, 1, "", "dp_libraries"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "server"], [20, 3, 1, "", "submit_limit"]], "lomas_server.utils.config.ConfigLoader": [[20, 2, 1, "", "get_config"], [20, 2, 1, "", "load_config"], [20, 2, 1, "", "set_config"]], "lomas_server.utils.config.DBConfig": [[20, 3, 1, "", "db_type"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.DPLibraryConfig": [[20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "opendp"]], "lomas_server.utils.config.DatasetStoreConfig": [[20, 3, 1, "", "ds_store_type"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.LRUDatasetStoreConfig": [[20, 3, 1, "", "max_memory_usage"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.MongoDBConfig": [[20, 3, 1, "", "address"], [20, 3, 1, "", "db_name"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "password"], [20, 3, 1, "", "port"], [20, 3, 1, "", "username"]], "lomas_server.utils.config.OpenDPConfig": [[20, 3, 1, "", "contrib"], [20, 3, 1, "", "floating_point"], [20, 3, 1, "", "honest_but_curious"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.Server": [[20, 3, 1, "", "host_ip"], [20, 3, 1, "", "host_port"], [20, 3, 1, "", "log_level"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "reload"], [20, 3, 1, "", "time_attack"], [20, 3, 1, "", "workers"]], "lomas_server.utils.config.TimeAttack": [[20, 3, 1, "", "magnitude"], [20, 3, 1, "", "method"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.config.YamlDBConfig": [[20, 3, 1, "", "db_file"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.error_handler": [[20, 5, 1, "", "ExternalLibraryException"], [20, 5, 1, "", "InternalServerException"], [20, 5, 1, "", "InvalidQueryException"], [20, 5, 1, "", "UnauthorizedAccessException"], [20, 4, 1, "", "add_exception_handlers"]], "lomas_server.utils.input_models": [[20, 1, 1, "", "DummyOpenDPInp"], [20, 1, 1, "", "DummySNSQLInp"], [20, 1, 1, "", "GetDbData"], [20, 1, 1, "", "GetDummyDataset"], [20, 1, 1, "", "OpenDPInp"], [20, 1, 1, "", "SNSQLInp"], [20, 1, 1, "", "SNSQLInpCost"]], "lomas_server.utils.input_models.DummyOpenDPInp": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "dummy_nb_rows"], [20, 3, 1, "", "dummy_seed"], [20, 3, 1, "", "fixed_delta"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "opendp_json"]], "lomas_server.utils.input_models.DummySNSQLInp": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "delta"], [20, 3, 1, "", "dummy_nb_rows"], [20, 3, 1, "", "dummy_seed"], [20, 3, 1, "", "epsilon"], [20, 3, 1, "", "mechanisms"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "postprocess"], [20, 3, 1, "", "query_str"]], "lomas_server.utils.input_models.GetDbData": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.input_models.GetDummyDataset": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "dummy_nb_rows"], [20, 3, 1, "", "dummy_seed"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "lomas_server.utils.input_models.OpenDPInp": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "fixed_delta"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "opendp_json"]], "lomas_server.utils.input_models.SNSQLInp": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "delta"], [20, 3, 1, "", "epsilon"], [20, 3, 1, "", "mechanisms"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "postprocess"], [20, 3, 1, "", "query_str"]], "lomas_server.utils.input_models.SNSQLInpCost": [[20, 3, 1, "", "dataset_name"], [20, 3, 1, "", "delta"], [20, 3, 1, "", "epsilon"], [20, 3, 1, "", "mechanisms"], [20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"], [20, 3, 1, "", "query_str"]], "lomas_server.utils.utils": [[20, 4, 1, "", "add_demo_data_to_admindb"], [20, 4, 1, "", "server_live"], [20, 4, 1, "", "stream_dataframe"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"], "5": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function", "5": "py:exception"}, "terms": {"": [2, 9, 20, 21, 22, 23, 32], "0": [11, 13, 17, 20, 21, 22, 23, 26, 30], "00": 22, "0001": [21, 22], "00014999500000001387": [21, 23], "0004": 20, "0005": 22, "001": 22, "004850004999999986": 21, "005": [21, 22], "01": 23, "031628": 21, "038092": 21, "05": 22, "051061": 23, "06": 22, "07": 22, "070911": 21, "09": 22, "096718": 21, "0x7f55e33e7ec0": 21, "0x7f55e33e7f50": 21, "1": [6, 8, 11, 12, 13, 22, 26, 30], "10": [21, 22, 23], "100": [11, 16, 21, 22, 23], "1000": 22, "100000": 22, "1024": 15, "11": [21, 22, 23], "117959": 21, "12": [21, 22, 23], "123": 21, "125950": 21, "127": 30, "13": [21, 22, 23], "133": 23, "14": [21, 22, 23], "143633": 23, "15": [21, 22, 23], "150": [21, 22], "153": 21, "159": 21, "16": [21, 22, 23], "160858": 23, "17": [21, 22, 23], "1718639441": 21, "1718639449": 21, "1718639455": 21, "18": [21, 22, 23], "19": [21, 22, 23], "190": 21, "199": [21, 23], "199850005": 23, "1e": [11, 21, 22, 23], "2": [6, 8, 22], "20": [21, 22, 23], "200": [21, 23], "2000": [21, 22], "2022": 9, "2024": 22, "208473": 21, "21": [21, 22, 23], "22": [21, 22, 23], "23": [21, 22, 23], "2316": 21, "236": 21, "24": [21, 22, 23], "240181818190626": 23, "242": 21, "2421": 23, "244": 21, "2464255812": 23, "246787": 21, "246870": 21, "246992": 23, "25": [21, 22, 23], "250": [21, 22], "2503": 23, "2562": 23, "26": [21, 22, 23], "27": [21, 22, 23], "27017": [22, 26], "2733": 23, "28": [21, 22, 23], "2873": 21, "29": [21, 22, 23], "291927": 21, "3": [6, 8, 22], "30": [21, 22, 23], "300": 22, "304": 17, "31": [21, 22, 23], "3108685": 21, "32": [21, 22, 23], "3265": 23, "33": [21, 22], "34": [21, 22, 23], "344": 21, "35": [21, 22], "36": [21, 22], "3639": 21, "37": [21, 22], "38": [21, 22, 23], "39": [21, 22, 23], "396": 22, "399": 23, "4": [5, 6, 22], "40": [21, 22], "400": [21, 23], "4078": 23, "41": [21, 22], "418": 22, "42": [11, 16, 21, 22], "43": [21, 22, 23], "44": [21, 22], "4452": 23, "45": [21, 22, 23], "4530268": 21, "46": 22, "461": 22, "4611": 23, "464": 22, "466": 22, "47": [21, 22], "48": 22, "4833": 23, "4860": 23, "49": [21, 22, 23], "4947808": 21, "4999e": 21, "5": [6, 11, 20, 22, 23, 26], "50": 22, "5036": 21, "51": [21, 22], "52": 22, "52mm": 21, "530153": 21, "54": 22, "5401": 21, "5405": 23, "55": 21, "5630": 23, "59": 22, "6": [21, 22, 23], "6397": 23, "65": [21, 22], "6634": 23, "6743": 23, "678": 22, "68": 21, "7": [21, 22, 23], "7000": [21, 22], "703": 22, "710": 22, "7122093023265229": 21, "726": 22, "731": 21, "73111553579249": 21, "741": 22, "743330": 21, "749": 22, "755": 22, "777518": 21, "785941": 23, "789627": 21, "78962738762428": 21, "79": [21, 23], "796037": 21, "79mm": 21, "8": [21, 22, 23], "800": 21, "8266": 23, "827918": 21, "8501": [27, 30], "8888": 30, "891": 23, "9": [21, 22, 23], "9000": 30, "9001": 30, "917": 22, "9226": 23, "928019": 23, "929142": 21, "935352": 23, "936950": 23, "94": 23, "940005": 21, "940338": 23, "948853": 21, "95": [21, 23], "96": [21, 23], "961493": 21, "9621": 23, "963435": 21, "982129": 23, "9846": 23, "99": 21, "9am": 0, "A": [9, 11, 13, 15, 16, 19, 20, 21, 22, 23, 29, 30], "AND": 0, "AS": [21, 23], "And": [21, 22], "As": [0, 21, 23], "But": 21, "By": [21, 22, 29], "For": [0, 9, 16, 17, 20, 22], "IT": 9, "If": [0, 1, 11, 12, 13, 15, 16, 17, 18, 19, 20, 22, 27, 29, 30], "In": [0, 1, 5, 6, 9, 11, 21, 22, 24, 27, 29, 30], "It": [2, 9, 21, 22, 23, 24, 26], "Its": 9, "NOT": 12, "No": [0, 21, 22], "Not": 21, "ON": 30, "Of": 0, "On": [9, 21, 23], "One": [0, 2, 15, 17, 23, 30], "Or": 22, "The": [0, 2, 5, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 29, 30], "Then": [0, 1, 21, 22], "There": 15, "These": [0, 6, 22, 24, 26], "To": [0, 8, 21, 22, 23, 24, 27, 29, 32], "Will": 12, "With": [21, 23, 30], "__fields__": 20, "__init__": 22, "__name__": 22, "__pycache__": 22, "__token__": 1, "_add_dataset": 15, "_description_": [12, 16], "_writeresult": 13, "abc": [13, 15, 16, 17, 18], "abl": [21, 22, 23], "about": [0, 9, 12, 15, 20, 21, 22, 26], "abov": 0, "absenc": 12, "abstract": [13, 15, 16, 18], "access": [5, 8, 9, 12, 13, 16, 18, 20, 21, 24, 26, 28, 30], "accord": 32, "accordingli": [12, 15, 22], "account": [18, 21], "acknowledg": [5, 12, 13], "across": [0, 30], "action": 0, "activ": [2, 27], "actual": 21, "ad": [0, 12, 19, 20, 21, 22, 24, 26, 30], "adapt": [9, 22, 29], "add": [0, 12, 18, 19, 20, 21, 23, 26, 30], "add_dataset": [12, 22, 26, 31], "add_dataset_to_us": [12, 22, 26, 31], "add_datasets_via_yaml": [12, 22, 26, 31], "add_demo_data_to_admindb": [12, 20], "add_exception_handl": [12, 20], "add_us": [12, 22, 26, 31], "add_user_with_budget": [12, 22, 26, 31], "add_users_via_yaml": [12, 22, 26, 31], "addit": [0, 6, 9, 21, 22, 24, 30], "addition": 5, "address": [12, 20, 26, 30], "adeli": [21, 22], "adjust": 0, "admin": [16, 19, 21, 22, 30], "admin123": 22, "admin_databas": [12, 15, 16, 18, 20, 22, 31], "admindatabas": [12, 13, 15, 16, 18], "admindb": 20, "admindbtyp": [12, 20, 31], "administr": [2, 5, 9, 12, 13, 19, 30, 31, 32], "adminmongodatabas": [12, 13], "adminyamldatabas": [2, 12, 13], "advanc": [17, 21], "advis": 9, "affect": 21, "after": [13, 19, 21, 22, 23], "afterward": [21, 23], "ag": 22, "again": [2, 10, 21, 23], "against": 12, "age_max": 23, "age_min": 23, "age_transformation_pipelin": 23, "agre": 21, "ahead": 0, "aim": [9, 21, 22], "ak": 29, "alic": [21, 22], "all": [0, 8, 9, 11, 12, 19, 21, 23, 26], "alloc": [9, 22], "allow": [21, 22, 23, 26, 32], "alreadi": [9, 12, 13, 16, 21, 22], "alreai": 22, "also": [0, 2, 6, 9, 21, 22, 23, 24, 30], "altern": 22, "alwai": [0, 26], "among": [21, 22], "amount": 16, "an": [0, 2, 5, 11, 13, 15, 16, 18, 19, 20, 21, 22, 30], "analys": [9, 21], "analysi": [0, 21], "ani": [8, 16, 17, 21, 22, 23], "annot": 20, "anoth": [0, 21, 22, 23], "antarctica": 21, "antartica": [21, 22], "anti": 20, "anti_timing_att": [12, 31], "any_queri": 8, "api": [9, 12, 19, 22, 27, 30], "app": [0, 20, 22, 26, 31], "app_url": [8, 21, 23], "appli": [21, 23], "applic": [6, 21, 23, 30], "appropri": 18, "approv": 0, "appvers": 0, "ar": [0, 1, 2, 5, 6, 9, 12, 15, 17, 21, 22, 23, 27], "architectur": 9, "archiv": [6, 9, 12, 13, 19, 26], "arg": [13, 19, 22], "argument": [13, 19, 20, 22], "ask": [21, 23], "assert": 12, "assign": [21, 22], "associ": [8, 9, 21, 22], "ast": 22, "async": [12, 20], "asyncgener": [12, 20], "atom": 13, "attack": [12, 20], "authoris": 5, "autom": [0, 1], "automat": [0, 2, 30], "avail": [9, 21, 22, 24, 27, 29, 30], "avg": [21, 23], "avg_ag": 23, "avg_bill_length": 21, "avg_bill_length_mm": 21, "avoid": 20, "aw": [12, 26], "aws_access_key_id": [12, 20, 22, 26], "aws_secret_access_kei": [12, 20, 22, 26], "back": 15, "base": [2, 5, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26], "basemodel": [16, 17, 20], "basic": [12, 15, 31], "basic_dataset_stor": [12, 31], "basicdatasetstor": [12, 15], "basicmodel": 16, "becaus": [21, 23], "been": 22, "befor": [0, 12, 13, 19, 21, 22, 29], "begin": 29, "being": [8, 19], "below": [0, 8, 15, 21, 29], "best": 28, "better": 21, "big": 21, "bill_depth_mm": [21, 22], "bill_length_max": 21, "bill_length_min": 21, "bill_length_mm": [21, 22], "bill_length_transformation_pipelin": 21, "bind": 22, "bisco": [21, 22], "bit": 22, "black": 0, "blob": 12, "bob": 22, "bodi": 21, "body_mass_g": [21, 22], "bool": [11, 12, 13, 18, 20], "boolean": [12, 22, 23], "both": [0, 19], "bound": [21, 22, 23], "boundari": [11, 12], "breviti": 9, "browser": 30, "bucket": [12, 26, 30], "budget": [5, 9, 11, 12, 13, 16, 17, 19, 24, 26], "buget": 21, "build": [0, 17], "build_doc": 0, "built": [17, 30], "button": 32, "c": [22, 23, 26], "cabin": [22, 23], "cach": [15, 18], "call": [9, 12, 13, 20, 21, 22, 23], "call_next": [12, 20], "callabl": [12, 13, 20], "can": [0, 2, 6, 8, 9, 12, 15, 18, 19, 20, 21, 23, 24, 27, 28, 29, 30, 32], "cannot": [18, 20, 21, 23], "capabl": 21, "cardin": [21, 22, 23], "care": [0, 9, 21], "carri": 22, "case": [11, 12, 20], "categori": [21, 22, 23], "cd": [0, 30], "cell": 21, "censor_dim": [21, 22], "certain": [22, 24], "ch": 30, "chang": [15, 20, 21, 29], "change_one_dist": [12, 31], "changeonedist": 12, "chapter": [29, 30], "chart": [0, 9, 28], "check": [1, 5, 12, 13, 16, 17, 20, 21, 22, 23], "check_dataset_and_metadata_exist": [12, 31], "check_result_acknowledg": [12, 13], "check_user_exist": [12, 31], "check_user_has_dataset": [12, 31], "chinstrap": [21, 22], "chmod": 0, "choic": 26, "choos": [21, 28, 32], "ci": 0, "class": [11, 12, 13, 15, 16, 17, 18, 19, 20], "classic": 9, "classmethod": 19, "classvar": 20, "clean": [12, 22, 26], "cleaner": 22, "clear": [15, 22], "cli": [19, 24], "click": 32, "client": [0, 3, 6, 7, 13, 22], "client_input": 21, "clone": 30, "close": 21, "cloud": 29, "cluster": [9, 28, 29], "code": [0, 8, 9, 11, 21, 22], "codebas": 22, "codeql": 0, "col_nam": [21, 23], "coldheart": 22, "collect": [12, 13, 19, 20, 21, 22], "collections_model": [12, 31], "column": [12, 16, 20, 21, 22, 23], "column_nam": 21, "com": [12, 17, 22, 30], "come": 5, "command": [0, 8, 19, 21, 22, 23, 24, 26, 29, 30], "commonli": 9, "commun": 29, "compar": 21, "complet": [0, 22], "compon": 9, "compos": [9, 22, 27, 30], "comput": [20, 21, 23], "computedfieldinfo": 20, "concret": 17, "config": [2, 12, 13, 15, 17, 22, 30, 31], "config_path": 20, "configdict": 20, "configkei": [12, 31], "configload": [12, 20], "configur": [9, 12, 17, 19, 20, 22, 27, 29], "conform": 20, "connect": [9, 13, 19, 21, 24], "connection_paramet": 13, "connection_str": 13, "consist": 0, "consol": 30, "constant": [15, 18, 21, 22, 23, 31], "construct": 10, "contact": 5, "contain": [11, 12, 16, 17, 22, 29, 30], "content": [7, 31], "contrib": [12, 20], "contribut": 0, "convert": 11, "copi": 18, "correct": [9, 13, 15, 17], "correctli": [13, 20], "correspond": 20, "cost": [11, 12, 16, 17, 20], "cost_r": [21, 23], "could": [21, 22], "count": 23, "cours": [21, 23], "cover": 24, "creat": [0, 12, 16, 18, 19, 20, 21, 23, 26, 27, 30], "creation": 22, "credenti": 9, "credit": 21, "csv": 22, "ctrl": 22, "current": [9, 12, 13, 22], "current_delta": 13, "current_epsilon": 13, "custom": [5, 20, 29, 32], "d": [22, 26], "d_path": [22, 26], "dai": 22, "daisi": 22, "dashboard": 24, "data": [12, 18, 19, 20, 21, 22, 23, 24, 26, 30], "databas": [2, 5, 9, 12, 13, 15, 16, 19, 20, 21, 23, 24, 26, 30], "database_factori": [12, 13], "database_nam": 13, "database_typ": [12, 20, 22, 26], "datafram": [5, 11, 16, 17, 18, 20, 21, 23], "datalab": 32, "dataset": [5, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 30], "dataset_cach": [12, 15], "dataset_collect": [20, 22], "dataset_df": 18, "dataset_info": 12, "dataset_must_exist": [12, 13], "dataset_nam": [8, 11, 12, 13, 15, 18, 20, 21, 22, 23, 26], "dataset_observ": 18, "dataset_path": [12, 18, 20, 22, 26], "dataset_stor": [12, 16, 20, 22, 31], "dataset_store_factori": [12, 15], "dataset_store_typ": [12, 31], "dataset_yaml": 20, "datasetofpathdb": [12, 20], "datasetofs3db": [12, 20], "datasetofus": [12, 20], "datasets_list": [12, 20, 22], "datasetscollect": [12, 20], "datasetstor": [12, 15, 16], "datasetstoreconfig": [12, 15, 20], "datasetstoretyp": [12, 20, 31], "date": [0, 1, 13], "db": [12, 13, 19, 22, 26, 31], "db_a": 26, "db_file": [12, 20], "db_n": 26, "db_name": [12, 20, 26], "db_p": 26, "db_pwd": 26, "db_type": [12, 20, 31], "db_type_mongodb": [12, 31], "db_u": 26, "dbconfig": [12, 13, 20], "decid": [21, 22], "decod": 22, "deconstruct": 19, "decor": 13, "decreas": 5, "def": 22, "default": [11, 12, 16, 17, 20, 21, 22, 26, 27, 29, 30], "defaultdb": 26, "defin": [20, 21], "del": 26, "del_dataset": [12, 22, 26, 31], "del_dataset_to_us": [12, 22, 26, 31], "del_us": [12, 22, 26, 31], "delai": 12, "delet": [1, 12, 19, 22, 26], "delta": [11, 12, 13, 16, 17, 20, 21, 22, 23, 26], "delta_cost": [16, 21, 23], "demand": 32, "demo": [6, 19, 20], "demonstr": [6, 22, 24], "dep": 0, "depend": [0, 12, 27, 30, 32], "deploi": [0, 5, 9, 27, 28], "deploy": [0, 9, 27, 30, 32], "depth": 21, "describ": [5, 11, 13], "deseri": [9, 11], "deserialis": 11, "detail": [0, 9, 21, 22, 26], "develop": [0, 9, 13, 20, 21, 22, 23, 30, 32], "develop_mod": [12, 20, 31], "df": [11, 12, 18, 20, 21, 23], "df_dummi": [21, 23], "dict": [11, 12, 13, 15, 16, 17, 18, 20], "dictionari": [11, 13, 16, 17, 18, 20, 21, 22], "dictionnari": [12, 13, 16], "did": 21, "differ": [0, 2, 6, 9, 11, 15, 21, 22, 23], "differenti": [5, 9, 21, 23], "diffprivlib": 20, "dimens": 21, "direct": 9, "directli": [0, 26, 27], "directori": [2, 29, 30], "disabl": 12, "disclosur": 21, "discov": [2, 28], "discuss": 17, "disk": 20, "displai": 21, "dispos": 21, "dist": 1, "distribut": 21, "diverg": 12, "divers": 9, "do": [0, 2, 5, 8, 21, 26], "doc": [0, 12, 17], "docker": [0, 24, 26, 28, 30], "dockercli": 22, "dockerfil": 30, "document": [0, 1, 9, 11, 28], "doe": [5, 12, 13, 15, 16, 17, 18, 19, 21], "does_dataset_exist": [12, 13], "does_user_exist": [12, 13], "don": [21, 29], "done": [13, 21, 22], "down": 22, "download": 9, "dp": [11, 12, 15, 16, 17, 20, 21, 23], "dp_librairi": 21, "dp_librari": [12, 16, 20, 31], "dp_logic": [12, 31], "dp_queri": [12, 22, 31], "dp_querier": [12, 15, 31], "dplibrari": [7, 11, 12, 15, 16, 17, 31], "dplibraryconfig": [12, 20], "dpquerier": [12, 15, 16, 17], "dr": [21, 22], "dream": [21, 22], "drop": [12, 19, 26], "drop_collect": [12, 22, 26, 31], "ds_store_typ": [12, 20], "dscc": 30, "due": 5, "dummi": [11, 16, 19, 20], "dummy_dataset": [12, 31], "dummy_nb_row": [11, 12, 16, 20], "dummy_r": [21, 23], "dummy_se": [11, 12, 16, 20], "dummy_var_r": [21, 23], "dummyopendpinp": [12, 20], "dummysnsqlinp": [12, 20], "dure": [0, 2, 11, 13], "e": [9, 11, 21, 26], "each": [9, 21, 22, 23], "easili": 32, "eco_branch": 22, "edit": 29, "educ": 22, "effect": 12, "effici": [9, 26], "either": 20, "ek": 29, "els": 21, "embark": [22, 23], "empti": 22, "en": 12, "enabl": [9, 12, 17, 19, 21, 23], "encod": [16, 17], "encount": [11, 23], "end": [11, 19], "endpoint": [12, 19, 20, 21, 23, 26, 30], "endpoint_url": [12, 20, 22, 26], "enforc": [12, 13, 15], "enforce_tru": 12, "engin": 22, "enough": [5, 17, 21], "ensur": [0, 9, 21, 22, 27, 30], "entir": 0, "enum": [11, 20], "enumer": 21, "environ": [0, 2, 9, 19, 21, 23, 26, 30], "epsilon": [11, 12, 13, 16, 17, 20, 21, 22, 23, 26], "epsilon_cost": [16, 21, 23], "equal": [15, 21, 23], "error": [11, 12, 21, 22, 23], "error_handl": [12, 31], "error_messag": [7, 11, 20], "escal": 5, "especi": 29, "establish": 26, "estim": [11, 16, 17], "estimate_cost": [12, 16], "estimate_opendp_cost": [7, 11, 21, 23], "estimate_smartnoise_cost": [7, 11, 21, 23], "etc": [0, 2, 9, 12, 20, 24], "even": 21, "event": [0, 2], "everi": [0, 21, 22], "everyth": [21, 22], "exactli": 21, "exampl": [5, 9, 20, 22, 24, 30], "example_config": 22, "example_input": [12, 31], "except": [2, 11, 13, 16, 17, 20, 21], "exec_run": 22, "execresult": 22, "execut": [0, 2, 9, 11, 12, 19, 21, 22, 23, 27], "exisit": 22, "exist": [1, 5, 12, 13, 15, 16, 17, 18, 22, 26], "exit": [19, 22], "expect": [21, 22, 23], "explain": [0, 21, 22, 24], "explor": 28, "extens": 9, "extern": [5, 9, 16, 17, 20], "externallibraryexcept": [12, 17, 20], "extract": 21, "f": [21, 23, 26, 29], "face": 9, "facilit": [9, 24], "fail": [5, 15, 20, 21, 23], "failur": 5, "fals": [11, 12, 13, 20, 21, 22, 23, 26], "familiar": 24, "far": 9, "fare": [22, 23], "fastapi": [9, 12, 20], "featur": [0, 6, 17], "femal": [21, 22, 23], "fetch": 22, "few": [21, 22, 23, 30], "field": [12, 13, 19, 20, 21, 22, 26], "fieldinfo": 20, "file": [0, 9, 12, 18, 19, 20, 26, 29, 30], "filenam": 21, "filepath": 20, "final": 21, "find": [6, 9, 32], "fine": 32, "finish": [0, 12, 22], "first": [0, 13, 16, 17, 19, 21, 22, 23, 30], "fit": [15, 28, 29], "fix": [0, 5], "fixed_delta": [11, 12, 20, 21], "fixed_smoothed_max_diverg": [12, 31], "fixtur": 19, "flag": [12, 13, 21], "flake8": 0, "flipper": 21, "flipper_length_mm": [21, 22], "float": [11, 12, 13, 16, 17, 20, 21, 22, 23], "floating_point": [12, 20], "fly": 21, "follow": [0, 1, 8, 9, 21, 22, 29, 30, 32], "folow": 32, "fonction": 21, "forget": [0, 21], "format": [0, 11, 12, 13, 18, 20, 21, 22], "found": [22, 24], "fr": 22, "franc": 32, "from": [0, 2, 5, 8, 9, 11, 12, 13, 15, 17, 18, 19, 20, 21, 22, 23, 26], "frostina": 22, "fso": [8, 22], "fso_income_synthet": 22, "fso_income_synthetic_metadata": 22, "func": [13, 22], "function": [8, 9, 11, 12, 13, 15, 19, 20, 21, 22, 23, 26], "function_map": 22, "functionn": 6, "further": 0, "g": [9, 11, 23], "gave": 21, "gener": [0, 2, 11, 19], "gentoo": [21, 22], "get": [1, 12, 13, 15, 16, 17, 18, 19, 20, 22, 26, 29, 30], "get_and_set_may_user_queri": [12, 13], "get_config": [12, 20], "get_dataset": [22, 26], "get_dataset_field": [12, 13], "get_dataset_metadata": [7, 11, 12, 13, 21, 23], "get_dummy_dataset": [7, 11, 21, 23], "get_dummy_dataset_for_queri": [12, 16], "get_epsilon_or_delta": [12, 13], "get_initial_budget": [7, 11, 12, 13, 21, 23], "get_list_of_dataset": [12, 31], "get_list_of_datasets_from_us": [12, 31], "get_list_of_us": [12, 31], "get_memory_usag": [12, 18], "get_metadata": [12, 18], "get_mongodb": [12, 13], "get_mongodb_url": [12, 13], "get_output_measur": [16, 17], "get_pandas_df": [12, 18], "get_previous_queri": [7, 11, 21], "get_queri": [12, 15], "get_remaining_budget": [7, 11, 12, 13, 21, 23], "get_total_spent_budget": [7, 11, 12, 13, 21, 23], "get_us": [22, 26], "get_user_dataset": [22, 26], "get_user_previous_queri": [12, 13], "getdbdata": [12, 20], "getdummydataset": [12, 16, 20], "git": 30, "github": [1, 2, 6, 9, 12, 17, 24, 30], "githubusercont": 22, "give": [0, 13, 21, 22, 23], "given": [12, 15, 16, 20, 21, 22, 26], "gke": 29, "go": [22, 30], "good": 21, "got": 1, "gramm": 21, "grounbdbreak": 21, "gt": [20, 21, 22], "guess": 21, "guid": [8, 29], "guidanc": 28, "h": [22, 23], "ha": [9, 12, 13, 21, 22], "hackathon": 9, "had": [21, 22], "hamming_dist": [12, 31], "hammingdist": 12, "handl": [9, 11, 12, 16], "handle_queri": [12, 16], "handler": 16, "happen": [5, 21], "has_dataset_input_metr": [16, 17], "has_user_access_to_dataset": [12, 13], "have": [0, 2, 5, 8, 12, 13, 16, 21, 22, 23, 29, 30], "haven": 29, "he": 22, "head": [0, 21, 23], "header": 19, "heard": 22, "helm": [0, 9, 28], "help": [5, 6, 22], "henc": 21, "her": [21, 22, 23], "here": [6, 21, 27, 29], "hesit": 22, "hi": 22, "high": [21, 23], "him": 22, "histogram": 21, "hold": [15, 16, 20, 22], "honest_but_curi": [12, 20], "hook": 19, "host_ip": [12, 20], "host_port": [12, 20], "hour": 13, "how": [6, 9, 21, 22, 24, 26, 28, 30], "howev": 21, "html": [12, 17], "http": [9, 11, 12, 17, 18, 21, 22, 23, 30], "i": [0, 1, 2, 5, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 27, 29, 30, 32], "icerbegina": 21, "icergina": 21, "id": [12, 26], "idea": 21, "ignor": 0, "iloc": [21, 23], "imag": [0, 21, 30], "image_demo_cli": 21, "impact": [21, 23], "implement": [9, 15, 17], "import": [8, 21, 22, 23], "in_memory_dataset": [12, 31], "includ": [9, 11, 13], "incom": [9, 22], "income_synthetic_data": 22, "inde": 22, "index": [9, 21], "index_nam": 21, "info": [12, 22], "inform": [0, 2, 9, 12, 15, 17, 20, 21, 22, 23, 26], "infrastructur": [9, 28], "ini": 0, "init": [21, 23], "initi": [8, 11, 12, 13, 15, 16, 18, 21, 22, 23, 26, 32], "initial_delta": [12, 20, 21, 22, 23, 26], "initial_epsilon": [12, 20, 21, 22, 23, 26], "initialis": [6, 8, 13, 20], "inmemorydataset": [12, 16, 18], "input": [12, 17, 20], "input_model": [12, 31], "inse": 32, "insert_delete_dist": [12, 31], "insertdeletedist": 12, "insid": [22, 30], "instal": [0, 2, 6, 9, 22, 28, 30], "instanc": [5, 13, 15, 16, 17, 18, 20, 30], "instanti": [13, 15, 21, 23], "instead": [21, 26], "instruct": [8, 26, 28, 29, 30], "int": [11, 15, 16, 17, 18, 20, 22, 23], "int_dist": [12, 31], "integr": [2, 19], "intent": 22, "interact": [9, 21, 22, 23, 26, 27, 30], "interest": [21, 22], "interfac": 15, "intern": [5, 20], "internalserverexcept": [12, 13, 15, 16, 17, 18, 20], "interpret": 20, "intervent": 0, "introduct": 28, "invalid": [5, 20, 23], "invalidqueryexcept": [12, 13, 16, 17, 20, 21, 23], "investig": 22, "ipykernel_1062": 23, "ipython": 21, "iri": 22, "iris_metadata": 22, "is_measur": [16, 17], "isert": 0, "island": [21, 22], "issu": [0, 5, 20], "item": 0, "its": [8, 9, 15, 20, 22, 30], "jack": [22, 23], "jitter": [12, 31], "json": [13, 16, 17], "jsonrespons": 20, "jupyt": [22, 30], "just": [21, 22, 23], "keep": [12, 22], "kei": [12, 13, 21, 23, 26], "kept": 21, "kind": 29, "know": [21, 23], "kubectl": 29, "kubernet": [9, 24, 28], "l": [22, 23], "lab": [9, 22], "lambda": 22, "lancer": 32, "laplacian": [21, 23], "larg": 15, "last": [13, 22, 30], "later": [10, 22], "latest": 0, "latter": 19, "layer": 9, "lazi": 15, "lazili": 15, "le": 20, "learn": [21, 28], "least": 15, "len": [21, 22], "let": 22, "lib": 17, "librairi": [11, 20], "librari": [0, 5, 6, 8, 9, 12, 15, 16, 17, 20, 22], "lifespan": [12, 31], "like": [20, 21, 29], "limit": 21, "line": [22, 26, 29], "link": [9, 32], "linter": 0, "linux": 2, "list": [0, 11, 12, 13, 17, 18, 19, 20, 22, 26], "literal_ev": 22, "live": 20, "load": [12, 15, 20], "load_config": [12, 20], "local": [0, 2, 9, 12, 18, 19, 20, 21, 23, 24, 28, 29], "localhost": [27, 30], "locat": [12, 18, 30, 32], "log_level": [12, 20], "loggr": [12, 31], "logic": 9, "loma": [0, 1, 2, 6, 8, 23, 26, 28, 29, 30], "lomas_cli": [0, 3, 4, 8, 9, 21, 23], "lomas_client_dev": 22, "lomas_serv": [0, 2, 3, 11, 21, 23, 25], "lomas_server_dev": 22, "lomas_streamlit_dev": 22, "lomas_test_mongo_integr": 19, "long": 8, "look": [21, 22], "lord": 22, "lower": [21, 22, 23], "lower_bound": [21, 23], "lru": [12, 15, 20, 31], "lru_cach": 12, "lru_dataset_stor": [12, 31], "lru_dataset_store_max_s": [12, 31], "lrudatasetstor": [12, 15], "lrudatasetstoreconfig": [12, 20], "lt": [21, 22], "m": 2, "m_db": [22, 26], "m_s3_ak": 26, "m_s3_sak": 26, "m_s3_url": 26, "m_s3b": 26, "m_s3k": 26, "machin": [28, 29, 30], "madam": 22, "made": 21, "magnitud": [12, 20], "mai": [5, 12, 13, 19, 22, 26, 32], "main": [0, 9, 12], "maintain": 30, "make": [0, 2, 15, 21, 22, 23, 24, 29, 30], "make_dummy_dataset": [12, 16], "make_gaussian": 11, "make_select_column": [21, 23], "make_split_datafram": [21, 23], "make_zcdp_to_approxdp": 11, "male": [21, 22, 23], "malici": 22, "manag": [9, 13, 15, 21, 22, 24, 26], "manual": 0, "map": 20, "mass": 21, "master": [0, 22], "match": [11, 20], "max_diverg": [12, 31], "max_id": [12, 20, 21, 22, 23], "max_memory_usag": [12, 15, 20], "maximum": 15, "may_queri": [12, 13, 20, 22], "mcfreez": 22, "md": [1, 9], "mea": [21, 23], "meant": 20, "measur": [5, 11, 12, 17, 20, 21, 23], "mechan": [5, 11, 12, 17, 20, 21], "medata": 22, "memori": [12, 15, 16, 18, 19], "merg": [0, 20], "messag": [5, 11, 22], "meta": 22, "metadata": [9, 11, 12, 13, 16, 18, 20, 22, 26, 30], "metadata_aws_access_key_id": [12, 26], "metadata_aws_secret_access_kei": [12, 26], "metadata_database_typ": [12, 26], "metadata_dataset": 19, "metadata_endpoint_url": [12, 26], "metadata_of": 19, "metadata_path": [12, 20, 22, 26], "metadata_s3_bucket": [12, 26], "metadata_s3_kei": [12, 26], "metadataofdataset": [12, 20], "metadataofpathdb": [12, 20], "metadataofs3db": [12, 20], "metatada": 26, "method": [12, 15, 19, 20, 22, 27, 28], "methodnam": 19, "metric": [12, 17], "mib": 18, "micro": 9, "middlewar": [12, 31], "might": [13, 21, 22, 23], "mind": 22, "minikub": 29, "minimum": 20, "minio": [22, 30], "mistak": 21, "mm": 21, "mod": [12, 21], "mode": [20, 22, 30], "model": [9, 20], "model_computed_field": [12, 20], "model_config": [12, 20], "model_field": [12, 20], "modifi": [22, 28], "modul": [7, 9, 22, 31], "mondai": 0, "mongo": [12, 22], "mongodata": [22, 30], "mongodb": [2, 5, 9, 12, 13, 19, 20, 24, 30, 31], "mongodb_addr": [12, 31], "mongodb_admin": [2, 19, 22, 31], "mongodb_admin_cli": [22, 26, 31], "mongodb_databas": [12, 31], "mongodb_port": [12, 31], "mongodbconfig": [12, 20], "more": [0, 2, 17, 21, 22], "most": 22, "mount": 22, "move": 30, "mp": [22, 26], "mr": 22, "much": 21, "multipl": [21, 22, 24], "must": [0, 11, 13, 21, 22, 23, 26, 30], "mwaskom": 22, "mypi": 0, "name": [0, 8, 9, 11, 12, 13, 15, 16, 18, 20, 21, 22, 23, 26], "name_of_dataset_you_want_to_queri": 8, "nan": [17, 23], "navig": [29, 30], "nb_iter": 17, "nb_passeng": 23, "nb_penguin": 21, "nb_row": [11, 16, 21, 23], "necessari": 9, "need": [0, 1, 21, 22, 23, 28, 29, 30, 32], "network": 30, "never": [0, 5, 9, 21], "new": [0, 12, 13, 20, 22], "nobodi": 21, "nois": [21, 23], "non": 19, "none": [11, 12, 13, 15, 17, 18, 19, 20, 21], "nonetyp": 20, "note": [11, 22, 26], "notebook": [6, 21, 22, 24, 30], "noth": 22, "notifi": 15, "now": [8, 21, 23, 26, 30], "no\u00efs": 20, "np": [21, 23], "nso": 9, "number": [0, 11, 17, 18, 30], "numpi": [21, 23], "o": [23, 26], "object": [11, 12, 15, 16, 17, 20, 21, 22, 23], "oblivi": 9, "observ": 18, "obtain": 21, "occur": [5, 16, 20], "od": [22, 26], "off": 0, "offer": [21, 22], "offici": 29, "old": 23, "om": [22, 26], "onc": [0, 12, 21, 22, 23, 29, 30, 32], "one": [0, 1, 8, 12, 16, 21, 22, 23, 29], "ones": 22, "ongo": 16, "onli": [0, 9, 18, 19, 21, 22, 23, 27, 30], "onyxia": [24, 28], "open": [8, 30], "opendp": [5, 6, 7, 9, 11, 12, 16, 20, 31], "opendp_config": 17, "opendp_json": [12, 20, 21], "opendp_pip": 17, "opendp_pipelin": [11, 21, 23], "opendp_queri": [7, 11, 21, 23], "opendpconfig": [12, 17, 20], "opendpdatasetinputmetr": [12, 31], "opendpinp": [12, 17, 20], "opendpmeasur": [12, 17, 31], "opendpqueri": [16, 17], "oper": [5, 13, 22], "option": [11, 16, 17, 20, 21, 26, 28, 32], "optionn": [21, 23], "optionnali": 21, "order": [0, 15, 20, 21, 22], "ordereddict": 15, "org": [12, 17], "origin": 9, "other": [9, 15, 16, 17, 20, 21, 22], "otherwis": [13, 20, 22], "our": [6, 9, 22, 24], "out": 22, "output": [17, 19, 22], "overal": [13, 18], "overrid": 17, "overview": [0, 24], "overwrit": [12, 22, 26], "overwrite_dataset": [12, 22, 26], "overwrite_metadata": [12, 22, 26], "own": [0, 9, 22], "owner": [9, 22, 24, 26], "p": [1, 22, 23], "packag": [0, 4, 7, 25, 31], "page": [0, 9, 10, 21, 22], "panda": [11, 18, 20], "param": 20, "paramet": [5, 8, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 26, 32], "parch": [22, 23], "part": [0, 9], "particip": 21, "particular": 13, "particularli": [21, 23], "pass": [0, 22], "passeng": 23, "passengerid": [22, 23], "password": [12, 20, 26], "path": [12, 13, 18, 20, 22, 26, 31], "path_dataset": [12, 31], "path_db": [12, 20, 22, 26], "pathdataset": [12, 18], "patient": 30, "pclass": [22, 23], "pd": [11, 16, 17, 18, 20], "penguin": [6, 22], "penguin_metadata": [21, 22], "perform": [0, 12, 16, 17, 22, 26], "permiss": 9, "persist": [22, 30], "pet": 9, "petal_length": 22, "petal_width": 22, "pip": [0, 8, 21, 22, 23], "pipelin": [5, 11, 17, 21, 23], "place": [0, 22], "platform": [9, 21, 24, 32], "pleas": [0, 2, 9, 10, 30], "png": 21, "point": 9, "port": [12, 20, 22, 26], "possibl": [2, 12, 21, 23, 26], "postprocess": [11, 12, 20, 21], "potenti": [9, 12], "power": 21, "pr": 0, "practic": 6, "prepar": [0, 9, 13, 21, 26], "prepare_save_queri": [12, 13], "prerequisit": 28, "presenc": 12, "present": [8, 21], "prevent": 20, "previou": [0, 11, 12, 13, 21, 22, 23, 26], "previous": 21, "previous_queri": 21, "primari": 9, "print": [21, 22, 23, 26], "privaci": [5, 9, 11, 17, 21], "privat": [9, 11, 12, 15, 18], "private_dataset": [12, 16, 17, 22, 31], "private_dataset_factori": [12, 18], "private_dataset_observ": [12, 31], "privatedatabasetyp": [12, 20, 31], "privatedataset": [12, 15, 16, 17, 18], "privatedatasetobserv": [12, 15, 18], "problem": 21, "proce": 29, "process": [0, 1, 9, 20, 21, 23, 29, 30, 32], "profess": 22, "project": [0, 21, 32], "promis": 21, "properli": [20, 21], "protect": [9, 12], "provid": [8, 9, 11, 12, 13, 21, 22, 23, 24, 26, 28, 29, 30], "public": 21, "publish": 0, "pull": [0, 2, 30], "purpos": 22, "push": [0, 2], "put": 15, "py": [0, 1, 16, 19, 22, 23, 26], "pydant": 20, "pylint": 0, "pylintrc": 0, "pymongo": [5, 13], "pypi": 9, "pypi_token": 1, "python": [1, 2, 8, 12, 21, 22, 26], "q": [22, 23], "qualiti": 0, "qualnam": [11, 12], "queen": 21, "queri": [5, 6, 9, 11, 12, 13, 16, 17, 19, 20, 26], "querier": [15, 16, 17], "querier_factori": [16, 17], "queriermanag": 15, "queries_arch": [13, 26], "query_json": [13, 16, 17], "query_respons": [16, 21, 23], "query_str": [12, 20, 21], "query_typ": [15, 16], "queryhandl": [12, 16], "r": 12, "rais": [11, 12, 13, 15, 16, 17, 18, 19, 20, 22], "random": [11, 20, 21], "randomli": 21, "rang": 21, "raw": [20, 22], "re": [8, 11, 13, 22], "read": 18, "readi": [21, 22], "readm": [1, 9], "real": 16, "realli": 21, "reasearch": 9, "reason": [5, 12], "rebas": 0, "receiv": 13, "recent": [15, 22], "reconstruct": [17, 20], "reconstruct_measurement_pipelin": [16, 17], "redirect": 19, "refer": [0, 2, 9, 15, 16], "reformat": 0, "regard": 9, "region": 22, "regist": [21, 23], "relat": [9, 12], "relev": [5, 21], "reli": [0, 30], "reload": [12, 20], "remain": [0, 9, 11, 13, 21, 23], "remaining_delta": [21, 23], "remaining_epsilon": [21, 23], "remot": [9, 18], "remov": [12, 13, 15], "replac": [20, 22], "repo": 0, "repons": 20, "repositori": [6, 9, 24, 30], "repres": [11, 21], "represent": [16, 17], "reproduc": 21, "request": [0, 2, 5, 9, 11, 12, 13, 16, 17, 20, 21, 23], "requested_bi": [16, 21], "requir": [2, 8, 9, 19, 20, 21, 22, 26, 28, 29, 32], "research": [21, 22, 23], "respons": [5, 9, 11, 12, 13, 16, 17, 20, 21, 22, 23], "rest": [9, 21, 22], "restart": 30, "result": [11, 12, 13, 16, 17, 20, 21, 22, 23], "retriev": [11, 13, 22], "return": [11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23], "reveal": 22, "right": 5, "risk": 21, "root": [19, 21, 23], "round": [21, 23], "row": 11, "row_privaci": [12, 20, 21, 22, 23], "run": [0, 1, 2, 8, 12, 19, 22, 27, 29, 30], "run_basic_test": 2, "run_cli_command": [12, 19], "run_command": 22, "run_lint": 0, "run_tests_and_converag": 2, "runtest": 19, "runtim": [20, 32], "runtime_arg": [12, 31], "runtimewarn": 23, "rust": 12, "s3": [6, 9, 12, 18, 19, 20, 26, 31], "s3_ak": 26, "s3_bucket": [12, 20, 22, 26], "s3_dataset": [12, 31], "s3_db": [12, 20, 22, 26], "s3_kei": [12, 20, 22, 26], "s3_paramet": 18, "s3_sak": 26, "s3_url": 26, "s3b": 26, "s3dataset": [12, 18], "s3k": 26, "safeguard": [21, 23], "same": [21, 22, 30], "satisfi": 32, "save": [13, 29], "save_current_databas": [12, 13], "save_queri": [12, 13], "scale": [21, 23], "scenario": 6, "schema": 22, "scienc": 9, "scientist": 9, "scope": 22, "script": [0, 2, 22], "sdist": 1, "seaborn": 22, "seamless": [9, 21, 23], "search": 9, "second": [13, 16, 17, 22], "secret": [12, 20, 26], "secrets_path": 20, "section": [0, 6, 9, 24, 26], "secur": [0, 21, 22, 23], "see": [0, 6, 9, 11, 12, 17, 22], "seed": [11, 16, 21, 23], "seen": [21, 23], "select": [21, 23, 32], "semver": 0, "send": [11, 21, 23], "sensit": [9, 18, 21], "sent": [9, 13], "sepal_length": 22, "sepal_width": 22, "separ": [13, 21, 23], "serial": 9, "serialis": 11, "serv": 9, "server": [0, 3, 5, 11, 12, 13, 16, 20, 21, 23, 26, 27, 28, 29, 30, 31, 32], "server_contain": 22, "server_l": [12, 20], "servic": [9, 20, 22, 28, 30, 32], "session": 22, "set": [0, 8, 12, 13, 17, 19, 20, 21, 22, 26, 27, 29, 30, 31, 32], "set_budget_field": [12, 22, 26, 31], "set_config": [12, 20], "set_may_queri": [12, 22, 26, 31], "set_may_user_queri": [12, 13], "set_mechan": [16, 17], "set_opendp_features_config": [16, 17], "setosa": 22, "setup": [0, 1, 8, 12, 19, 27], "setupclass": [12, 19], "sever": [0, 29], "sex": [21, 22, 23], "sh": [0, 2], "sha": 0, "shape": [21, 23], "share": 9, "she": 21, "short": [0, 9], "should": [0, 5, 20, 21, 22, 23, 30], "show": [12, 19, 22, 26, 29], "show_arch": [22, 26], "show_archives_of_us": [12, 31], "show_collect": [12, 22, 26, 31], "show_dataset": [12, 22, 26, 31], "show_metadata": [22, 26], "show_metadata_of_dataset": [12, 31], "show_us": [12, 22, 26, 31], "showcas": [21, 22], "shown": [12, 26], "shutdown": 12, "sibsp": [22, 23], "side": [9, 12], "similar": 21, "simpl": 2, "simpli": [0, 27], "simplifi": [27, 29], "sinc": [13, 30], "singl": 21, "singleton": 20, "size": [15, 21, 23], "slightli": [21, 23], "small": [17, 21, 23], "smarnois": 20, "smartnois": [5, 11, 17, 19, 20, 22], "smartnoise_queri": [7, 11, 21, 23], "smartnoise_sql": [7, 11, 12, 16, 21, 31], "smartnoisesql": [9, 17, 21, 22, 23], "smartnoisesqlqueri": [16, 17], "smoothed_max_diverg": [12, 31], "smoothedmaxdiverg": 11, "snsqlinp": [12, 17, 20], "snsqlinpcost": [12, 17, 20], "so": [2, 9, 15, 21, 22, 30], "solut": 21, "some": [6, 12, 21, 24, 30], "sourc": [11, 12, 13, 15, 16, 17, 18, 19, 20], "space": 22, "speci": 22, "species_count_pipelin": 21, "species_counts_r": 21, "specif": [0, 5, 9, 13, 16, 21, 22, 29, 32], "specifi": [12, 13, 15, 22, 26], "spend": [13, 21], "spent": [11, 13, 16, 21, 23], "spent_delta": [13, 16, 21], "spent_epsilon": [13, 16, 21], "spent_valu": 13, "split": [9, 22], "sql": [5, 11, 17, 19, 20], "sqrt": [21, 23], "src": 12, "sspcloud": 22, "stabl": [0, 12], "stai": [9, 15, 22], "stall": [12, 31], "standard": [2, 19, 21, 23], "standard_error": [21, 23], "start": [0, 9, 11, 12, 19, 21, 26, 30, 32], "startup": [5, 12], "state": [9, 12, 13, 19, 22, 30], "static": 0, "statist": [6, 9], "statu": [11, 13, 19, 21, 23], "step": [1, 6, 11, 22, 28, 29, 32], "still": [10, 21], "stop": 26, "storag": [18, 22], "store": [9, 15, 19, 20, 21, 22, 23, 26], "str": [11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 23], "stream": 20, "stream_datafram": [12, 20], "streamingrespons": 20, "streamlin": 0, "streamlit": [22, 26, 30], "strenum": [11, 12], "string": [11, 16, 17, 21, 22, 23], "strip": 22, "strongli": 9, "style": 0, "subcommand": [19, 22], "submit_limit": [12, 20, 31], "submodul": [7, 31], "subpackag": 31, "subscrib": 15, "subscribe_for_memory_usage_upd": [12, 18], "subsequ": 0, "substarct": [21, 23], "successfulli": 29, "suffici": 5, "suit": 28, "supli": 12, "suppli": 12, "support": [13, 18], "sure": [0, 2, 22, 23, 29, 30], "surviv": [22, 23], "symmetric_dist": [12, 31], "symmetricdist": 12, "synthet": 21, "system": 30, "t": [21, 22, 29], "tabl": [0, 11, 13, 22], "tag": 0, "take": [0, 9, 18, 30], "task": [0, 9, 24, 26], "team": 5, "tear": 22, "teardown": [12, 19], "teardownclass": [12, 19], "termin": [8, 22, 30], "test": [0, 1, 9, 12, 21, 22, 31], "test_add_dataset_to_us": [12, 19], "test_add_dataset_to_user_cli": [12, 19], "test_add_datasets_via_yaml": [12, 19], "test_add_datasets_via_yaml_cli": [12, 19], "test_add_demo_data_to_admindb": [12, 19], "test_add_local_dataset": [12, 19], "test_add_local_dataset_cli": [12, 19], "test_add_s3_dataset": [12, 19], "test_add_s3_datasets_via_yaml": [12, 19], "test_add_us": [12, 19], "test_add_user_cli": [12, 19], "test_add_user_wb": [12, 19], "test_add_user_wb_cli": [12, 19], "test_add_users_via_yaml": [12, 19], "test_add_users_via_yaml_cli": [12, 19], "test_api": [12, 31], "test_boolean_column": [12, 19], "test_budget_over_limit": [12, 19], "test_cardinality_column": [12, 19], "test_config": 2, "test_config_and_internal_server_except": [12, 19], "test_datetime_column": [12, 19], "test_del_dataset": [12, 19], "test_del_dataset_cli": [12, 19], "test_del_dataset_to_us": [12, 19], "test_del_dataset_to_user_cli": [12, 19], "test_del_us": [12, 19], "test_del_user_cli": [12, 19], "test_drop_collect": [12, 19], "test_drop_collection_cli": [12, 19], "test_dummy_gener": [12, 31], "test_dummy_opendp_queri": [12, 19], "test_dummy_smartnoise_queri": [12, 19], "test_float_column": [12, 19], "test_get_dataset_metadata": [12, 19], "test_get_dummy_dataset": [12, 19], "test_get_initial_budget": [12, 19], "test_get_list_of_dataset": [12, 19], "test_get_list_of_datasets_cli": [12, 19], "test_get_list_of_datasets_from_us": [12, 19], "test_get_list_of_datasets_from_user_cli": [12, 19], "test_get_list_of_us": [12, 19], "test_get_list_of_users_cli": [12, 19], "test_get_previous_queri": [12, 19], "test_get_remaining_budget": [12, 19], "test_get_total_spent_budget": [12, 19], "test_int_column": [12, 19], "test_memory_usag": [12, 19], "test_mongodb_admin": [12, 31], "test_mongodb_admin_cli": [12, 31], "test_nullable_column": [12, 19], "test_opendp_cost": [12, 19], "test_opendp_queri": [12, 19], "test_root": [12, 19], "test_se": [12, 19], "test_set_budget_field": [12, 19], "test_set_budget_field_cli": [12, 19], "test_set_may_queri": [12, 19], "test_set_may_query_cli": [12, 19], "test_show_archives_of_us": [12, 19], "test_show_archives_of_user_cli": [12, 19], "test_show_collect": [12, 19], "test_show_collection_cli": [12, 19], "test_show_dataset": [12, 19], "test_show_dataset_cli": [12, 19], "test_show_metadata_of_dataset": [12, 19], "test_show_metadata_of_dataset_cli": [12, 19], "test_show_us": [12, 19], "test_show_user_cli": [12, 19], "test_smartnoise_cost": [12, 19], "test_smartnoise_queri": [12, 19], "test_smartnoise_query_on_s3_dataset": [12, 19], "test_stat": [12, 19], "test_subsequent_budget_limit_log": [12, 19], "test_unknown_column": [12, 19], "testcas": 19, "testmakedummydataset": [12, 19], "testmongodbadmin": [12, 19], "testrootapiendpoint": [12, 19], "text": 11, "than": [21, 23], "thank": 21, "thei": [0, 5, 9, 15, 21, 22], "them": [0, 20, 21, 22], "then_cast_default": [21, 23], "then_clamp": [21, 23], "then_count_by_categori": 21, "then_laplac": [21, 23], "then_res": [21, 23], "then_vari": [21, 23], "therefor": [21, 22, 23], "thi": [0, 1, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 32], "those": [2, 11, 32], "though": 27, "three": 0, "through": [22, 29, 30], "throw": 20, "thu": 9, "ticket": [22, 23], "time": [0, 12, 20, 21, 30], "time_attack": [12, 20, 31], "timeattack": [12, 20], "timeattackmethod": [12, 20, 31], "timestamp": 21, "titan": [6, 22, 30], "titanic_metadata": [22, 23], "tmp": 23, "to_dict": 22, "toa": [21, 23], "todo": 16, "token": 1, "tolist": [21, 23], "too": [15, 17], "tool": [0, 24, 29], "torgersen": [21, 22], "total": [11, 13, 15, 21, 22, 23], "total_spent_delta": [12, 13, 20, 21, 22, 23], "total_spent_epsilon": [12, 13, 20, 21, 22, 23], "traceback": 22, "tran": [21, 23], "transform": [21, 23], "translat": 20, "tri": [5, 21], "trial": 17, "trigger": [0, 5], "true": [11, 12, 13, 19, 20, 21, 22, 23, 26, 27], "try": [10, 21], "tune": 32, "tupl": [16, 17], "twine": 1, "two": [9, 21], "type": [0, 11, 12, 13, 15, 16, 17, 18, 20, 21, 22, 23, 26], "typic": 9, "u": [1, 9, 22, 23, 26], "u32": 12, "un": 9, "unauthor": 20, "unauthorizedaccessexcept": [12, 13, 16, 20], "under": 10, "understand": 6, "understood": 21, "uneth": 22, "unexpect": 20, "unforseen": [16, 17], "union": [11, 12, 17, 20], "unittest": 2, "unknown": [11, 12, 13, 16, 17, 20, 21], "unless": 22, "until": [15, 22], "up": [0, 1, 19, 22, 29, 30], "updat": [0, 1, 9, 12, 13, 15, 17, 21, 22], "update_budget": [12, 13], "update_delta": [12, 13], "update_epsilon": [12, 13], "update_epsilon_or_delta": [12, 13], "update_memory_usag": [12, 15], "upload": 1, "upper": [21, 22, 23], "upper_bound": [21, 23], "url": [8, 11, 12, 13, 21, 23, 26], "us": [0, 2, 6, 8, 9, 11, 12, 13, 15, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30], "usag": [8, 15, 18, 19, 22], "user": [5, 9, 11, 12, 13, 15, 16, 19, 20, 21, 23, 24, 27, 30], "user_collect": [20, 22], "user_dataset": 12, "user_must_exist": [12, 13], "user_must_have_access_to_dataset": [12, 13], "user_nam": [8, 11, 12, 13, 16, 20, 21, 22, 23], "user_pwd": 26, "user_yaml": 20, "usercollect": [12, 20], "usernam": [12, 13, 20, 26], "usr": 20, "usual": 9, "utf": 22, "util": [5, 9, 12, 16, 22, 31], "uvicorn": 20, "uvicorn_serv": [22, 31], "v": 26, "v1": 20, "valid": [0, 15, 16], "valu": [5, 11, 12, 13, 16, 17, 21, 22, 23, 26, 27, 28], "valueerror": [11, 12, 19, 22], "var_ag": 23, "var_age_transformation_pipelin": 23, "var_bill_length": 21, "var_bill_length_measurement_pipelin": 21, "var_r": [21, 23], "vari": 27, "variabl": [19, 21, 27], "varianc": [21, 23], "variou": [0, 6, 21, 24, 26, 28], "venv": 2, "veri": 21, "verifi": [0, 1, 13, 19, 21], "versicolor": 22, "version": [0, 10], "via": [0, 1, 9, 19, 21, 23, 24], "virginica": 22, "visibl": 21, "visualis": 26, "volum": [26, 30], "vx": 0, "wa": [9, 21, 22, 23], "wait": 22, "want": [21, 22, 23], "warn": [0, 11], "wast": 21, "we": [0, 9, 15, 22, 23, 24, 29], "web": 30, "well": [0, 9], "were": 21, "what": [0, 5, 21, 23], "when": [0, 5, 15, 20, 21, 27], "where": [21, 22, 26, 30], "whether": [11, 12], "which": [0, 5, 9, 12, 21, 22, 23], "while": [5, 9, 19], "why": 5, "width": 21, "wip_xx": 0, "wish": 1, "within": [5, 20, 26, 32], "without": [2, 5, 21, 22], "won": [21, 22], "work": [2, 21], "worker": [12, 20], "workflow": [1, 2], "worri": 21, "would": 21, "wrap": 13, "wrapper": [12, 13], "wrapper_decor": 22, "write": [5, 21], "writeconcernerror": [5, 12, 13], "writeresult": 13, "written": 22, "wrong": 19, "x": [0, 23], "xx": 0, "y": 0, "yaml": [0, 2, 12, 13, 19, 20, 22, 26, 27, 28, 31], "yaml_databas": [12, 31], "yaml_db_path": 13, "yaml_fil": [12, 26], "yamldatabas": 19, "yamldbconfig": [12, 20], "ye": 0, "year": 23, "yet": [22, 29], "yf": [22, 26], "yield": 12, "yml": 0, "you": [0, 6, 8, 9, 22, 27, 28, 29, 30, 32], "your": [0, 8, 22, 27, 28, 29, 30, 32], "your_deployement_url": 8, "your_nam": 8, "yourself": 24, "z": 0, "zero": 19, "zero_concentrated_diverg": [12, 31], "zeroconcentrateddiverg": 11, "zscore": [21, 23]}, "titles": ["Notes for Contributors", "Notes for Client Contributors", "Notes for Server Contributors", "API Documentation", "Client API", "Errors", "Examples", "lomas_client", "Quickstart", "Lomas: The Data Oases Hidden Behind the Mist.", "Welcome to Lomas documentation", "lomas_client package", "lomas_server package", "lomas_server.admin_database package", "lomas_server.administration package", "lomas_server.dataset_store package", "lomas_server.dp_queries package", "lomas_server.dp_queries.dp_libraries package", "lomas_server.private_dataset package", "lomas_server.tests package", "lomas_server.utils package", "Lomas: Client demo", "Lomas-server: CLI administration", "S3 example", "Administration", "Server API", "CLI", "Dashboard", "Deployment", "Kubernetes", "Local", "lomas_server", "Onyxia"], "titleterms": {"1": [21, 23], "2": [21, 23], "3": [21, 23], "4": [21, 23], "5": 21, "The": 9, "access": [22, 27, 29], "add": 22, "admin_databas": 13, "administr": [14, 22, 24, 26], "ag": 23, "all": 22, "anti_timing_att": 20, "api": [3, 4, 25], "app": 12, "archiv": [21, 22], "averag": [21, 23], "basic_dataset_stor": 15, "behind": 9, "bill": 21, "branch": 0, "budget": [21, 22, 23], "can": 22, "chang": 22, "chart": 29, "check": 0, "cli": [22, 26], "client": [1, 4, 8, 9, 11, 21, 23], "collect": 26, "collections_model": 20, "confid": [21, 23], "config": 20, "connect": 26, "constant": [12, 19], "content": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], "contributor": [0, 1, 2], "cost": [21, 23], "count": 21, "creat": 22, "current": [21, 23], "dashboard": 27, "data": 9, "databas": 22, "dataset": [21, 22, 23, 26], "dataset_stor": 15, "demo": 21, "deploi": [29, 30, 32], "deploy": 28, "direcli": 22, "do": 22, "docker": [22, 27], "document": [3, 10], "dp_librari": 17, "dp_logic": 16, "dp_queri": [16, 17], "dp_querier": 16, "drop": 22, "dummi": [21, 23], "dummy_dataset": 16, "error": 5, "error_handl": 20, "estim": [21, 23], "exampl": [6, 23, 26], "example_input": 20, "externallibraryexcept": 5, "file": 22, "final": 22, "first": 8, "fom": 22, "functionn": [21, 23], "get": [21, 23], "git": 0, "github": 0, "helm": 29, "hidden": 9, "histori": 9, "in_memory_dataset": 18, "indic": 9, "ingress": 29, "initialis": [21, 23], "input_model": 20, "instal": [8, 21, 23, 29], "internalserverexcept": 5, "interv": [21, 23], "introduct": 32, "invalidqueryexcept": 5, "kubernet": [27, 29], "length": 21, "librari": [21, 23], "lint": 0, "load": 22, "local": [27, 30], "loggr": 20, "loma": [9, 10, 21, 22, 32], "lomas_cli": [7, 11], "lomas_serv": [12, 13, 14, 15, 16, 17, 18, 19, 20, 31], "lru_dataset_stor": 15, "metadata": [21, 23], "mist": 9, "modifi": 29, "modul": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], "mongodb": [22, 26], "mongodb_admin": 12, "mongodb_admin_cli": 12, "mongodb_databas": 13, "new": 1, "note": [0, 1, 2], "now": 22, "number": [21, 23], "oas": 9, "onyxia": [27, 32], "opendp": [17, 21, 23], "option": 22, "other": 0, "over": [21, 23], "overview": 26, "packag": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20], "path_dataset": 18, "penguin": 21, "per": 21, "platform": 27, "popul": [21, 23], "prepar": 22, "prerequisit": [29, 30], "privat": [21, 23], "private_dataset": 18, "private_dataset_observ": 15, "push": 1, "pypi": 1, "queri": [21, 22, 23], "quickstart": 8, "real": [21, 23], "releas": 0, "remot": [21, 23], "remov": 22, "row": [21, 23], "s3": 23, "s3_dataset": 18, "section": 29, "see": 21, "server": [2, 9, 22, 25], "servic": 29, "smartnois": [21, 23], "smartnoise_sql": 17, "speci": 21, "sql": [21, 23], "start": 22, "statist": [21, 23], "step": [8, 21, 23, 30], "stop": 22, "submodul": [11, 12, 13, 15, 16, 17, 18, 19, 20], "subpackag": [12, 16], "tabl": 9, "test": [2, 19], "test_api": 19, "test_dummy_gener": 19, "test_mongodb_admin": 19, "test_mongodb_admin_cli": 19, "titan": 23, "unauthorizedaccessexcept": 5, "understand": [21, 23], "user": [22, 26], "util": [13, 15, 17, 18, 20], "uvicorn_serv": 12, "valu": 29, "version": 1, "via": 27, "visualis": 22, "volum": 22, "welcom": 10, "whole": [21, 23], "workflow": 0, "yaml": 29, "yaml_databas": 13}}) \ No newline at end of file diff --git a/html/develop/en/server_modules.html b/html/develop/en/server_modules.html index 943ef0b8..11947072 100644 --- a/html/develop/en/server_modules.html +++ b/html/develop/en/server_modules.html @@ -180,23 +180,8 @@

    lomas_serverSubmodules

  • lomas_server.app module
  • lomas_server.constants module
      diff --git a/html/v0.1.0/en/_modules/lomas_server/app.html b/html/v0.1.0/en/_modules/lomas_server/app.html index 6f0798b9..91d99403 100644 --- a/html/v0.1.0/en/_modules/lomas_server/app.html +++ b/html/v0.1.0/en/_modules/lomas_server/app.html @@ -95,9 +95,10 @@

      Source code for lomas_server.app

       from contextlib import asynccontextmanager
       from typing import Callable
       
      -from fastapi import Body, Depends, FastAPI, Header, Request, Response
      -from fastapi.responses import JSONResponse, RedirectResponse, StreamingResponse
      +from fastapi import FastAPI, Request, Response
       
      +import routes_admin
      +import routes_dp
       from admin_database.utils import database_factory
       from constants import (
           CONFIG_NOT_LOADED,
      @@ -105,43 +106,15 @@ 

      Source code for lomas_server.app

           QUERY_HANDLER_NOT_LOADED,
           SERVER_LIVE,
           AdminDBType,
      -    DPLibraries,
       )
       from dataset_store.utils import dataset_store_factory
       from dp_queries.dp_libraries.opendp import set_opendp_features_config
      -from dp_queries.dp_libraries.utils import querier_factory
       from dp_queries.dp_logic import QueryHandler
      -from dp_queries.dummy_dataset import (
      -    get_dummy_dataset_for_query,
      -    make_dummy_dataset,
      -)
       from utils.anti_timing_att import anti_timing_att
       from utils.config import get_config
      -from utils.error_handler import (
      -    KNOWN_EXCEPTIONS,
      -    InternalServerException,
      -    add_exception_handlers,
      -)
      -from utils.example_inputs import (
      -    example_dummy_opendp,
      -    example_dummy_smartnoise_sql,
      -    example_get_admin_db_data,
      -    example_get_dummy_dataset,
      -    example_opendp,
      -    example_smartnoise_sql,
      -    example_smartnoise_sql_cost,
      -)
      -from utils.input_models import (
      -    DummyOpenDPInp,
      -    DummySNSQLInp,
      -    GetDbData,
      -    GetDummyDataset,
      -    OpenDPInp,
      -    SNSQLInp,
      -    SNSQLInpCost,
      -)
      +from utils.error_handler import InternalServerException, add_exception_handlers
       from utils.loggr import LOG
      -from utils.utils import add_demo_data_to_admindb, server_live, stream_dataframe
      +from utils.utils import add_demo_data_to_admindb
       
       
       
      @@ -285,754 +258,9 @@

      Source code for lomas_server.app

       # Add custom exception handlers
       add_exception_handlers(app)
       
      -# API Endpoints
      -# -----------------------------------------------------------------------------
      -
      -
      -
      -[docs] -@app.get("/") -async def root(): - """Redirect root endpoint to the state endpoint - Returns: - JSONResponse: The state of the server instance. - """ - return RedirectResponse(url="/state")
      - - - -# Get server state -
      -[docs] -@app.get("/state", tags=["ADMIN_USER"]) -async def get_state( - user_name: str = Header(None), -) -> JSONResponse: - """Returns the current state dict of this server instance. - - Args: - user_name (str, optional): The user name. Defaults to Header(None). - - Returns: - JSONResponse: The state of the server instance. - """ - return JSONResponse( - content={ - "requested_by": user_name, - "state": app.state.server_state, - } - )
      - - - -
      -[docs] -@app.get( - "/get_memory_usage", - dependencies=[Depends(server_live)], - tags=["ADMIN_USER"], -) -async def get_memory_usage() -> JSONResponse: - """Return the dataset store object memory usage - Args: - user_name (str, optional): The user name. Defaults to Header(None). - - Returns: - JSONResponse: with DatasetStore object memory usage - """ - return JSONResponse( - content={ - "memory_usage": app.state.dataset_store.memory_usage, - } - )
      - - - -# Metadata query -
      -[docs] -@app.post( - "/get_dataset_metadata", - dependencies=[Depends(server_live)], - tags=["USER_METADATA"], -) -def get_dataset_metadata( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), -) -> JSONResponse: - """ - Retrieves metadata for a given dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing - the dataset_name key for indicating the dataset. - Defaults to Body(example_get_admin_db_data). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - - Returns: - JSONResponse: The metadata dictionary for the specified - dataset_name. - """ - try: - ds_metadata = app.state.admin_database.get_dataset_metadata( - query_json.dataset_name - ) - - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return ds_metadata
      - - - -# Dummy dataset query -
      -[docs] -@app.post( - "/get_dummy_dataset", - dependencies=[Depends(server_live)], - tags=["USER_DUMMY"], -) -def get_dummy_dataset( - _request: Request, - query_json: GetDummyDataset = Body(example_get_dummy_dataset), -) -> StreamingResponse: - """ - Generates and returns a dummy dataset. - - Args: - request (Request): Raw request object - query_json (GetDummyDataset, optional): - A JSON object containing the following: - - nb_rows (int, optional): The number of rows in the - dummy dataset (default: 100). - - seed (int, optional): The random seed for generating - the dummy dataset (default: 42). - Defaults to Body(example_get_dummy_dataset). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - - Returns: - StreamingResponse: a pd.DataFrame representing the dummy dataset. - """ - try: - ds_metadata = app.state.admin_database.get_dataset_metadata( - query_json.dataset_name - ) - - dummy_df = make_dummy_dataset( - ds_metadata, query_json.dummy_nb_rows, query_json.dummy_seed - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return stream_dataframe(dummy_df)
      - - - -# Smartnoise SQL query -
      -[docs] -@app.post( - "/smartnoise_query", - dependencies=[Depends(server_live)], - tags=["USER_QUERY"], -) -def smartnoise_sql_handler( - _request: Request, - query_json: SNSQLInp = Body(example_smartnoise_sql), - user_name: str = Header(None), -) -> JSONResponse: - """ - Handles queries for the SmartNoiseSQL library. - - Args: - request (Request): Raw request object - query_json (SNSQLInp): A JSON object containing: - - query: The SQL query to execute. NOTE: the table name is "df", - the query must end with "FROM df". - - epsilon (float): Privacy parameter (e.g., 0.1). - - delta (float): Privacy parameter (e.g., 1e-5). - - mechanisms (dict, optional): Dictionary of mechanisms for the - query (default: {}). See "Smartnoise-SQL mechanisms documentation - https://docs.smartnoise.org/sql/advanced.html#overriding-mechanisms. - - postprocess (bool, optional): Whether to postprocess the query - results (default: True). - See "Smartnoise-SQL postprocessing documentation - https://docs.smartnoise.org/sql/advanced.html#postprocess. - - Defaults to Body(example_smartnoise_sql). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: If there is not enough budget or the dataset - does not exist. - UnauthorizedAccessException: A query is already ongoing for this user, - the user does not exist or does not have access to the dataset. - - Returns: - JSONResponse: A JSON object containing the following: - - requested_by (str): The user name. - - query_response (pd.DataFrame): A DataFrame containing - the query response. - - spent_epsilon (float): The amount of epsilon budget spent - for the query. - - spent_delta (float): The amount of delta budget spent - for the query. - """ - try: - response = app.state.query_handler.handle_query( - DPLibraries.SMARTNOISE_SQL, query_json, user_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return response
      - - - -# Smartnoise SQL Dummy query -
      -[docs] -@app.post( - "/dummy_smartnoise_query", - dependencies=[Depends(server_live)], - tags=["USER_DUMMY"], -) -def dummy_smartnoise_sql_handler( - _request: Request, - query_json: DummySNSQLInp = Body(example_dummy_smartnoise_sql), -) -> JSONResponse: - """ - Handles queries on dummy datasets for the SmartNoiseSQL library. - - Args: - request (Request): Raw request object - query_json (DummySNSQLInp, optional): A JSON object containing: - - query: The SQL query to execute. NOTE: the table name is "df", - the query must end with "FROM df". - - epsilon (float): Privacy parameter (e.g., 0.1). - - delta (float): Privacy parameter (e.g., 1e-5). - - mechanisms (dict, optional): Dictionary of mechanisms for the - query (default: {}). See Smartnoise-SQL mechanisms documentation - https://docs.smartnoise.org/sql/advanced.html#overriding-mechanisms. - - postprocess (bool, optional): Whether to postprocess the query - results (default: True). - See Smartnoise-SQL postprocessing documentation - https://docs.smartnoise.org/sql/advanced.html#postprocess. - - dummy (bool, optional): Whether to use a dummy dataset - (default: False). - - nb_rows (int, optional): The number of rows in the dummy dataset - (default: 100). - - seed (int, optional): The random seed for generating - the dummy dataset (default: 42). - - Defaults to Body(example_dummy_smartnoise_sql). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: If there is not enough budget or the dataset - does not exist. - - Returns: - JSONResponse: A JSON object containing: - - query_response (pd.DataFrame): a DataFrame containing - the query response. - """ - ds_private_dataset = get_dummy_dataset_for_query( - app.state.admin_database, query_json - ) - dummy_querier = querier_factory( - DPLibraries.SMARTNOISE_SQL, private_dataset=ds_private_dataset - ) - try: - _ = dummy_querier.cost(query_json) # verify cost works - response_df = dummy_querier.query(query_json) - response = JSONResponse(content={"query_response": response_df}) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return response
      - - - -
      -[docs] -@app.post( - "/estimate_smartnoise_cost", - dependencies=[Depends(server_live)], - tags=["USER_QUERY"], -) -def estimate_smartnoise_cost( - _request: Request, - query_json: SNSQLInpCost = Body(example_smartnoise_sql_cost), -) -> JSONResponse: - """ - Estimates the privacy loss budget cost of a SmartNoiseSQL query. - - Args: - request (Request): Raw request object - query_json (SNSQLInpCost, optional): - A JSON object containing the following: - - query: The SQL query to estimate the cost for. - NOTE: the table name is "df", the query must end with "FROM df". - - epsilon (float): Privacy parameter (e.g., 0.1). - - delta (float): Privacy parameter (e.g., 1e-5). - - mechanisms (dict, optional): Dictionary of mechanisms - for the query (default: {}). - See Smartnoise-SQL mechanisms documentation - https://docs.smartnoise.org/sql/advanced.html#overriding-mechanisms. - - Defaults to Body(example_smartnoise_sql_cost). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - - Returns: - JSONResponse: A JSON object containing: - - epsilon_cost (float): The estimated epsilon cost. - - delta_cost (float): The estimated delta cost. - """ - try: - response = app.state.query_handler.estimate_cost( - DPLibraries.SMARTNOISE_SQL, - query_json, - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content=response)
      - - - -
      -[docs] -@app.post( - "/opendp_query", dependencies=[Depends(server_live)], tags=["USER_QUERY"] -) -def opendp_query_handler( - _request: Request, - query_json: OpenDPInp = Body(example_opendp), - user_name: str = Header(None), -) -> JSONResponse: - """ - Handles queries for the OpenDP Library. - - Args: - request (Request): Raw request object. - query_json (OpenDPInp, optional): A JSON object containing the following: - - opendp_pipeline: The OpenDP pipeline for the query. - - fixed_delta: If the pipeline measurement is of type - "ZeroConcentratedDivergence" (e.g. with "make_gaussian") then it is - converted to "SmoothedMaxDivergence" with "make_zCDP_to_approxDP" - (see "opendp measurements documentation at - https://docs.opendp.org/en/stable/api/python/opendp.combinators.html#opendp.combinators.make_zCDP_to_approxDP). # noqa # pylint: disable=C0301 - In that case a "fixed_delta" must be provided by the user. - - Defaults to Body(example_opendp). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The pipeline does not contain a "measurement", - there is not enough budget or the dataset does not exist. - UnauthorizedAccessException: A query is already ongoing for this user, - the user does not exist or does not have access to the dataset. - - Returns: - JSONResponse: A JSON object containing the following: - - requested_by (str): The user name. - - query_response (pd.DataFrame): A DataFrame containing - the query response. - - spent_epsilon (float): The amount of epsilon budget spent - for the query. - - spent_delta (float): The amount of delta budget spent - for the query. - """ - try: - response = app.state.query_handler.handle_query( - DPLibraries.OPENDP, query_json, user_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content=response)
      - - - -
      -[docs] -@app.post( - "/dummy_opendp_query", - dependencies=[Depends(server_live)], - tags=["USER_DUMMY"], -) -def dummy_opendp_query_handler( - _request: Request, - query_json: DummyOpenDPInp = Body(example_dummy_opendp), -) -> JSONResponse: - """ - Handles queries on dummy datasets for the OpenDP library. - - Args: - request (Request): Raw request object. - query_json (DummyOpenDPInp, optional): - A JSON object containing the following: - - opendp_pipeline: The OpenDP pipeline for the query. - - fixed_delta: If the pipeline measurement is of type\ - "ZeroConcentratedDivergence" (e.g. with "make_gaussian") then - it is converted to "SmoothedMaxDivergence" with - "make_zCDP_to_approxDP" (see opendp measurements documentation at - https://docs.opendp.org/en/stable/api/python/opendp.combinators.html#opendp.combinators.make_zCDP_to_approxDP). # noqa # pylint: disable=C0301 - In that case a "fixed_delta" must be provided by the user. - - dummy (bool, optional): Whether to use a dummy dataset - (default: False). - - nb_rows (int, optional): The number of rows - in the dummy dataset (default: 100). - - seed (int, optional): The random seed for generating - the dummy dataset (default: 42). - - Defaults to Body(example_dummy_opendp). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: If there is not enough budget or the dataset - does not exist. - - Returns: - JSONResponse: A JSON object containing: - - query_response (pd.DataFrame): a DataFrame containing - the query response. - """ - ds_private_dataset = get_dummy_dataset_for_query( - app.state.admin_database, query_json - ) - dummy_querier = querier_factory( - DPLibraries.OPENDP, private_dataset=ds_private_dataset - ) - - try: - _ = dummy_querier.cost(query_json) # verify cost works - response_df = dummy_querier.query(query_json) - response = {"query_response": response_df} - - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content=response)
      - - - -
      -[docs] -@app.post( - "/estimate_opendp_cost", - dependencies=[Depends(server_live)], - tags=["USER_QUERY"], -) -def estimate_opendp_cost( - _request: Request, - query_json: OpenDPInp = Body(example_opendp), -) -> JSONResponse: - """ - Estimates the privacy loss budget cost of an OpenDP query. - - Args: - request (Request): Raw request object - query_json (OpenDPInp, optional): - A JSON object containing the following: - - "opendp_pipeline": The OpenDP pipeline for the query. - - Defaults to Body(example_opendp). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist or the - pipeline does not contain a measurement. - - Returns: - JSONResponse: A JSON object containing: - - epsilon_cost (float): The estimated epsilon cost. - - delta_cost (float): The estimated delta cost. - """ - try: - response = app.state.query_handler.estimate_cost( - DPLibraries.OPENDP, - query_json, - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content=response)
      - - - -# MongoDB get initial budget -
      -[docs] -@app.post( - "/get_initial_budget", - dependencies=[Depends(server_live)], - tags=["USER_BUDGET"], -) -def get_initial_budget( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), - user_name: str = Header(None), -) -> JSONResponse: - """ - Returns the initial budget for a user and dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing: - - dataset_name (str): The name of the dataset. - - Defaults to Body(example_get_admin_db_data). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - UnauthorizedAccessException: The user does not exist or - the user does not have access to the dataset. - Returns: - JSONResponse: a JSON object with: - - initial_epsilon (float): initial epsilon budget. - - initial_delta (float): initial delta budget. - """ - try: - ( - initial_epsilon, - initial_delta, - ) = app.state.admin_database.get_initial_budget( - user_name, query_json.dataset_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse( - content={ - "initial_epsilon": initial_epsilon, - "initial_delta": initial_delta, - } - )
      - - - -# MongoDB get total spent budget -
      -[docs] -@app.post( - "/get_total_spent_budget", - dependencies=[Depends(server_live)], - tags=["USER_BUDGET"], -) -def get_total_spent_budget( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), - user_name: str = Header(None), -) -> JSONResponse: - """ - Returns the spent budget for a user and dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing: - - dataset_name (str): The name of the dataset. - - Defaults to Body(example_get_admin_db_data). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - UnauthorizedAccessException: The user does not exist or - the user does not have access to the dataset. - Returns: - JSONResponse: a JSON object with: - - total_spent_epsilon (float): total spent epsilon budget. - - total_spent_delta (float): total spent delta budget. - """ - try: - ( - total_spent_epsilon, - total_spent_delta, - ) = app.state.admin_database.get_total_spent_budget( - user_name, query_json.dataset_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse( - content={ - "total_spent_epsilon": total_spent_epsilon, - "total_spent_delta": total_spent_delta, - } - )
      - - - -# MongoDB get remaining budget -
      -[docs] -@app.post( - "/get_remaining_budget", - dependencies=[Depends(server_live)], - tags=["USER_BUDGET"], -) -def get_remaining_budget( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), - user_name: str = Header(None), -) -> JSONResponse: - """ - Returns the remaining budget for a user and dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing: - - dataset_name (str): The name of the dataset. - - Defaults to Body(example_get_admin_db_data). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - UnauthorizedAccessException: The user does not exist or - the user does not have access to the dataset. - Returns: - JSONResponse: a JSON object with: - - remaining_epsilon (float): remaining epsilon budget. - - remaining_delta (float): remaining delta budget. - """ - try: - rem_epsilon, rem_delta = app.state.admin_database.get_remaining_budget( - user_name, query_json.dataset_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse( - content={ - "remaining_epsilon": rem_epsilon, - "remaining_delta": rem_delta, - } - )
      - - - -# MongoDB get archives -
      -[docs] -@app.post( - "/get_previous_queries", - dependencies=[Depends(server_live)], - tags=["USER_BUDGET"], -) -def get_user_previous_queries( - _request: Request, - query_json: GetDbData = Body(example_get_admin_db_data), - user_name: str = Header(None), -) -> JSONResponse: - """ - Returns the query history of a user on a specific dataset. - - Args: - request (Request): Raw request object - query_json (GetDbData, optional): A JSON object containing: - - dataset_name (str): The name of the dataset. - - Defaults to Body(example_get_admin_db_data). - - user_name (str, optional): The user name. - Defaults to Header(None). - - Raises: - ExternalLibraryException: For exceptions from libraries - external to this package. - InternalServerException: For any other unforseen exceptions. - InvalidQueryException: The dataset does not exist. - UnauthorizedAccessException: The user does not exist or - the user does not have access to the dataset. - - Returns: - JSONResponse: A JSON object containing: - - previous_queries (list[dict]): a list of dictionaries - containing the previous queries. - """ - try: - previous_queries = app.state.admin_database.get_user_previous_queries( - user_name, query_json.dataset_name - ) - except KNOWN_EXCEPTIONS as e: - raise e - except Exception as e: - raise InternalServerException(e) from e - - return JSONResponse(content={"previous_queries": previous_queries})
      - +# Add endpoints +app.include_router(routes_dp.router) +app.include_router(routes_admin.router)
      diff --git a/html/v0.1.0/en/_modules/lomas_server/tests/test_api.html b/html/v0.1.0/en/_modules/lomas_server/tests/test_api.html index 5ed4a8b2..3713076f 100644 --- a/html/v0.1.0/en/_modules/lomas_server/tests/test_api.html +++ b/html/v0.1.0/en/_modules/lomas_server/tests/test_api.html @@ -178,7 +178,7 @@

      Source code for lomas_server.tests.test_api

       
      [docs] def setUp(self) -> None: - """_summary_""" + """Set Up Header and DB for test""" self.user_name = "Dr. Antartica" self.dataset = PENGUIN_DATASET self.headers = { diff --git a/html/v0.1.0/en/genindex.html b/html/v0.1.0/en/genindex.html index 8fe56431..03b2a1d2 100644 --- a/html/v0.1.0/en/genindex.html +++ b/html/v0.1.0/en/genindex.html @@ -299,11 +299,11 @@

      D

    • db_name (lomas_server.utils.config.MongoDBConfig attribute)
    • DB_TYPE (lomas_server.constants.ConfigKeys attribute) -
    • -
    • db_type (lomas_server.utils.config.DBConfig attribute)
  • -
  • dummy_opendp_query_handler() (in module lomas_server.app) -
  • dummy_seed (lomas_server.utils.input_models.DummyOpenDPInp attribute)
  • -
  • dummy_smartnoise_sql_handler() (in module lomas_server.app) -
  • DummyOpenDPInp (class in lomas_server.utils.input_models)
  • DummySNSQLInp (class in lomas_server.utils.input_models) @@ -408,24 +404,16 @@

    E

  • (lomas_server.utils.input_models.SNSQLInpCost attribute)
  • -
  • error_message() (in module lomas_client.client) -
  • @@ -474,11 +462,9 @@

    G

  • (lomas_server.admin_database.yaml_database.AdminYamlDatabase method)
  • -
  • get_dataset_metadata() (in module lomas_server.app) +
  • get_dataset_metadata() (lomas_client.client.Client method)
  • -
  • get_dummy_dataset() (in module lomas_server.app) - -
  • get_dummy_dataset_for_query() (in module lomas_server.dp_queries.dummy_dataset)
  • get_epsilon_or_delta() (lomas_server.admin_database.admin_database.AdminDatabase method) @@ -502,11 +484,9 @@

    G

  • (lomas_server.admin_database.yaml_database.AdminYamlDatabase method)
  • -
  • get_initial_budget() (in module lomas_server.app) +
  • get_initial_budget() (lomas_client.client.Client method)
  • @@ -516,14 +496,10 @@

    G

  • get_list_of_users() (in module lomas_server.mongodb_admin)
  • -
  • get_memory_usage() (in module lomas_server.app) - -
  • -
  • get_remaining_budget() (in module lomas_server.app) +
  • get_remaining_budget() (lomas_client.client.Client method)
  • -
  • get_state() (in module lomas_server.app) -
  • -
  • get_total_spent_budget() (in module lomas_server.app) +
  • get_total_spent_budget() (lomas_client.client.Client method)
  • -
  • get_user_previous_queries() (in module lomas_server.app) +
  • get_user_previous_queries() (lomas_server.admin_database.admin_database.AdminDatabase method)
  • -
  • opendp_query() (lomas_client.client.Client method) -
  • -
  • smartnoise_sql_handler() (in module lomas_server.app) -
  • SmartnoiseSQLQuerier (class in lomas_server.dp_queries.dp_libraries.smartnoise_sql)
  • SMOOTHED_MAX_DIVERGENCE (lomas_server.constants.OpenDPMeasurement attribute) diff --git a/html/v0.1.0/en/lomas_server.html b/html/v0.1.0/en/lomas_server.html index cf8c12f9..f3d6f16e 100644 --- a/html/v0.1.0/en/lomas_server.html +++ b/html/v0.1.0/en/lomas_server.html @@ -724,478 +724,6 @@

    Submodules

    lomas_server.app module

    -
    -
    -lomas_server.app.dummy_opendp_query_handler(_request: Request, query_json: DummyOpenDPInp = Body({'dataset_name': 'PENGUIN', 'opendp_json': '{"version": "0.8.0", "ast": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "constructor", "func": "make_chain_tt", "module": "combinators", "args": [{"_type": "constructor", "func": "make_select_column", "module": "transformations", "kwargs": {"key": "bill_length_mm", "TOA": "String"}}, {"_type": "constructor", "func": "make_split_dataframe", "module": "transformations", "kwargs": {"separator": ",", "col_names": {"_type": "list", "_items": ["species", "island", "bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g", "sex"]}}}]}, "rhs": {"_type": "constructor", "func": "then_cast_default", "module": "transformations", "kwargs": {"TOA": "f64"}}}, "rhs": {"_type": "constructor", "func": "then_clamp", "module": "transformations", "kwargs": {"bounds": [30.0, 65.0]}}}, "rhs": {"_type": "constructor", "func": "then_resize", "module": "transformations", "kwargs": {"size": 346, "constant": 43.61}}}, "rhs": {"_type": "constructor", "func": "then_variance", "module": "transformations"}}, "rhs": {"_type": "constructor", "func": "then_laplace", "module": "measurements", "kwargs": {"scale": 5.0}}}}', 'fixed_delta': 1e-06, 'dummy_nb_rows': 100, 'dummy_seed': 42})) JSONResponse[source]
    -

    Handles queries on dummy datasets for the OpenDP library.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object.

    • -
    • query_json (DummyOpenDPInp, optional) –

      A JSON object containing the following: -- opendp_pipeline: The OpenDP pipeline for the query. -- fixed_delta: If the pipeline measurement is of type “ZeroConcentratedDivergence” (e.g. with “make_gaussian”) then

      -
      -

      it is converted to “SmoothedMaxDivergence” with -“make_zCDP_to_approxDP” (see opendp measurements documentation at -https://docs.opendp.org/en/stable/api/python/opendp.combinators.html#opendp.combinators.make_zCDP_to_approxDP). # noqa # pylint: disable=C0301 -In that case a “fixed_delta” must be provided by the user.

      -
      -
        -
      • dummy (bool, optional): Whether to use a dummy dataset -(default: False).

      • -
      • nb_rows (int, optional): The number of rows -in the dummy dataset (default: 100).

      • -
      • seed (int, optional): The random seed for generating -the dummy dataset (default: 42).

      • -
      -

      Defaults to Body(example_dummy_opendp).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • query_response (pd.DataFrame): a DataFrame containing -the query response.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.dummy_smartnoise_sql_handler(_request: Request, query_json: DummySNSQLInp = Body({'query_str': 'SELECT COUNT(*) AS NB_ROW FROM df', 'dataset_name': 'PENGUIN', 'epsilon': 100.0, 'delta': 0.99, 'mechanisms': {'count': 'gaussian'}, 'postprocess': False, 'dummy_nb_rows': 100, 'dummy_seed': 42})) JSONResponse[source]
    -

    Handles queries on dummy datasets for the SmartNoiseSQL library.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (DummySNSQLInp, optional) –

      A JSON object containing: -- query: The SQL query to execute. NOTE: the table name is “df”,

      -
      -

      the query must end with “FROM df”.

      -
      -
        -
      • epsilon (float): Privacy parameter (e.g., 0.1).

      • -
      • delta (float): Privacy parameter (e.g., 1e-5).

      • -
      • mechanisms (dict, optional): Dictionary of mechanisms for the -query (default: {}). See Smartnoise-SQL mechanisms documentation -https://docs.smartnoise.org/sql/advanced.html#overriding-mechanisms.

      • -
      • postprocess (bool, optional): Whether to postprocess the query -results (default: True). -See Smartnoise-SQL postprocessing documentation -https://docs.smartnoise.org/sql/advanced.html#postprocess.

      • -
      • dummy (bool, optional): Whether to use a dummy dataset -(default: False).

      • -
      • nb_rows (int, optional): The number of rows in the dummy dataset -(default: 100).

      • -
      • seed (int, optional): The random seed for generating -the dummy dataset (default: 42).

      • -
      -

      Defaults to Body(example_dummy_smartnoise_sql).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • query_response (pd.DataFrame): a DataFrame containing -the query response.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.estimate_opendp_cost(_request: Request, query_json: OpenDPInp = Body({'dataset_name': 'PENGUIN', 'opendp_json': '{"version": "0.8.0", "ast": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "constructor", "func": "make_chain_tt", "module": "combinators", "args": [{"_type": "constructor", "func": "make_select_column", "module": "transformations", "kwargs": {"key": "bill_length_mm", "TOA": "String"}}, {"_type": "constructor", "func": "make_split_dataframe", "module": "transformations", "kwargs": {"separator": ",", "col_names": {"_type": "list", "_items": ["species", "island", "bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g", "sex"]}}}]}, "rhs": {"_type": "constructor", "func": "then_cast_default", "module": "transformations", "kwargs": {"TOA": "f64"}}}, "rhs": {"_type": "constructor", "func": "then_clamp", "module": "transformations", "kwargs": {"bounds": [30.0, 65.0]}}}, "rhs": {"_type": "constructor", "func": "then_resize", "module": "transformations", "kwargs": {"size": 346, "constant": 43.61}}}, "rhs": {"_type": "constructor", "func": "then_variance", "module": "transformations"}}, "rhs": {"_type": "constructor", "func": "then_laplace", "module": "measurements", "kwargs": {"scale": 5.0}}}}', 'fixed_delta': 1e-06})) JSONResponse[source]
    -

    Estimates the privacy loss budget cost of an OpenDP query.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (OpenDPInp, optional) –

      A JSON object containing the following: -- “opendp_pipeline”: The OpenDP pipeline for the query.

      -

      Defaults to Body(example_opendp).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • epsilon_cost (float): The estimated epsilon cost.

    • -
    • delta_cost (float): The estimated delta cost.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.estimate_smartnoise_cost(_request: Request, query_json: SNSQLInpCost = Body({'query_str': 'SELECT COUNT(*) AS NB_ROW FROM df', 'dataset_name': 'PENGUIN', 'epsilon': 0.1, 'delta': 1e-05, 'mechanisms': {'count': 'gaussian'}})) JSONResponse[source]
    -

    Estimates the privacy loss budget cost of a SmartNoiseSQL query.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (SNSQLInpCost, optional) –

      A JSON object containing the following: -- query: The SQL query to estimate the cost for.

      -
      -

      NOTE: the table name is “df”, the query must end with “FROM df”.

      -
      - -

      Defaults to Body(example_smartnoise_sql_cost).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • epsilon_cost (float): The estimated epsilon cost.

    • -
    • delta_cost (float): The estimated delta cost.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_dataset_metadata(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'})) JSONResponse[source]
    -

    Retrieves metadata for a given dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) – A JSON object containing -the dataset_name key for indicating the dataset. -Defaults to Body(example_get_admin_db_data).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    The metadata dictionary for the specified

    dataset_name.

    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_dummy_dataset(_request: Request, query_json: GetDummyDataset = Body({'dataset_name': 'PENGUIN', 'dummy_nb_rows': 100, 'dummy_seed': 42})) StreamingResponse[source]
    -

    Generates and returns a dummy dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDummyDataset, optional) –

      -
      A JSON object containing the following:
        -
      • nb_rows (int, optional): The number of rows in the -dummy dataset (default: 100).

      • -
      • seed (int, optional): The random seed for generating -the dummy dataset (default: 42).

      • -
      -
      -
      -

      Defaults to Body(example_get_dummy_dataset).

      -

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    a pd.DataFrame representing the dummy dataset.

    -
    -
    Return type:
    -

    StreamingResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_initial_budget(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'}), user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the initial budget for a user and dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) –

      A JSON object containing: -- dataset_name (str): The name of the dataset.

      -

      Defaults to Body(example_get_admin_db_data).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    a JSON object with:
      -
    • initial_epsilon (float): initial epsilon budget.

    • -
    • initial_delta (float): initial delta budget.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -async lomas_server.app.get_memory_usage() JSONResponse[source]
    -

    Return the dataset store object memory usage -:param user_name: The user name. Defaults to Header(None). -:type user_name: str, optional

    -
    -
    Returns:
    -

    with DatasetStore object memory usage

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_remaining_budget(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'}), user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the remaining budget for a user and dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) –

      A JSON object containing: -- dataset_name (str): The name of the dataset.

      -

      Defaults to Body(example_get_admin_db_data).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    a JSON object with:
      -
    • remaining_epsilon (float): remaining epsilon budget.

    • -
    • remaining_delta (float): remaining delta budget.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -async lomas_server.app.get_state(user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the current state dict of this server instance.

    -
    -
    Parameters:
    -

    user_name (str, optional) – The user name. Defaults to Header(None).

    -
    -
    Returns:
    -

    The state of the server instance.

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_total_spent_budget(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'}), user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the spent budget for a user and dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) –

      A JSON object containing: -- dataset_name (str): The name of the dataset.

      -

      Defaults to Body(example_get_admin_db_data).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    a JSON object with:
      -
    • total_spent_epsilon (float): total spent epsilon budget.

    • -
    • total_spent_delta (float): total spent delta budget.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    - -
    -
    -lomas_server.app.get_user_previous_queries(_request: Request, query_json: GetDbData = Body({'dataset_name': 'PENGUIN'}), user_name: str = Header(None)) JSONResponse[source]
    -

    Returns the query history of a user on a specific dataset.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (GetDbData, optional) –

      A JSON object containing: -- dataset_name (str): The name of the dataset.

      -

      Defaults to Body(example_get_admin_db_data).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing:
      -
    • previous_queries (list[dict]): a list of dictionaries -containing the previous queries.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    -
    lomas_server.app.lifespan(app: FastAPI) AsyncGenerator[source]
    @@ -1214,132 +742,6 @@

    Submodules -
    -lomas_server.app.opendp_query_handler(_request: Request, query_json: OpenDPInp = Body({'dataset_name': 'PENGUIN', 'opendp_json': '{"version": "0.8.0", "ast": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "partial_chain", "lhs": {"_type": "constructor", "func": "make_chain_tt", "module": "combinators", "args": [{"_type": "constructor", "func": "make_select_column", "module": "transformations", "kwargs": {"key": "bill_length_mm", "TOA": "String"}}, {"_type": "constructor", "func": "make_split_dataframe", "module": "transformations", "kwargs": {"separator": ",", "col_names": {"_type": "list", "_items": ["species", "island", "bill_length_mm", "bill_depth_mm", "flipper_length_mm", "body_mass_g", "sex"]}}}]}, "rhs": {"_type": "constructor", "func": "then_cast_default", "module": "transformations", "kwargs": {"TOA": "f64"}}}, "rhs": {"_type": "constructor", "func": "then_clamp", "module": "transformations", "kwargs": {"bounds": [30.0, 65.0]}}}, "rhs": {"_type": "constructor", "func": "then_resize", "module": "transformations", "kwargs": {"size": 346, "constant": 43.61}}}, "rhs": {"_type": "constructor", "func": "then_variance", "module": "transformations"}}, "rhs": {"_type": "constructor", "func": "then_laplace", "module": "measurements", "kwargs": {"scale": 5.0}}}}', 'fixed_delta': 1e-06}), user_name: str = Header(None)) JSONResponse[source]
    -

    Handles queries for the OpenDP Library.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object.

    • -
    • query_json (OpenDPInp, optional) –

      A JSON object containing the following: -- opendp_pipeline: The OpenDP pipeline for the query. -- fixed_delta: If the pipeline measurement is of type

      -
      -

      ”ZeroConcentratedDivergence” (e.g. with “make_gaussian”) then it is -converted to “SmoothedMaxDivergence” with “make_zCDP_to_approxDP” -(see “opendp measurements documentation at -https://docs.opendp.org/en/stable/api/python/opendp.combinators.html#opendp.combinators.make_zCDP_to_approxDP). # noqa # pylint: disable=C0301 -In that case a “fixed_delta” must be provided by the user.

      -
      -

      Defaults to Body(example_opendp).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing the following:
      -
    • requested_by (str): The user name.

    • -
    • query_response (pd.DataFrame): A DataFrame containing -the query response.

    • -
    • spent_epsilon (float): The amount of epsilon budget spent -for the query.

    • -
    • spent_delta (float): The amount of delta budget spent -for the query.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -

    - -
    -
    -async lomas_server.app.root()[source]
    -

    Redirect root endpoint to the state endpoint -:returns: The state of the server instance. -:rtype: JSONResponse

    -
    - -
    -
    -lomas_server.app.smartnoise_sql_handler(_request: Request, query_json: SNSQLInp = Body({'query_str': 'SELECT COUNT(*) AS NB_ROW FROM df', 'dataset_name': 'PENGUIN', 'epsilon': 0.1, 'delta': 1e-05, 'mechanisms': {'count': 'gaussian'}, 'postprocess': True}), user_name: str = Header(None)) JSONResponse[source]
    -

    Handles queries for the SmartNoiseSQL library.

    -
    -
    Parameters:
    -
      -
    • request (Request) – Raw request object

    • -
    • query_json (SNSQLInp) –

      A JSON object containing: -- query: The SQL query to execute. NOTE: the table name is “df”,

      -
      -

      the query must end with “FROM df”.

      -
      - -

      Defaults to Body(example_smartnoise_sql).

      -

    • -
    • user_name (str, optional) – The user name. -Defaults to Header(None).

    • -
    -
    -
    Raises:
    -
    -
    -
    Returns:
    -

    -
    A JSON object containing the following:
      -
    • requested_by (str): The user name.

    • -
    • query_response (pd.DataFrame): A DataFrame containing -the query response.

    • -
    • spent_epsilon (float): The amount of epsilon budget spent -for the query.

    • -
    • spent_delta (float): The amount of delta budget spent -for the query.

    • -
    -
    -
    -

    -
    -
    Return type:
    -

    JSONResponse

    -
    -
    -
    -

    lomas_server.constants module

    diff --git a/html/v0.1.0/en/lomas_server.tests.html b/html/v0.1.0/en/lomas_server.tests.html index fc51dcf2..593bc980 100644 --- a/html/v0.1.0/en/lomas_server.tests.html +++ b/html/v0.1.0/en/lomas_server.tests.html @@ -129,7 +129,7 @@

    Submodules
    setUp() None[source]
    -

    _summary_

    +

    Set Up Header and DB for test

    diff --git a/html/v0.1.0/en/objects.inv b/html/v0.1.0/en/objects.inv index 2ccbc564422ff18ec380d0ebb572f7fe98c08803..dd46b8716c1b1832d1b9bfb85197041c0812a543 100644 GIT binary patch delta 14843 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

  • lomas_server.app module
  • lomas_server.constants module