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, (
|
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}"
|
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"
|
description = "Web-based tmux session dashboard — access all your tmux sessions from any browser"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
license = { text = "MIT" }
|
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"
|
requires-python = ">=3.11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"fastapi>=0.115.0",
|
"fastapi>=0.115.0",
|
||||||
|
|||||||
Reference in New Issue
Block a user