oterm/pyproject.toml
Yiorgis Gozadinos b89f3f8c68 vb
2025-03-15 16:55:16 +01:00

94 lines
2.5 KiB
TOML

[project]
name = "oterm"
version = "0.9.2"
description = "A text-based terminal client for Ollama."
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
license = { text = "MIT" }
readme = { file = "README.md", content-type = "text/markdown" }
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Intended Audience :: Developers",
"Operating System :: Microsoft :: Windows :: Windows 10",
"Operating System :: Microsoft :: Windows :: Windows 11",
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Typing :: Typed",
]
requires-python = ">=3.10"
dependencies = [
"textual>=1.0.0,<1.1",
"typer>=0.15.1,<0.16",
"python-dotenv>=1.0.1",
"aiosql>=13.2,<14",
"aiosqlite>=0.21.0,<0.22",
"packaging>=24.2,<25",
"rich-pixels>=3.0.1",
"pillow>=11.0.0,<12",
"ollama>=0.4.7,<0.5",
"textualeffects>=0.1.3",
"pydantic>=2.10.1,<2.11",
"mcp[cli]>=1.3.0",
"jinja2>=3.1.5",
]
[project.urls]
Homepage = "https://github.com/ggozad/oterm"
Repository = "https://github.com/ggozad/oterm"
Issues = "https://github.com/ggozad/oterm/issues"
Documentation = "https://ggozad.github.io/oterm/"
[project.scripts]
oterm = "oterm.cli.oterm:cli"
oterm-command = "oterm.cli.command:cli"
[tool.uv]
dev-dependencies = [
"ruff>=0.9.4",
"pdbpp",
"pytest>=8.3.4",
"pytest-asyncio>=0.25.3",
"textual-dev>=1.7.0",
"homebrew-pypi-poet>=0.10.0",
"mkdocs>=1.6.1",
"mkdocs-material>=9.6.5",
]
[tool.uv.sources]
[tool.ruff]
line-length = 88
# Enable Flake's "E" and "F" codes by default and "I" for sorting imports.
lint.select = ["E", "F", "I"]
lint.ignore = ["E501", "E741"] # E741 should not be ignored
lint.per-file-ignores = { "__init__.py" = ["F401", "F403"] }
# Allow unused variables when underscore-prefixed.
lint.dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
# Exclude a variety of commonly ignored directories.
exclude = [
".direnv",
".eggs",
".git",
".mypy_cache",
".ruff_cache",
".venv",
"__pypackages__",
".cache",
"_build",
"build",
"dist",
"venv",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.sdist]
exclude = ["/screenshots", "/examples"]
[tool.hatch.build.targets.wheel]
only-packages = true