[project] name = "memo" version = "0.1.0" description = "MEMO: Memory-Guided Diffusion for Expressive Talking Video Generation" readme = "README.md" requires-python = ">=3.10" license = {file = "LICENSE"} keywords = [ 'artificial intelligence', 'computer vision', 'diffusion models', 'video generation', 'talking head', ] dependencies = [ 'accelerate==1.1.1', 'albumentations==1.4.21', 'audio-separator==0.24.1', 'black==23.12.1', 'diffusers==0.31.0', 'einops==0.8.0', 'ffmpeg-python==0.2.0', 'funasr==1.0.27', 'huggingface-hub==0.26.2', 'imageio==2.36.0', 'imageio-ffmpeg==0.5.1', 'insightface==0.7.3', 'hydra-core==1.3.2', 'jax==0.4.35', 'mediapipe==0.10.18', 'modelscope==1.20.1', 'moviepy==1.0.3', 'numpy==1.26.4', 'omegaconf==2.3.0', 'onnxruntime-gpu>=1.20.1', 'opencv-python-headless==4.10.0.84', 'pillow>=10.4.0', 'scikit-learn>=1.5.2', 'scipy>=1.14.1', 'torch==2.5.1', 'torchaudio==2.5.1', 'torchvision==0.20.1', 'transformers==4.46.3', 'tqdm>=4.67.1', 'xformers==0.0.28.post3', ] [build-system] requires = ["setuptools", "wheel"] build-backend = "setuptools.build_meta" [tool.setuptools] packages = ["memo"] [tool.ruff] line-length = 119 [tool.ruff.lint] # Never enforce `E501` (line length violations). ignore = ["C901", "E501", "E741", "F402", "F823" ] select = ["C", "E", "F", "I", "W"] # Ignore import violations in all `__init__.py` files. [tool.ruff.lint.per-file-ignores] "__init__.py" = ["E402", "F401", "F403", "F811"] [tool.ruff.lint.isort] lines-after-imports = 2 known-first-party = ["vpt_x"] [tool.ruff.format] # Like Black, use double quotes for strings. quote-style = "double" # Like Black, indent with spaces, rather than tabs. indent-style = "space" # Like Black, respect magic trailing commas. skip-magic-trailing-comma = false # Like Black, automatically detect the appropriate line ending. line-ending = "auto"