diff --git a/muxplex/tests/test_cli.py b/muxplex/tests/test_cli.py index 2716096..338137a 100644 --- a/muxplex/tests/test_cli.py +++ b/muxplex/tests/test_cli.py @@ -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 diff --git a/pyproject.toml b/pyproject.toml index 06f7167..4f45926 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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",