105 lines
2.7 KiB
TOML
105 lines
2.7 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=77.0", "wheel"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "cmdforge"
|
|
version = "0.2.0"
|
|
description = "Build, compose, and share AI-powered command-line tools you own"
|
|
readme = "PYPI_README.md"
|
|
license = "MIT"
|
|
license-files = ["LICENSE"]
|
|
requires-python = ">=3.10"
|
|
authors = [
|
|
{name = "Rob"}
|
|
]
|
|
keywords = ["ai", "cli", "tools", "automation", "llm", "terminal", "unix", "pipe"]
|
|
classifiers = [
|
|
"Development Status :: 4 - Beta",
|
|
"Environment :: Console",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: System Administrators",
|
|
"Operating System :: POSIX :: Linux",
|
|
"Operating System :: MacOS",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Utilities",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"Topic :: Text Processing",
|
|
]
|
|
dependencies = [
|
|
"PyYAML>=6.0",
|
|
"requests>=2.28",
|
|
"PySide6>=6.5",
|
|
"NodeGraphQt>=0.6.0",
|
|
"setuptools", # Required for distutils compatibility (Python 3.12+)
|
|
"jsonschema>=4.0", # JSON schema validation for structured output
|
|
"cryptography>=41.0", # Ed25519 release attestations
|
|
]
|
|
|
|
[project.optional-dependencies]
|
|
dev = [
|
|
"pytest>=7.0",
|
|
"pytest-cov>=4.0",
|
|
"tomli>=1.1; python_version < '3.11'",
|
|
]
|
|
release = [
|
|
"build>=1.2",
|
|
"twine>=6.0",
|
|
]
|
|
registry = [
|
|
"Flask>=2.3",
|
|
"argon2-cffi>=21.0",
|
|
"sentry-sdk[flask]>=1.0",
|
|
"gunicorn>=21.0",
|
|
]
|
|
flow = [
|
|
"NodeGraphQt-QuiltiX-fork[pyside6]>=0.7.0",
|
|
"setuptools", # Required for distutils compatibility
|
|
]
|
|
pty = [
|
|
"pexpect>=4.8", # For PTY providers (interactive CLIs like Aider)
|
|
]
|
|
mcp = [
|
|
"mcp>=1.27,<2", # Model Context Protocol support (McpStep)
|
|
]
|
|
all = [
|
|
"Flask>=2.3",
|
|
"argon2-cffi>=21.0",
|
|
"sentry-sdk[flask]>=1.0",
|
|
"gunicorn>=21.0",
|
|
"NodeGraphQt-QuiltiX-fork[pyside6]>=0.7.0",
|
|
"setuptools",
|
|
"pexpect>=4.8",
|
|
"mcp>=1.27,<2",
|
|
]
|
|
|
|
[project.scripts]
|
|
cmdforge = "cmdforge.cli:main"
|
|
cf = "cmdforge.cli.picker:main"
|
|
|
|
[project.urls]
|
|
Homepage = "https://cmdforge.brrd.tech"
|
|
Documentation = "https://cmdforge.brrd.tech/docs"
|
|
Repository = "https://gitea.brrd.tech/rob/CmdForge.git"
|
|
Issues = "https://gitea.brrd.tech/rob/CmdForge/issues"
|
|
Changelog = "https://gitea.brrd.tech/rob/CmdForge/src/branch/main/CHANGELOG.md"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["src"]
|
|
|
|
[tool.setuptools.package-data]
|
|
"cmdforge.web" = [
|
|
"templates/**/*.html",
|
|
"static/**/*",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
pythonpath = ["src"]
|
|
markers = [
|
|
"integration: marks tests as integration tests (require running server)",
|
|
]
|