MCP Terminal Server
by dillip285
- py
[project]
dependencies = [
"dotpromptz",
"genkit",
"genkit-chroma-plugin",
"genkit-firebase-plugin",
"genkit-google-ai-plugin",
"genkit-google-cloud-plugin",
"genkit-ollama-plugin",
"genkit-pinecone-plugin",
"genkit-vertex-ai-plugin",
]
description = "Workspace for Genkit packages"
license = { text = "Apache-2.0" }
name = "genkit-workspace"
readme = "README.md"
requires-python = ">=3.12"
version = "0.1.0"
[dependency-groups]
dev = [
"bpython>=0.25",
"ipython>=8.32.0",
"jupyter>=1.1.1",
"pytest-asyncio>=0.25.3",
"pytest>=8.3.4",
"pytest-cov>=6.0.0",
"datamodel-code-generator>=0.27.3",
"pytest-watcher>=0.4.3",
]
lint = ["mypy>=1.15", "ruff>=0.9"]
[tool.hatch.build.targets.wheel]
packages = []
[tool.setuptools]
py-modules = []
# Pytest for unit testing and coverage.
[tool.pytest]
asyncio_default_fixture_loop_scope = "function"
asyncio_mode = "strict"
python_files = [
"packages/**/*_test.py",
"plugins/**/*_test.py",
"samples/**/*_test.py",
]
testpaths = ["packages", "plugins", "samples"]
[tool.pytest.ini_options]
addopts = "--cov"
[tool.coverage.report]
fail_under = 82
# uv based package management.
[tool.uv]
default-groups = ["dev", "lint"]
[tool.uv.sources]
basic-gemini = { workspace = true }
coffee-shop = { workspace = true }
context-caching = { workspace = true }
dotpromptz = { git = "https://github.com/google/dotprompt.git", subdirectory = "python/dotpromptz", rev = "main" }
flow-sample1 = { workspace = true }
genkit = { workspace = true }
genkit-chroma-plugin = { workspace = true }
genkit-firebase-plugin = { workspace = true }
genkit-google-ai-plugin = { workspace = true }
genkit-google-cloud-plugin = { workspace = true }
genkit-ollama-plugin = { workspace = true }
genkit-pinecone-plugin = { workspace = true }
genkit-vertex-ai-plugin = { workspace = true }
hello = { workspace = true }
menu = { workspace = true }
prompt-file = { workspace = true }
rag = { workspace = true }
vertex-ai-model-garden = { workspace = true }
vertex-ai-reranker = { workspace = true }
vertex-ai-vector-search = { workspace = true }
[tool.uv.workspace]
members = ["packages/*", "plugins/*", "samples/*"]
# Ruff checks and formatting.
[tool.ruff]
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"bazel-*",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
]
indent-width = 4
line-length = 80
target-version = "py312"
[tool.ruff.lint]
fixable = ["ALL"]
select = [
"E", # pycodestyle (errors)
"W", # pycodestyle (warnings)
"F", # pyflakes
"I", # isort (import sorting)
"UP", # pyupgrade (Python version upgrades)
"B", # flake8-bugbear (common bugs)
"N", # pep8-naming (naming conventions)
]
[tool.ruff.format]
docstring-code-format = true
indent-style = "space"
line-ending = "lf"
quote-style = "single"
skip-magic-trailing-comma = false
# Static type checking.
[tool.mypy]
disallow_incomplete_defs = true
disallow_untyped_defs = true
explicit_package_bases = true
mypy_path = [
"packages/genkit/src",
"plugins/chroma/src",
"plugins/firebase/src",
"plugins/google-ai/src",
"plugins/google-cloud/src",
"plugins/ollama/src",
"plugins/pinecone/src",
"plugins/vertex-ai/src",
"samples/basic-gemini/src",
"samples/coffee-shop/src",
"samples/context-caching/src",
"samples/flow-sample1/src",
"samples/hello/src",
"samples/menu/src",
"samples/prompt-file/src",
"samples/rag/src",
"samples/vertex-ai-model-garden/src",
"samples/vertex-ai-reranker/src",
"samples/vertex-ai-vector-search/src",
]
namespace_packages = true
strict = true
warn_unused_configs = true
[tool.datamodel-codegen]
#collapse-root-models = true # Don't use; produces Any as types.
#strict-types = ["str", "int", "float", "bool", "bytes"] # Don't use; produces StrictStr, StrictInt, etc.
#use-subclass-enum = true
capitalize-enum-members = true
disable-timestamp = true
enable-version-header = true
field-constraints = true
input = "../genkit-tools/genkit-schema.json"
input-file-type = "jsonschema"
output = "packages/genkit/src/genkit/core/schema_types.py"
output-model-type = "pydantic_v2.BaseModel"
snake-case-field = true
strict-nullable = true
target-python-version = "3.12"
use-default = false
use-schema-description = true
use-standard-collections = true
use-union-operator = true
use-unique-items-as-set = true