pyproject.toml•2.19 kB
[build-system]
requires = ["setuptools>=45", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "obsidian-mcp-server"
version = "0.1.0"
description = "MCP server for Obsidian vault full-text search"
authors = [{name = "User", email = "user@example.com"}]
readme = "README.md"
requires-python = ">=3.12"
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
]
dependencies = [
"mcp>=1.12.0",
"whoosh>=2.7.4",
"python-frontmatter>=1.1.0",
"watchdog>=3.0.0",
"pydantic>=2.5.0",
"click>=8.0.0",
"sentence-transformers>=2.2.0",
"chromadb>=0.4.0",
"numpy>=1.24.0",
"portalocker>=3.0.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=1.1.0",
"pytest-cov>=4.0.0",
"coverage>=7.0.0",
"black>=23.0.0",
"isort>=5.12.0",
"mypy>=1.7.0",
"types-PyYAML>=6.0.0",
]
[project.scripts]
obsidian-mcp-server = "obsidian_mcp.server:main"
[tool.setuptools.packages.find]
where = ["src"]
[tool.setuptools.package-dir]
"" = "src"
[tool.black]
line-length = 88
target-version = ['py312']
[tool.isort]
profile = "black"
line_length = 88
[tool.mypy]
python_version = "3.12"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_any_generics = true
disallow_untyped_calls = true
warn_redundant_casts = true
warn_unused_ignores = true
strict_optional = true
no_implicit_reexport = true
show_error_codes = true
# Handle third-party libraries without stubs
[[tool.mypy.overrides]]
module = [
"frontmatter.*",
"whoosh.*",
"chromadb.*",
"sentence_transformers.*",
"watchdog.*",
"mcp.*",
"click.*",
"portalocker.*"
]
ignore_missing_imports = true
# Less strict for test files
[[tool.mypy.overrides]]
module = "tests.*"
disallow_untyped_defs = false
disallow_untyped_calls = false