[project] name = "oterm" version = "0.5.0" 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.78.0", "typer>=0.12.4", "python-dotenv>=1.0.1", "aiosql>=11.1", "aiosqlite>=0.20.0", "pyperclip>=1.9.0", "packaging>=24.1", "rich-pixels>=3.0.1", "pillow>=10.4.0", "ollama>=0.3.1", ] [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.6.1", "pdbpp", "pytest>=8.3.2", "pytest-asyncio>=0.23.8", "textual-dev>=1.5.1", "homebrew-pypi-poet>=0.10.0", ] [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"