| "All the constants used in this repo." | |
| from pathlib import Path | |
| # This repository's directory | |
| REPO_DIR = Path(__file__).parent | |
| # This repository's main necessary folders | |
| MATCHERS_PATH = REPO_DIR / "matchers" | |
| KEYS_PATH = REPO_DIR / ".fhe_keys" | |
| CLIENT_TMP_PATH = REPO_DIR / "client_tmp" | |
| SERVER_TMP_PATH = REPO_DIR / "server_tmp" | |
| # Create the necessary folders | |
| KEYS_PATH.mkdir(exist_ok=True) | |
| CLIENT_TMP_PATH.mkdir(exist_ok=True) | |
| SERVER_TMP_PATH.mkdir(exist_ok=True) | |
| # All the filters currently available in the demo | |
| AVAILABLE_MATCHERS = [ | |
| "random guessing", | |
| # "random guessing concrete 1.1.0", | |
| # "random guessing concrete 1.1.0", | |
| # "static distance", | |
| # "MLP-based learned distance", | |
| # "CNN-based learned distance", | |
| ] | |
| # The input images' shape. Images with different input shapes will be cropped and resized by Gradio | |
| INPUT_SHAPE = (100, 100) | |
| # Retrieve the input examples directory | |
| INPUT_EXAMPLES_DIR = REPO_DIR / "input_examples" | |
| # List of all image examples suggested in the demo | |
| EXAMPLES = [str(image) for image in INPUT_EXAMPLES_DIR.glob("**/*")] | |
| # Encrypted image and output names | |
| ENCRYPTED_QUERY_NAME = "encrypted_query_image" | |
| ENCRYPTED_REFERENCE_NAME = "encrypted_reference_image" | |
| ENCRYPTED_OUTPUT_NAME = "encrypted_output" | |
| # Store the server's URL | |
| SERVER_URL = "http://localhost:8000/" | |