diff --git a/facefusion/apis/endpoints/capabilities.py b/facefusion/apis/endpoints/capabilities.py index 43528d0d..0c998cc3 100644 --- a/facefusion/apis/endpoints/capabilities.py +++ b/facefusion/apis/endpoints/capabilities.py @@ -3,7 +3,7 @@ from starlette.responses import JSONResponse from starlette.status import HTTP_200_OK import facefusion.choices -from facefusion import args_store +from facefusion import capability_store async def get_capabilities(request : Request) -> JSONResponse: @@ -15,6 +15,6 @@ async def get_capabilities(request : Request) -> JSONResponse: 'image': facefusion.choices.image_formats, 'video': facefusion.choices.video_formats }, - 'arguments': args_store.get_api_argument_set() + 'arguments': capability_store.get_api_capability_set() } return JSONResponse(capabilities, status_code = HTTP_200_OK) diff --git a/facefusion/apis/endpoints/state.py b/facefusion/apis/endpoints/state.py index 712f06e5..383c4ef2 100644 --- a/facefusion/apis/endpoints/state.py +++ b/facefusion/apis/endpoints/state.py @@ -2,13 +2,13 @@ from starlette.requests import Request from starlette.responses import JSONResponse from starlette.status import HTTP_200_OK, HTTP_404_NOT_FOUND -from facefusion import args_store, session_manager, state_manager, translator +from facefusion import capability_store, session_manager, state_manager, translator from facefusion.apis import asset_store from facefusion.apis.endpoints.session import extract_access_token async def get_state(request : Request) -> JSONResponse: - api_args = args_store.filter_api_args(state_manager.get_state()) #type:ignore[arg-type] + api_args = capability_store.filter_api_args(state_manager.get_state()) #type:ignore[arg-type] return JSONResponse(state_manager.collect_state(api_args), status_code = HTTP_200_OK) @@ -23,13 +23,13 @@ async def set_state(request : Request) -> JSONResponse: return await select_target(request) body = await request.json() - api_args = args_store.get_api_arguments() + api_args = capability_store.get_api_arguments() for key, value in body.items(): if key in api_args: state_manager.set_item(key, value) - __api_args__ = args_store.filter_api_args(state_manager.get_state()) #type:ignore[arg-type] + __api_args__ = capability_store.filter_api_args(state_manager.get_state()) #type:ignore[arg-type] return JSONResponse(state_manager.collect_state(__api_args__), status_code = HTTP_200_OK) #type:ignore[arg-type] @@ -50,7 +50,7 @@ async def select_source(request : Request) -> JSONResponse: state_manager.set_item('source_paths', source_paths) - __api_args__ = args_store.filter_api_args(state_manager.get_state()) #type:ignore[arg-type] + __api_args__ = capability_store.filter_api_args(state_manager.get_state()) #type:ignore[arg-type] return JSONResponse(state_manager.collect_state(__api_args__), status_code = HTTP_200_OK) return JSONResponse( @@ -71,7 +71,7 @@ async def select_target(request : Request) -> JSONResponse: if asset: state_manager.set_item('target_path', asset.get('path')) - __api_args__ = args_store.filter_api_args(state_manager.get_state()) #type:ignore[arg-type] + __api_args__ = capability_store.filter_api_args(state_manager.get_state()) #type:ignore[arg-type] return JSONResponse(state_manager.collect_state(__api_args__), status_code = HTTP_200_OK) return JSONResponse( diff --git a/facefusion/args_store.py b/facefusion/capability_store.py similarity index 57% rename from facefusion/args_store.py rename to facefusion/capability_store.py index 2d53bcde..2d6b4b2a 100644 --- a/facefusion/args_store.py +++ b/facefusion/capability_store.py @@ -1,9 +1,9 @@ from argparse import Action from typing import Dict, List -from facefusion.types import Args, ArgumentSet, ArgumentStore, Scope, State +from facefusion.types import Args, CapabilitySet, CapabilityStore, Scope, State -ARGUMENT_STORE : ArgumentStore =\ +CAPABILITY_STORE : CapabilityStore =\ { 'api': {}, 'cli': {}, @@ -11,33 +11,33 @@ ARGUMENT_STORE : ArgumentStore =\ } -def get_api_argument_set() -> Dict[str, ArgumentSet]: - return ARGUMENT_STORE.get('api') +def get_api_capability_set() -> Dict[str, CapabilitySet]: + return CAPABILITY_STORE.get('api') -def get_cli_argument_set() -> Dict[str, ArgumentSet]: - return ARGUMENT_STORE.get('cli') +def get_cli_capability_set() -> Dict[str, CapabilitySet]: + return CAPABILITY_STORE.get('cli') -def get_sys_argument_set() -> Dict[str, ArgumentSet]: - return ARGUMENT_STORE.get('sys') +def get_sys_capability_set() -> Dict[str, CapabilitySet]: + return CAPABILITY_STORE.get('sys') def get_api_arguments() -> List[str]: - return list(get_api_argument_set().keys()) + return list(get_api_capability_set().keys()) def get_cli_arguments() -> List[str]: - return list(get_cli_argument_set().keys()) + return list(get_cli_capability_set().keys()) def get_sys_arguments() -> List[str]: - return list(get_sys_argument_set().keys()) + return list(get_sys_capability_set().keys()) -def register_argument_set(actions : List[Action], scopes : List[Scope]) -> None: +def register_capability_set(actions : List[Action], scopes : List[Scope]) -> None: for action in actions: - value : ArgumentSet =\ + value : CapabilitySet =\ { 'default': action.default } @@ -47,11 +47,11 @@ def register_argument_set(actions : List[Action], scopes : List[Scope]) -> None: for scope in scopes: if scope == 'api': - ARGUMENT_STORE['api'][action.dest] = value + CAPABILITY_STORE['api'][action.dest] = value if scope == 'cli': - ARGUMENT_STORE['cli'][action.dest] = value + CAPABILITY_STORE['cli'][action.dest] = value if scope == 'sys': - ARGUMENT_STORE['sys'][action.dest] = value + CAPABILITY_STORE['sys'][action.dest] = value def filter_api_args(state : State) -> Args: diff --git a/facefusion/core.py b/facefusion/core.py index f36f5db9..8f286715 100755 --- a/facefusion/core.py +++ b/facefusion/core.py @@ -7,7 +7,7 @@ from time import time import uvicorn -from facefusion import args_store, benchmarker, cli_helper, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, hash_helper, logger, state_manager, translator, voice_extractor +from facefusion import benchmarker, capability_store, cli_helper, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, hash_helper, logger, state_manager, translator, voice_extractor from facefusion.apis.core import create_api from facefusion.args_helper import apply_args from facefusion.download import conditional_download_hashes, conditional_download_sources @@ -198,7 +198,7 @@ def route_job_manager(args : Args) -> ErrorCode: return 1 if state_manager.get_item('command') == 'job-add-step': - step_args = args_store.filter_step_args(args) + step_args = capability_store.filter_step_args(args) if job_manager.add_step(state_manager.get_item('job_id'), step_args): logger.info(translator.get('job_step_added').format(job_id = state_manager.get_item('job_id')), __name__) @@ -207,7 +207,7 @@ def route_job_manager(args : Args) -> ErrorCode: return 1 if state_manager.get_item('command') == 'job-remix-step': - step_args = args_store.filter_step_args(args) + step_args = capability_store.filter_step_args(args) if job_manager.remix_step(state_manager.get_item('job_id'), state_manager.get_item('step_index'), step_args): logger.info(translator.get('job_remix_step_added').format(job_id = state_manager.get_item('job_id'), step_index = state_manager.get_item('step_index')), __name__) @@ -216,7 +216,7 @@ def route_job_manager(args : Args) -> ErrorCode: return 1 if state_manager.get_item('command') == 'job-insert-step': - step_args = args_store.filter_step_args(args) + step_args = capability_store.filter_step_args(args) if job_manager.insert_step(state_manager.get_item('job_id'), state_manager.get_item('step_index'), step_args): logger.info(translator.get('job_step_inserted').format(job_id = state_manager.get_item('job_id'), step_index = state_manager.get_item('step_index')), __name__) @@ -270,7 +270,7 @@ def route_job_runner() -> ErrorCode: def process_headless(args : Args) -> ErrorCode: job_id = job_helper.suggest_job_id('headless') - step_args = args_store.filter_step_args(args) + step_args = capability_store.filter_step_args(args) if job_manager.create_job(job_id) and job_manager.add_step(job_id, step_args) and job_manager.submit_job(job_id) and job_runner.run_job(job_id, process_step): return 0 @@ -279,7 +279,7 @@ def process_headless(args : Args) -> ErrorCode: def process_batch(args : Args) -> ErrorCode: job_id = job_helper.suggest_job_id('batch') - step_args = args_store.filter_step_args(args) + step_args = capability_store.filter_step_args(args) source_paths = resolve_file_pattern(step_args.get('source_pattern')) target_paths = resolve_file_pattern(step_args.get('target_pattern')) @@ -317,7 +317,7 @@ def process_batch(args : Args) -> ErrorCode: def process_step(job_id : str, step_index : int, step_args : Args) -> bool: step_total = job_manager.count_step_total(job_id) - cli_args = args_store.filter_cli_args(state_manager.get_state()) #type:ignore[arg-type] + cli_args = capability_store.filter_cli_args(state_manager.get_state()) #type:ignore[arg-type] args = cli_args.copy() args.update(step_args) apply_args(args, state_manager.set_item) diff --git a/facefusion/processors/modules/age_modifier/core.py b/facefusion/processors/modules/age_modifier/core.py index f68757c0..ccb3368b 100755 --- a/facefusion/processors/modules/age_modifier/core.py +++ b/facefusion/processors/modules/age_modifier/core.py @@ -4,7 +4,7 @@ from functools import lru_cache import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.choices import facefusion.jobs.job_manager from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, state_manager, translator, video_manager @@ -87,7 +87,7 @@ def get_model_options() -> ModelOptions: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--age-modifier-model', diff --git a/facefusion/processors/modules/background_remover/core.py b/facefusion/processors/modules/background_remover/core.py index bb2c8c69..6ec3962b 100644 --- a/facefusion/processors/modules/background_remover/core.py +++ b/facefusion/processors/modules/background_remover/core.py @@ -5,7 +5,7 @@ from typing import List, Tuple import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, inference_manager, logger, state_manager, translator, video_manager from facefusion.common_helper import is_macos @@ -420,7 +420,7 @@ def get_model_options() -> ModelOptions: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--background-remover-model', diff --git a/facefusion/processors/modules/deep_swapper/core.py b/facefusion/processors/modules/deep_swapper/core.py index eab47931..56c5dc6f 100755 --- a/facefusion/processors/modules/deep_swapper/core.py +++ b/facefusion/processors/modules/deep_swapper/core.py @@ -6,7 +6,7 @@ import cv2 import numpy from cv2.typing import Size -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, state_manager, translator, video_manager from facefusion.common_helper import create_int_metavar @@ -276,7 +276,7 @@ def get_model_size() -> Size: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--deep-swapper-model', diff --git a/facefusion/processors/modules/expression_restorer/core.py b/facefusion/processors/modules/expression_restorer/core.py index 8bcf51f6..6cb8269a 100755 --- a/facefusion/processors/modules/expression_restorer/core.py +++ b/facefusion/processors/modules/expression_restorer/core.py @@ -5,7 +5,7 @@ from typing import Tuple import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, state_manager, translator, video_manager from facefusion.common_helper import create_int_metavar @@ -99,7 +99,7 @@ def get_model_options() -> ModelOptions: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--expression-restorer-model', diff --git a/facefusion/processors/modules/face_debugger/core.py b/facefusion/processors/modules/face_debugger/core.py index 790438a2..01c08c60 100755 --- a/facefusion/processors/modules/face_debugger/core.py +++ b/facefusion/processors/modules/face_debugger/core.py @@ -3,7 +3,7 @@ from argparse import ArgumentParser import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, logger, state_manager, translator, video_manager from facefusion.face_analyser import scale_face @@ -30,7 +30,7 @@ def clear_inference_pool() -> None: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--face-debugger-items', diff --git a/facefusion/processors/modules/face_editor/core.py b/facefusion/processors/modules/face_editor/core.py index 28e86b20..dafc2cb6 100755 --- a/facefusion/processors/modules/face_editor/core.py +++ b/facefusion/processors/modules/face_editor/core.py @@ -5,7 +5,7 @@ from typing import Tuple import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, state_manager, translator, video_manager from facefusion.common_helper import create_float_metavar @@ -129,7 +129,7 @@ def get_model_options() -> ModelOptions: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--face-editor-model', diff --git a/facefusion/processors/modules/face_enhancer/core.py b/facefusion/processors/modules/face_enhancer/core.py index 56901d0f..808de735 100755 --- a/facefusion/processors/modules/face_enhancer/core.py +++ b/facefusion/processors/modules/face_enhancer/core.py @@ -3,7 +3,7 @@ from functools import lru_cache import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, state_manager, translator, video_manager from facefusion.common_helper import create_float_metavar, create_int_metavar @@ -292,7 +292,7 @@ def get_model_options() -> ModelOptions: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--face-enhancer-model', diff --git a/facefusion/processors/modules/face_swapper/core.py b/facefusion/processors/modules/face_swapper/core.py index 04fa6105..2d68f066 100755 --- a/facefusion/processors/modules/face_swapper/core.py +++ b/facefusion/processors/modules/face_swapper/core.py @@ -5,7 +5,7 @@ from typing import List, Optional, Tuple import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.choices import facefusion.jobs.job_manager from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, state_manager, translator, video_manager @@ -513,7 +513,7 @@ def get_model_name() -> str: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--face-swapper-model', @@ -526,7 +526,7 @@ def register_args(program : ArgumentParser) -> None: ) known_args, _ = program.parse_known_args() face_swapper_pixel_boost_choices = face_swapper_choices.face_swapper_set.get(known_args.face_swapper_model) - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--face-swapper-pixel-boost', diff --git a/facefusion/processors/modules/frame_colorizer/core.py b/facefusion/processors/modules/frame_colorizer/core.py index 67b6b28a..cb743ff6 100644 --- a/facefusion/processors/modules/frame_colorizer/core.py +++ b/facefusion/processors/modules/frame_colorizer/core.py @@ -5,7 +5,7 @@ from typing import List import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, inference_manager, logger, state_manager, translator, video_manager from facefusion.common_helper import create_int_metavar, is_macos @@ -184,7 +184,7 @@ def get_model_options() -> ModelOptions: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--frame-colorizer-model', diff --git a/facefusion/processors/modules/frame_enhancer/core.py b/facefusion/processors/modules/frame_enhancer/core.py index 6f5f89aa..b2c6ffd7 100644 --- a/facefusion/processors/modules/frame_enhancer/core.py +++ b/facefusion/processors/modules/frame_enhancer/core.py @@ -4,7 +4,7 @@ from functools import lru_cache import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, inference_manager, logger, state_manager, translator, video_manager from facefusion.common_helper import create_int_metavar, is_macos @@ -573,7 +573,7 @@ def get_frame_enhancer_model() -> str: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--frame-enhancer-model', diff --git a/facefusion/processors/modules/lip_syncer/core.py b/facefusion/processors/modules/lip_syncer/core.py index d6837657..2ed21e95 100755 --- a/facefusion/processors/modules/lip_syncer/core.py +++ b/facefusion/processors/modules/lip_syncer/core.py @@ -4,7 +4,7 @@ from functools import lru_cache import cv2 import numpy -import facefusion.args_store +import facefusion.capability_store import facefusion.jobs.job_manager from facefusion import config, content_analyser, face_classifier, face_detector, face_landmarker, face_masker, face_recognizer, inference_manager, logger, state_manager, translator, video_manager, voice_extractor from facefusion.audio import read_static_voice @@ -132,7 +132,7 @@ def get_model_options() -> ModelOptions: def register_args(program : ArgumentParser) -> None: group_processors = find_argument_group(program, 'processors') if group_processors: - facefusion.args_store.register_argument_set( + facefusion.capability_store.register_capability_set( [ group_processors.add_argument( '--lip-syncer-model', diff --git a/facefusion/program.py b/facefusion/program.py index bc74d0a6..e1bdec12 100755 --- a/facefusion/program.py +++ b/facefusion/program.py @@ -3,7 +3,7 @@ from argparse import ArgumentParser, HelpFormatter from functools import partial import facefusion.choices -from facefusion import args_store, config, metadata, state_manager, translator +from facefusion import capability_store, config, metadata, state_manager, translator from facefusion.common_helper import create_float_metavar, create_int_metavar, get_first, get_last from facefusion.execution import get_available_execution_providers from facefusion.ffmpeg import get_available_encoder_set @@ -24,7 +24,7 @@ def create_config_path_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_paths = program.add_argument_group('paths') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_paths.add_argument( '--config-path', @@ -43,7 +43,7 @@ def create_workflow_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_paths = program.add_argument_group('paths') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_paths.add_argument( '--workflow', @@ -62,7 +62,7 @@ def create_temp_path_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_paths = program.add_argument_group('paths') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_paths.add_argument( '--temp-path', @@ -80,7 +80,7 @@ def create_jobs_path_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_paths = program.add_argument_group('paths') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_paths.add_argument( '--jobs-path', @@ -98,7 +98,7 @@ def create_source_paths_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_paths = program.add_argument_group('paths') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_paths.add_argument( '-s', '--source-paths', @@ -117,7 +117,7 @@ def create_target_path_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_paths = program.add_argument_group('paths') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_paths.add_argument( '-t', '--target-path', @@ -135,7 +135,7 @@ def create_output_path_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_paths = program.add_argument_group('paths') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_paths.add_argument( '-o', '--output-path', @@ -153,7 +153,7 @@ def create_source_pattern_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_patterns = program.add_argument_group('patterns') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_patterns.add_argument( '-s', '--source-pattern', @@ -171,7 +171,7 @@ def create_target_pattern_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_patterns = program.add_argument_group('patterns') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_patterns.add_argument( '-t', '--target-pattern', @@ -189,7 +189,7 @@ def create_output_pattern_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_patterns = program.add_argument_group('patterns') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_patterns.add_argument( '-o', '--output-pattern', @@ -207,7 +207,7 @@ def create_face_detector_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_face_detector = program.add_argument_group('face detector') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_detector.add_argument( '--face-detector-model', @@ -222,7 +222,7 @@ def create_face_detector_program() -> ArgumentParser: known_args, _ = program.parse_known_args() face_detector_size_choices = facefusion.choices.face_detector_set.get(known_args.face_detector_model) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_detector.add_argument( '--face-detector-size', @@ -233,7 +233,7 @@ def create_face_detector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_detector.add_argument( '--face-detector-margin', @@ -245,7 +245,7 @@ def create_face_detector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_detector.add_argument( '--face-detector-angles', @@ -259,7 +259,7 @@ def create_face_detector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_detector.add_argument( '--face-detector-score', @@ -280,7 +280,7 @@ def create_face_landmarker_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_face_landmarker = program.add_argument_group('face landmarker') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_landmarker.add_argument( '--face-landmarker-model', @@ -291,7 +291,7 @@ def create_face_landmarker_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_landmarker.add_argument( '--face-landmarker-score', @@ -312,7 +312,7 @@ def create_face_selector_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_face_selector = program.add_argument_group('face selector') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--face-selector-mode', @@ -323,7 +323,7 @@ def create_face_selector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--face-selector-order', @@ -334,7 +334,7 @@ def create_face_selector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--face-selector-age-start', @@ -347,7 +347,7 @@ def create_face_selector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--face-selector-age-end', @@ -360,7 +360,7 @@ def create_face_selector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--face-selector-gender', @@ -371,7 +371,7 @@ def create_face_selector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--face-selector-race', @@ -382,7 +382,7 @@ def create_face_selector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--reference-face-position', @@ -393,7 +393,7 @@ def create_face_selector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--reference-face-distance', @@ -406,7 +406,7 @@ def create_face_selector_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_selector.add_argument( '--reference-frame-number', @@ -425,7 +425,7 @@ def create_face_masker_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_face_masker = program.add_argument_group('face masker') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_masker.add_argument( '--face-occluder-model', @@ -436,7 +436,7 @@ def create_face_masker_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_masker.add_argument( '--face-parser-model', @@ -447,7 +447,7 @@ def create_face_masker_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_masker.add_argument( '--face-mask-types', @@ -460,7 +460,7 @@ def create_face_masker_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_masker.add_argument( '--face-mask-areas', @@ -473,7 +473,7 @@ def create_face_masker_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_masker.add_argument( '--face-mask-regions', @@ -486,7 +486,7 @@ def create_face_masker_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_masker.add_argument( '--face-mask-blur', @@ -499,7 +499,7 @@ def create_face_masker_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_face_masker.add_argument( '--face-mask-padding', @@ -519,7 +519,7 @@ def create_voice_extractor_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_voice_extractor = program.add_argument_group('voice extractor') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_voice_extractor.add_argument( '--voice-extractor-model', @@ -538,7 +538,7 @@ def create_frame_extraction_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_frame_extraction = program.add_argument_group('frame extraction') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_frame_extraction.add_argument( '--trim-frame-start', @@ -549,7 +549,7 @@ def create_frame_extraction_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_frame_extraction.add_argument( '--trim-frame-end', @@ -560,7 +560,7 @@ def create_frame_extraction_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_frame_extraction.add_argument( '--temp-frame-format', @@ -580,7 +580,7 @@ def create_output_creation_program() -> ArgumentParser: available_encoder_set = get_available_encoder_set() group_output_creation = program.add_argument_group('output creation') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-image-quality', @@ -593,7 +593,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-image-scale', @@ -605,7 +605,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-audio-encoder', @@ -616,7 +616,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-audio-quality', @@ -629,7 +629,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-audio-volume', @@ -642,7 +642,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-video-encoder', @@ -653,7 +653,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-video-preset', @@ -664,7 +664,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-video-quality', @@ -677,7 +677,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-video-scale', @@ -689,7 +689,7 @@ def create_output_creation_program() -> ArgumentParser: ], scopes = [ 'api', 'cli' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_output_creation.add_argument( '--output-video-fps', @@ -709,7 +709,7 @@ def create_processors_program() -> ArgumentParser: available_processors = [ get_file_name(file_path) for file_path in resolve_file_paths('facefusion/processors/modules') ] group_processors = program.add_argument_group('processors') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_processors.add_argument( '--processors', @@ -732,7 +732,7 @@ def create_download_providers_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_download = program.add_argument_group('download') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_download.add_argument( '--download-providers', @@ -753,7 +753,7 @@ def create_download_scope_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_download = program.add_argument_group('download') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_download.add_argument( '--download-scope', @@ -820,7 +820,7 @@ def create_execution_program() -> ArgumentParser: available_execution_providers = get_available_execution_providers() group_execution = program.add_argument_group('execution') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_execution.add_argument( '--execution-device-ids', @@ -833,7 +833,7 @@ def create_execution_program() -> ArgumentParser: ], scopes = [ 'cli', 'sys' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_execution.add_argument( '--execution-providers', @@ -846,7 +846,7 @@ def create_execution_program() -> ArgumentParser: ], scopes = [ 'cli', 'sys' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ group_execution.add_argument( '--execution-thread-count', @@ -867,7 +867,7 @@ def create_memory_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_memory = program.add_argument_group('memory') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_memory.add_argument( '--video-memory-strategy', @@ -886,7 +886,7 @@ def create_log_level_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_misc = program.add_argument_group('misc') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_misc.add_argument( '--log-level', @@ -905,7 +905,7 @@ def create_halt_on_error_program() -> ArgumentParser: program = ArgumentParser(add_help = False) group_misc = program.add_argument_group('misc') - args_store.register_argument_set( + capability_store.register_capability_set( [ group_misc.add_argument( '--halt-on-error', diff --git a/facefusion/types.py b/facefusion/types.py index 94b40213..9cd48f99 100755 --- a/facefusion/types.py +++ b/facefusion/types.py @@ -97,19 +97,21 @@ Margin : TypeAlias = Tuple[int, int, int, int] Orientation = Literal['landscape', 'portrait'] Resolution : TypeAlias = Tuple[int, int] +Args : TypeAlias = Dict[str, Any] + Choice : TypeAlias = Union[int | str] Scope : TypeAlias = Literal['api', 'cli', 'sys'] -Args : TypeAlias = Dict[str, Any] -ArgumentSet = TypedDict('ArgumentSet', + +CapabilitySet = TypedDict('CapabilitySet', { 'default' : Any, 'choices' : NotRequired[List[Choice]] }) -ArgumentStore = TypedDict('ArgumentStore', +CapabilityStore = TypedDict('CapabilityStore', { - 'api' : Dict[str, ArgumentSet], - 'cli' : Dict[str, ArgumentSet], - 'sys' : Dict[str, ArgumentSet] + 'api' : Dict[str, CapabilitySet], + 'cli' : Dict[str, CapabilitySet], + 'sys' : Dict[str, CapabilitySet] }) ProcessState = Literal['checking', 'processing', 'stopping', 'pending'] diff --git a/tests/test_api_capabilities.py b/tests/test_api_capabilities.py index 562df544..04535c4f 100644 --- a/tests/test_api_capabilities.py +++ b/tests/test_api_capabilities.py @@ -4,14 +4,14 @@ from typing import Iterator import pytest from starlette.testclient import TestClient -from facefusion import args_store, session_manager +from facefusion import capability_store, session_manager from facefusion.apis.core import create_api @pytest.fixture(scope = 'module') def test_client() -> Iterator[TestClient]: program = ArgumentParser() - args_store.register_argument_set( + capability_store.register_capability_set( [ program.add_argument( '--source-paths', @@ -20,7 +20,7 @@ def test_client() -> Iterator[TestClient]: ], scopes = [ 'api' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ program.add_argument( '--output-format', diff --git a/tests/test_api_state.py b/tests/test_api_state.py index bcad4755..667ca5c3 100644 --- a/tests/test_api_state.py +++ b/tests/test_api_state.py @@ -5,7 +5,7 @@ from typing import Iterator import pytest from starlette.testclient import TestClient -from facefusion import args_store, metadata, session_manager, state_manager +from facefusion import capability_store, metadata, session_manager, state_manager from facefusion.apis import asset_store from facefusion.apis.core import create_api from facefusion.download import conditional_download @@ -25,7 +25,7 @@ def before_all() -> None: @pytest.fixture(scope = 'module') def test_client() -> Iterator[TestClient]: program = ArgumentParser() - args_store.register_argument_set( + capability_store.register_capability_set( [ program.add_argument( '--source-paths', @@ -34,7 +34,7 @@ def test_client() -> Iterator[TestClient]: ], scopes = [ 'api' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ program.add_argument( '--target-path' @@ -42,7 +42,7 @@ def test_client() -> Iterator[TestClient]: ], scopes = [ 'api' ] ) - args_store.register_argument_set( + capability_store.register_capability_set( [ program.add_argument( '--execution-providers',