Harden packaging for a public release

Add the GPLv3 text (the package declared the licence but never shipped it),
a py.typed marker, and an sdist include/exclude allowlist so the distribution
carries only src/, docs/, README, LICENSE and pyproject. reference/ is a clone
of the GPL FreeRouting Java tree kept purely as a porting reference and must
never be redistributed inside this package; tests, caches and build output are
excluded too.

Switch to the PEP 639 SPDX licence expression with license-files, widen the
classifiers, and add an -o alias for -do. Rewrite the README around the engine
matrix: what each track and pass actually does, and what this is not (no
FreeRouting density parity on dense boards, and --diagonal is a recovery and
shortening pass, not a diagonal-native search).
This commit is contained in:
2026-07-13 18:17:13 -06:00
parent 758ba1fbe3
commit bf868b7b05
6 changed files with 853 additions and 20 deletions
+6
View File
@@ -29,6 +29,12 @@ def test_cli_jar_compatible_flags_write_ses(tmp_path):
assert "(net" in text and "(wire" in text
def test_cli_short_output_alias(tmp_path):
out = tmp_path / "out.ses"
assert main([str(FIXTURE), "-o", str(out)]) == 0
assert out.read_text().startswith("(session")
def test_cli_positional_input_to_stdout(capsys):
rc = main([str(FIXTURE)])
assert rc == 0