[project] name = "oterm" version = "0.9.3" 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