algobattle-base 4.3.0__tar.gz → 4.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/PKG-INFO +9 -9
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/cli.py +3 -4
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/pyproject.toml +8 -8
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/LICENSE +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/README.md +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/__init__.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/battle.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/match.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/problem.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/program.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/py.typed +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/__init__.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/c/.gitignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/c/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/c/src/CMakeLists.txt +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/c/src/main.c +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/cpp/.gitignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/cpp/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/cpp/src/CMakeLists.txt +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/cpp/src/main.cpp +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/csharp/Dockerfile.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/csharp/Program.cs +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/csharp/{{program.capitalize()}}.csproj +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/go/.gitignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/go/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/go/go.mod.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/go/main.go +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/java/.dockerignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/java/.gitignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/java/Dockerfile.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/java/pom.xml.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/java/src/main/java/com/{{team_normalized}}/{{program.capitalize()}}.java.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/javascript/.gitignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/javascript/Dockerfile.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/javascript/package-lock.json.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/javascript/package.json.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/javascript/{{program}}.mjs.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/plain/Dockerfile.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/problem.py.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/python/.gitignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/python/Dockerfile.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/python/pyproject.toml.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/python/{{program}}.py.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/rust/.gitignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/rust/Cargo.toml.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/rust/Dockerfile.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/rust/src/main.rs.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/typescript/.gitignore +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/typescript/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/typescript/package-lock.json.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/typescript/package.json.jinja +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/typescript/src/main.ts +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/typescript/tsconfig.json +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/types.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/util.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/README.md +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/__init__.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/configs/empty.toml +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/configs/teams.toml +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/configs/teams_incorrect.toml +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/configs/test.toml +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/test_battles.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/test_docker.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/test_match.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/test_types.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/test_util.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/README.md +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/__init__.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/build_error/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/build_timeout/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator/instance.json +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_execution_error/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_semantics_error/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_semantics_error/instance.json +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_syntax_error/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_syntax_error/instance.json +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_timeout/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_timeout/instance.json +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/problem.py +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver/solution.json +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_execution_error/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_semantics_error/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_semantics_error/solution.json +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_syntax_error/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_syntax_error/solution.json +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_timeout/Dockerfile +0 -0
- {algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_timeout/solution.json +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: algobattle-base
|
|
3
|
-
Version: 4.3.
|
|
3
|
+
Version: 4.3.2
|
|
4
4
|
Summary: The Algobattle lab course package.
|
|
5
5
|
Author: Imogen Hergeth, Jan Dreier, Henri Lotze
|
|
6
6
|
License: MIT
|
|
@@ -14,13 +14,14 @@ Project-URL: Homepage, https://algobattle.org
|
|
|
14
14
|
Project-URL: Documentation, https://algobattle.org/docs
|
|
15
15
|
Project-URL: Repository, https://github.com/Benezivas/algobattle
|
|
16
16
|
Requires-Python: >=3.11
|
|
17
|
-
Requires-Dist: docker>=7.
|
|
18
|
-
Requires-Dist: pydantic>=2.
|
|
19
|
-
Requires-Dist: anyio>=4.
|
|
20
|
-
Requires-Dist: typer
|
|
21
|
-
Requires-Dist: typing-extensions>=4.
|
|
22
|
-
Requires-Dist: tomlkit>=0.
|
|
23
|
-
Requires-Dist: jinja2>=3.1.
|
|
17
|
+
Requires-Dist: docker>=7.1.0
|
|
18
|
+
Requires-Dist: pydantic>=2.11.9
|
|
19
|
+
Requires-Dist: anyio>=4.11.0
|
|
20
|
+
Requires-Dist: typer>=0.19.2
|
|
21
|
+
Requires-Dist: typing-extensions>=4.15.0
|
|
22
|
+
Requires-Dist: tomlkit>=0.13.3
|
|
23
|
+
Requires-Dist: jinja2>=3.1.6
|
|
24
|
+
Provides-Extra: dev
|
|
24
25
|
Requires-Dist: black>=23.12.1; extra == "dev"
|
|
25
26
|
Requires-Dist: flake8>=6.1.0; extra == "dev"
|
|
26
27
|
Requires-Dist: flake8-docstrings>=1.7.0; extra == "dev"
|
|
@@ -29,7 +30,6 @@ Requires-Dist: mkdocs-material>=9.5.3; extra == "dev"
|
|
|
29
30
|
Requires-Dist: pymdown-extensions>=10.7; extra == "dev"
|
|
30
31
|
Requires-Dist: mkdocstrings[python]>=0.24.0; extra == "dev"
|
|
31
32
|
Requires-Dist: mdx-include>=1.4.2; extra == "dev"
|
|
32
|
-
Provides-Extra: dev
|
|
33
33
|
Description-Content-Type: text/markdown
|
|
34
34
|
|
|
35
35
|
# Algorithmic Battle
|
|
@@ -4,7 +4,6 @@ Provides a command line interface to start matches and observe them. See `battle
|
|
|
4
4
|
"""
|
|
5
5
|
from enum import StrEnum
|
|
6
6
|
from functools import cached_property
|
|
7
|
-
import json
|
|
8
7
|
import operator
|
|
9
8
|
from os import environ
|
|
10
9
|
from pathlib import Path
|
|
@@ -21,7 +20,7 @@ import shutil
|
|
|
21
20
|
from anyio import run as run_async_fn
|
|
22
21
|
from click import Choice
|
|
23
22
|
from click.core import Parameter
|
|
24
|
-
from pydantic import Field, ValidationError
|
|
23
|
+
from pydantic import Field, TypeAdapter, ValidationError
|
|
25
24
|
from typer import Typer, Argument, Option, Abort, get_app_dir, launch
|
|
26
25
|
from rich.console import Group, RenderableType, Console
|
|
27
26
|
from rich.live import Live
|
|
@@ -516,7 +515,7 @@ def test(
|
|
|
516
515
|
config = AlgobattleConfig.from_file(project)
|
|
517
516
|
all_errors: dict[str, TestErrors] = {}
|
|
518
517
|
|
|
519
|
-
for team in config.teams
|
|
518
|
+
for team in config.teams:
|
|
520
519
|
res = test_team(config, team, size)
|
|
521
520
|
if not res.ok():
|
|
522
521
|
all_errors[team] = res
|
|
@@ -524,7 +523,7 @@ def test(
|
|
|
524
523
|
if all_errors:
|
|
525
524
|
err_path = config.project.results.joinpath(f"test-{timestamp()}.json")
|
|
526
525
|
config.project.results.mkdir(parents=True, exist_ok=True)
|
|
527
|
-
err_path.
|
|
526
|
+
err_path.write_bytes(TypeAdapter(dict[str, TestErrors]).dump_json(all_errors, indent=2, exclude_defaults=True))
|
|
528
527
|
console.print(f"You can find detailed error messages at {err_path}")
|
|
529
528
|
return "error"
|
|
530
529
|
else:
|
|
@@ -6,7 +6,7 @@ build-backend = "pdm.backend"
|
|
|
6
6
|
|
|
7
7
|
[project]
|
|
8
8
|
name = "algobattle-base"
|
|
9
|
-
version = "4.3.
|
|
9
|
+
version = "4.3.2"
|
|
10
10
|
description = "The Algobattle lab course package."
|
|
11
11
|
readme = "README.md"
|
|
12
12
|
requires-python = ">=3.11"
|
|
@@ -24,13 +24,13 @@ classifiers = [
|
|
|
24
24
|
"Typing :: Typed",
|
|
25
25
|
]
|
|
26
26
|
dependencies = [
|
|
27
|
-
"docker>=7.
|
|
28
|
-
"pydantic>=2.
|
|
29
|
-
"anyio>=4.
|
|
30
|
-
"typer
|
|
31
|
-
"typing-extensions>=4.
|
|
32
|
-
"tomlkit>=0.
|
|
33
|
-
"jinja2>=3.1.
|
|
27
|
+
"docker>=7.1.0",
|
|
28
|
+
"pydantic>=2.11.9",
|
|
29
|
+
"anyio>=4.11.0",
|
|
30
|
+
"typer>=0.19.2",
|
|
31
|
+
"typing-extensions>=4.15.0",
|
|
32
|
+
"tomlkit>=0.13.3",
|
|
33
|
+
"jinja2>=3.1.6",
|
|
34
34
|
]
|
|
35
35
|
|
|
36
36
|
[project.license]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/csharp/Dockerfile.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/javascript/Dockerfile.jinja
RENAMED
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/javascript/package.json.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/python/Dockerfile.jinja
RENAMED
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/python/pyproject.toml.jinja
RENAMED
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/python/{{program}}.py.jinja
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/typescript/package.json.jinja
RENAMED
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/algobattle/templates/typescript/tsconfig.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_syntax_error/Dockerfile
RENAMED
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_timeout/Dockerfile
RENAMED
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/generator_timeout/instance.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_execution_error/Dockerfile
RENAMED
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_semantics_error/Dockerfile
RENAMED
|
File without changes
|
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_syntax_error/Dockerfile
RENAMED
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_syntax_error/solution.json
RENAMED
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_timeout/Dockerfile
RENAMED
|
File without changes
|
{algobattle_base-4.3.0 → algobattle_base-4.3.2}/tests/testsproblem/solver_timeout/solution.json
RENAMED
|
File without changes
|