[build-system] requires = ["setuptools>=64"] build-backend = "setuptools.build_meta" [project] name = "zspace-cli" version = "0.1.3" description = "Agent Skill + zero-config CLI/SDK/MCP for ZSpace (极空间) NAS — no password, no SSH" readme = "README.md" license = "MIT" requires-python = ">=3.9" authors = [ { name = "skyzhao" }, ] keywords = ["zspace", "nas", "cli", "sdk", "mcp", "极空间", "file-manager"] classifiers = [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: System :: Filesystems", "Topic :: Utilities", ] dependencies = [ "httpx>=0.24", "typer>=0.9", "rich>=13.0", ] [project.optional-dependencies] mcp = ["mcp>=2.0; python_version >= '3.10'"] dev = [ "pytest>=7.0", "pytest-asyncio>=0.21", "pytest-cov>=5.0", "pytest-xdist>=3.0", "ruff>=0.4", "pyright>=1.1.380", ] [project.urls] Homepage = "https://github.com/skyzhao1223/zspace-cli" Documentation = "https://github.com/skyzhao1223/zspace-cli#readme" Repository = "https://github.com/skyzhao1223/zspace-cli" Issues = "https://github.com/skyzhao1223/zspace-cli/issues" [project.scripts] zs = "zspace_cli.cli:app" zs-mcp = "zspace_cli.mcp_server:main" [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] # Ship Agent skills inside the wheel so `zs skill` can install them. "zspace_cli.skills" = ["**/*"] [tool.ruff] target-version = "py39" line-length = 100 exclude = ["src/zspace_cli/skills"] [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] [tool.ruff.lint.per-file-ignores] # typer must resolve annotations at runtime on py3.9, so keep Optional here. "src/zspace_cli/cli.py" = ["UP007", "UP045"] [tool.pytest.ini_options] testpaths = ["tests"] asyncio_mode = "auto" addopts = "--cov=src/zspace_cli --cov-report=term-missing --cov-fail-under=75 -n auto" [tool.coverage.run] branch = true source = ["src/zspace_cli"] parallel = true [tool.pyright] include = ["src"] pythonVersion = "3.9" typeCheckingMode = "basic" reportMissingTypeStubs = "none"