Files
familiar/pyproject.toml
T
LatteandClaude Opus 4.8 eb6440db40
CI / lint (pull_request) Successful in 51s
CI / lint (push) Successful in 50s
CI / test (pull_request) Successful in 57s
CI / publish (pull_request) Has been skipped
CI / test (push) Successful in 57s
CI / publish (push) Successful in 50s
Phase 2: EVE SSO auth + read-only account tools
Add PKCE OAuth2 login against EVE SSO with an encrypted, auto-refreshing
token store, driven by `familiar login` / `status` / `logout` CLI commands.
The MCP server gains authenticated account tools:

- account_status, get_wallet, get_skills, get_skill_queue
- get_location, get_clones, get_assets (paginated)

ESI client extended with Bearer auth and X-Pages pagination. 51 tests
(auth + account mocked), coverage 88%. Client id/callback/scopes are
env-overridable; refresh token Fernet-encrypted on disk.

Closes #7

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 18:32:47 +02:00

47 lines
911 B
TOML

[project]
name = "familiar"
version = "0.0.1"
description = "Your familiar across New Eden — a read-only EVE Online MCP server."
readme = "README.md"
requires-python = ">=3.11"
license = { file = "LICENSE" }
dependencies = [
"fastmcp>=2.3.0",
"httpx>=0.27.0",
"cryptography>=42.0.0",
]
[project.scripts]
familiar = "familiar.__main__:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/familiar"]
[dependency-groups]
dev = [
"pytest>=8.0.0",
"pytest-cov>=5.0.0",
"ruff>=0.6.0",
]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "--cov=familiar --cov-report=term-missing --cov-fail-under=80"
[tool.coverage.run]
source = ["familiar"]
omit = ["*/__main__.py"]
[tool.coverage.report]
exclude_also = [
"if __name__ == .__main__.:",
]