[project] name = "oterm" version = "0.8.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>=0.86.3,<0.87", "typer>=0.13.0,<0.14", "python-dotenv>=1.0.1", "aiosql>=13.0,<14", "aiosqlite>=0.20.0,<0.21", "pyperclip>=1.9.0,<1.10", "packaging>=24.2,<25", "rich-pixels>=3.0.1", "pillow>=11.0.0,<12", "ollama>=0.4.4,<0.5", "textualeffects>=0.1.3", "textual-dev>=1.6.1", "pydantic>=2.10.1,<2.11", "mcp[cli]>=1.2.0", ] [project.urls] Homepage = "https://github.com/ggozad/oterm" Repository = "https://github.com/ggozad/oterm" Issues = "https://github.com/ggozad/oterm/issues" [project.scripts] oterm = "oterm.cli.oterm:cli" [tool.uv] dev-dependencies = [ "ruff>=0.7.3", "pdbpp", "pytest>=8.3.2", "pytest-asyncio>=0.23.8", "textual-dev>=1.5.1", "homebrew-pypi-poet>=0.10.0", ] [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