feat: add PyPI metadata — authors, classifiers, keywords
This commit is contained in:
@@ -2053,3 +2053,37 @@ def test_doctor_tls_nudge_hidden_on_localhost(capsys, tmp_path, monkeypatch):
|
||||
assert "muxplex setup-tls" not in out, (
|
||||
f"TLS nudge must NOT appear in doctor output when host is 127.0.0.1, got: {out!r}"
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# task-1-pypi-metadata: pyproject.toml metadata tests
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def test_pyproject_has_authors():
|
||||
import tomllib
|
||||
pyproject = Path(__file__).resolve().parents[2] / "pyproject.toml"
|
||||
data = tomllib.loads(pyproject.read_text())
|
||||
authors = data["project"].get("authors", [])
|
||||
assert len(authors) >= 1
|
||||
assert "name" in authors[0]
|
||||
assert "email" in authors[0]
|
||||
|
||||
|
||||
def test_pyproject_has_classifiers():
|
||||
import tomllib
|
||||
pyproject = Path(__file__).resolve().parents[2] / "pyproject.toml"
|
||||
data = tomllib.loads(pyproject.read_text())
|
||||
classifiers = data["project"].get("classifiers", [])
|
||||
assert len(classifiers) >= 3
|
||||
texts = " ".join(classifiers)
|
||||
assert "License" in texts
|
||||
assert "Python :: 3" in texts
|
||||
|
||||
|
||||
def test_pyproject_has_keywords():
|
||||
import tomllib
|
||||
pyproject = Path(__file__).resolve().parents[2] / "pyproject.toml"
|
||||
data = tomllib.loads(pyproject.read_text())
|
||||
keywords = data["project"].get("keywords", [])
|
||||
assert len(keywords) >= 3
|
||||
|
||||
@@ -8,6 +8,20 @@ version = "0.1.0"
|
||||
description = "Web-based tmux session dashboard — access all your tmux sessions from any browser"
|
||||
readme = "README.md"
|
||||
license = { text = "MIT" }
|
||||
authors = [{name = "Brian Krabach", email = "brian@krabach.com"}]
|
||||
classifiers = [
|
||||
"Development Status :: 4 - Beta",
|
||||
"License :: OSI Approved :: MIT License",
|
||||
"Programming Language :: Python :: 3",
|
||||
"Programming Language :: Python :: 3.11",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Programming Language :: Python :: 3.13",
|
||||
"Topic :: System :: Systems Administration",
|
||||
"Topic :: Terminals :: Terminal Emulators/X Terminals",
|
||||
"Environment :: Web Environment",
|
||||
"Framework :: FastAPI",
|
||||
]
|
||||
keywords = ["tmux", "terminal", "dashboard", "web", "session-manager"]
|
||||
requires-python = ">=3.11"
|
||||
dependencies = [
|
||||
"fastapi>=0.115.0",
|
||||
|
||||
Reference in New Issue
Block a user