pbi-cli/pyproject.toml
MinaSaad1 170413cf22 feat: initial pbi-cli project with all 20+ command groups
Complete CLI framework for Power BI semantic models via MCP server:

- Core: MCP client (stdio via mcp SDK), binary manager (VSIX download),
  config, connection store, dual output (JSON + Rich)
- Commands: setup, connect, dax, measure, table, column, relationship,
  model, database, security-role, calc-group, partition, perspective,
  hierarchy, expression, calendar, trace, transaction, advanced
- Binary resolution: env var > managed > VS Code extension fallback
- Global --json flag for agent consumption
2026-03-26 13:05:53 +02:00

73 lines
1.8 KiB
TOML

[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "pbi-cli"
version = "0.1.0"
description = "CLI for Power BI semantic models - wraps the Power BI MCP server for token-efficient AI agent usage"
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
authors = [
{name = "pbi-cli contributors"},
]
keywords = ["power-bi", "cli", "mcp", "semantic-model", "dax", "claude-code"]
classifiers = [
"Development Status :: 3 - Alpha",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Database",
"Topic :: Software Development :: Libraries",
]
dependencies = [
"click>=8.0.0",
"mcp>=1.20.0",
"rich>=13.0.0",
"httpx>=0.24.0",
"prompt-toolkit>=3.0.0",
]
[project.scripts]
pbi = "pbi_cli.main:cli"
[project.urls]
Homepage = "https://github.com/pbi-cli/pbi-cli"
Repository = "https://github.com/pbi-cli/pbi-cli"
Issues = "https://github.com/pbi-cli/pbi-cli/issues"
[project.optional-dependencies]
dev = [
"pytest>=7.0",
"pytest-cov>=4.0",
"pytest-asyncio>=0.21",
"ruff>=0.4.0",
"mypy>=1.10",
]
[tool.setuptools.packages.find]
where = ["src"]
[tool.ruff]
target-version = "py310"
line-length = 100
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W", "UP"]
[tool.pytest.ini_options]
testpaths = ["tests"]
markers = [
"e2e: end-to-end tests requiring real Power BI binary",
]
[tool.mypy]
python_version = "3.10"
strict = true