maestral/pyproject.toml
2024-09-14 13:34:11 +02:00

110 lines
2.5 KiB
TOML

[build-system]
requires = ["setuptools>=61.2", "build"]
build-backend = "setuptools.build_meta"
[project]
name = "maestral"
version = "1.9.4"
authors = [{ name = "Sam Schott", email = "sam.schott@outlook.com" }]
license = { text = "MIT" }
description = "Open-source Dropbox client for macOS and Linux."
classifiers = [
"License :: OSI Approved :: MIT License",
"Operating System :: Unix",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3 :: Only",
]
urls = { Homepage = "https://maestral.app" }
requires-python = ">=3.8"
dependencies = [
"click>=8.0.2",
"desktop-notifier>=5.0.0",
"dropbox>=11.28.0,<13.0",
"fasteners>=0.15",
"keyring>=22",
"keyrings.alt>=3.1.0",
"importlib_metadata>3.6",
"packaging",
"pathspec>=0.5.8",
"Pyro5>=5.10",
"requests>=2.16.2",
"rich",
"rubicon-objc>=0.4.1;sys_platform=='darwin'",
"setuptools",
"survey>=4.0,<6.0",
"typing_extensions",
"watchdog>=2.0.1",
"xattr",
]
[project.readme]
file = "README.md"
content-type = "text/markdown"
[project.optional-dependencies]
gui = [
"maestral-qt>=1.9.4;sys_platform=='linux'",
"maestral-cocoa>=1.9.4;sys_platform=='darwin'",
]
syslog = ["systemd-python"]
lint = [
"black",
"flake8",
"flake8-pyproject",
"isort",
"mypy",
"pyupgrade",
"types-requests",
"types-setuptools",
]
test = [
"pytest",
"pytest-benchmark",
"pytest-cov",
"pytest-rerunfailures",
]
docs = [
"furo==2024.8.6",
"sphinx==7.4.7",
"sphinxext-opengraph==0.9.1",
"sphinx-autoapi==3.3.1",
"sphinx-mdinclude==0.6.2",
]
dev = [
"bump2version",
"maestral[lint,test]",
]
[project.scripts]
maestral = "maestral.cli:main"
[tool.setuptools.data-files]
"share/icons/hicolor/512x512/apps" = ["src/maestral/resources/maestral.png"]
[tool.flake8]
ignore = "E203,E501,E704,W503,H306"
statistics = "True"
[tool.mypy]
python_version = "3.8"
strict = true
# Disable some strict flags because of untyped dependencies:
disallow_subclassing_any = false
disallow_untyped_calls = false
warn_return_any = false
ignore_missing_imports = true
[tool.black]
line-length = 88
target-version = ["py38", "py39", "py310", "py311", "py312"]
[tool.isort]
profile = "black"