133 lines
4.1 KiB
TOML
133 lines
4.1 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=42", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "mflux"
|
|
version = "0.6.0"
|
|
description = "A MLX port of FLUX based on the Huggingface Diffusers implementation."
|
|
readme = "README.md"
|
|
keywords = ["diffusers", "flux", "mlx"]
|
|
authors = [{ name = "Filip Strand", email = "strand.filip@gmail.com" }]
|
|
maintainers = [{ name = "Filip Strand", email = "strand.filip@gmail.com" }]
|
|
license = { file = "LICENSE" }
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"huggingface-hub>=0.24.5,<1.0",
|
|
"matplotlib>=3.9.2,<4.0",
|
|
"mlx>=0.20.0,<1.0",
|
|
"numpy>=2.0.1,<3.0",
|
|
"opencv-python>=4.10.0,<5.0",
|
|
"piexif>=1.1.3,<2.0",
|
|
"pillow>=10.4.0,<11.0; python_version<'3.13'",
|
|
"pillow>=11.0,<12.0; python_version>='3.13'",
|
|
"safetensors>=0.4.4,<1.0",
|
|
# python 3.13 workaround for now:
|
|
# use temporary community build of py13 wheel, use until official project build
|
|
# uv pip install https://github.com/anthonywu/sentencepiece/releases/download/0.2.1-py13dev/sentencepiece-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
|
|
"sentencepiece>=0.2.0,<1.0; python_version<'3.13'",
|
|
"tokenizers>=0.20.3; python_version>='3.13'", # transformers -> tokenizers
|
|
"toml>=0.10.2,<1.0",
|
|
"torch>=2.3.1,<3.0; python_version<'3.13'",
|
|
# torch dev builds: pip install --pre --index-url https://download.pytorch.org/whl/nightly
|
|
"torch>=2.6.0.dev20241106; python_version>='3.13'",
|
|
"tqdm>=4.66.5,<5.0",
|
|
"transformers>=4.44.0,<5.0",
|
|
]
|
|
classifiers = [
|
|
"Intended Audience :: Developers",
|
|
"Operating System :: MacOS",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Programming Language :: Python :: 3.13",
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=8.3.0,<9.0",
|
|
"pytest-timer>=1.0,<2.0",
|
|
]
|
|
|
|
[project.urls]
|
|
homepage = "https://github.com/filipstrand/mflux"
|
|
|
|
[project.scripts]
|
|
mflux-generate = "mflux.generate:main"
|
|
mflux-generate-controlnet = "mflux.generate_controlnet:main"
|
|
mflux-save = "mflux.save:main"
|
|
mflux-train = "mflux.train:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
include = ["mflux*"]
|
|
|
|
[tool.ruff]
|
|
line-length = 120
|
|
indent-width = 4
|
|
target-version = "py310"
|
|
respect-gitignore = true
|
|
|
|
[tool.ruff.lint]
|
|
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
|
|
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
|
|
# McCabe complexity (`C901`) by default.
|
|
select = ["BLE", "E4", "E7", "E9", "F", "I", "ICN", "LOG", "PERF", "W"]
|
|
ignore = []
|
|
|
|
# Allow fix for all enabled rules (when `--fix`) is provided.
|
|
fixable = ["ALL"]
|
|
unfixable = []
|
|
|
|
# Allow unused variables when underscore-prefixed.
|
|
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
|
|
|
|
[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"
|
|
|
|
# Enable auto-formatting of code examples in docstrings. Markdown,
|
|
# reStructuredText code/literal blocks and doctests are all supported.
|
|
#
|
|
# This is currently disabled by default, but it is planned for this
|
|
# to be opt-out in the future.
|
|
docstring-code-format = false
|
|
|
|
# Set the line length limit used when formatting code snippets in
|
|
# docstrings.
|
|
#
|
|
# This only has an effect when the `docstring-code-format` setting is
|
|
# enabled.
|
|
docstring-code-line-length = "dynamic"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = "test_*.py"
|
|
addopts = "-v --exitfirst --failed-first --showlocals --tb=long --full-trace"
|
|
|
|
# https://docs.astral.sh/ruff/settings/#lintisort
|
|
[tool.ruff.lint.isort]
|
|
case-sensitive = false
|
|
combine-as-imports = true
|
|
force-wrap-aliases = true
|
|
from-first = false
|
|
known-first-party = ["src"]
|
|
relative-imports-order = "furthest-to-closest"
|
|
section-order = [
|
|
"future",
|
|
"standard-library",
|
|
"third-party",
|
|
"first-party",
|
|
"local-folder",
|
|
]
|