[project] name = "rustfs-s3-toolkit" version = "0.2.1" description = "RustFS S3 Storage Toolkit - A simple and powerful toolkit for RustFS and other S3-compatible object storage operations" readme = "README.md" authors = [ { name = "mm644706215", email = "ze.ga@qq.com" } ] requires-python = ">=3.11" dependencies = [ "boto3>=1.39.0", "fastmcp>=2.10.6", ] keywords = ["rustfs", "s3", "object-storage", "file-management", "cloud-storage", "toolkit"] classifiers = [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Archiving", "Topic :: Internet :: File Transfer Protocol (FTP)", "Topic :: System :: Filesystems", ] [project.urls] Homepage = "https://github.com/mm644706215/rustfs-s3-toolkit" Repository = "https://github.com/mm644706215/rustfs-s3-toolkit" Documentation = "https://github.com/mm644706215/rustfs-s3-toolkit#readme" Issues = "https://github.com/mm644706215/rustfs-s3-toolkit/issues" [project.optional-dependencies] dev = [ # 测试工具 "pytest>=8.0.0", "pytest-asyncio>=1.1.0", "pytest-cov>=6.0.0", "coverage[toml]>=7.9.0", # 多版本测试 "tox>=4.28.0", # 代码格式化 "black>=25.0.0", "isort>=6.0.0", # 代码检查 "flake8>=7.3.0", "mypy>=1.17.0", # 打包工具 (仅开发环境需要) "build>=1.2.0", "twine>=6.1.0", "setuptools>=80.0.0", "wheel>=0.45.0", # 文档工具 "sphinx>=8.2.0", "sphinx-rtd-theme>=3.0.0", ] test = [ "pytest>=8.0.0", "pytest-cov>=6.0.0", "pytest-asyncio>=1.1.0", ] [build-system] requires = ["setuptools>=68.0.0", "wheel>=0.40.0"] build-backend = "setuptools.build_meta" # 工具配置 [tool.black] line-length = 88 target-version = ['py39'] include = '\.pyi?$' extend-exclude = ''' /( # directories \.eggs | \.git | \.hg | \.mypy_cache | \.tox | \.venv | build | dist )/ ''' [tool.isort] profile = "black" multi_line_output = 3 line_length = 88 known_first_party = ["rustfs_s3_toolkit"] [tool.pytest.ini_options] minversion = "7.0" addopts = "-ra -q --strict-markers --strict-config" testpaths = ["tests"] python_files = ["test_*.py", "*_test.py"] python_classes = ["Test*"] python_functions = ["test_*"] [tool.mypy] python_version = "3.9" warn_return_any = true warn_unused_configs = true disallow_untyped_defs = true disallow_incomplete_defs = true check_untyped_defs = true disallow_untyped_decorators = true no_implicit_optional = true warn_redundant_casts = true warn_unused_ignores = true warn_no_return = true warn_unreachable = true strict_equality = true