hatch.toml•2.58 kB
[envs.all]
[[envs.all.matrix]]
python = ["3.10", "3.11", "3.12", "3.13", "3.14"]
[envs.changelog]
dependencies = ["scriv"]
detached = true
installer = "uv"
scripts = {add = "scriv create --add", collect = ["scriv collect --add", "- pre-commit run --files=CHANGELOG.md > /dev/null"]}
[envs.default]
dependencies = [
"coverage[toml]>=6.5",
"pytest",
"pytest-mock",
"pytest-rerunfailures",
"pytest-split",
"jupyter"
]
installer = "uv"
[envs.default.scripts]
lint = "pre-commit run {args} --all-files"
pip = '"{env:HATCH_UV}" pip {args}'
prep-release = [
"hatch version release",
"hatch run changelog:collect",
"hatch run changelog:add",
'echo "Now raise a PR to merge into main with title: [Release] Release of vizro-mcp $(hatch version)"'
]
pypath = "python -c 'import sys; print(sys.executable)'"
test = "pytest tests --headless {args}"
test-unit = "pytest tests/unit {args}"
test-unit-coverage = [
"coverage run -m pytest tests/unit {args}",
"- coverage combine",
"coverage report"
]
[envs.docs]
dependencies = [
"mkdocs>=1.6",
"mkdocs-material",
"mkdocs-git-revision-date-localized-plugin>=1.2.5",
"mkdocstrings[python]",
"linkchecker",
"mkdocs-pycafe",
"mkdocs-glightbox",
"vizro"
]
detached = true
installer = "uv"
[envs.docs.scripts]
build = "mkdocs build --strict"
# Disable warnings on the linkcheck so that HTTP redirects are accepted. We could ignore only that warning and specify
# more advanced settings using a linkcheckerrc config file. openai.com doesn't seem to work well with linkchecking,
# throwing 403 errors, but these are not real errors.
# Ignoring urls for installing config to cursor and vscode using regular expressions.
# Ignoring https://claude.ai/download page because it hase self signed ssl certificate, but linkcheker doesn't have an
# option to ignore ssl for specific website.
link-check = '''
linkchecker site \
--check-extern \
--no-warnings \
--ignore=404.html \
--ignore-url=http://localhost:8050 \
--ignore-url=127.0.0.1 \
--ignore-url=https://vizro.readthedocs.io/ \
--ignore-url="^https://cursor\.com/install-mcp\?name=vizro-mcp&config=(.+)$" \
--ignore-url="^https://insiders\.vscode\.dev/redirect/mcp/install\?name=vizro-mcp&config=(.+)$" \
--ignore-url=https://claude.ai/download
'''
links-in-prompts-check = '''
python ../tools/check_vizro_docs_links_in_mcp_prompts.py
'''
pip = '"{env:HATCH_UV}" pip {args}'
pycafe-links = "../tools/pycafe/docs_links_filtering.sh"
serve = "mkdocs serve --open"
[publish.index]
disable = true
[version]
path = "src/vizro_mcp/__init__.py"