Skip to content

Commit a1ea9c5

Browse files
authored
fix: cli (#78)
1 parent b874343 commit a1ea9c5

File tree

5 files changed

+63
-69
lines changed

5 files changed

+63
-69
lines changed

pyproject.toml

Lines changed: 34 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,37 @@
1-
[project]
1+
[tool.poetry]
22
name = "pysatl-experiment"
33
version = "0.1.0"
44
description = "package for PySATL math statistics experiments"
5-
authors = [
6-
{name = "Ivan Pokhabov", email = "vanek3372@gmail.com"},
7-
]
8-
license = {text = "MIT"}
5+
authors = ["Ivan Pokhabov <vanek3372@gmail.com>"]
6+
license = "MIT"
97
readme = "README.md"
10-
requires-python = ">=3.10,<3.13"
11-
dependencies = [
12-
"numpy>=1.25.1",
13-
"scipy>=1.11.2",
14-
"matplotlib>=3.8.0",
15-
"tqdm>=4.66.2",
16-
"fpdf2>=2.7.8",
17-
"jinja2>=3.1.5",
18-
"xhtml2pdf>=0.2.17",
19-
"pandas>=2.2.1",
20-
"sqlalchemy>=2.0.36",
21-
"python-rapidjson==1.20",
22-
"jsonschema==4.23.0",
23-
"rich==13.9.4",
24-
"click>=8.2.1",
25-
"dacite==1.9.2",
26-
"pysatl-criterion @ ./pysatl_criterion"
27-
]
28-
29-
[build-system]
30-
requires = ["poetry-core"]
31-
build-backend = "poetry.core.masonry.api"
32-
33-
[tool.poetry]
348
package-mode = true
359
packages = [{include = "pysatl_experiment"}]
3610

11+
[tool.poetry.dependencies]
12+
python = ">=3.10,<3.13"
13+
numpy = ">=1.25.1"
14+
scipy = ">=1.11.2"
15+
matplotlib = ">=3.8.0"
16+
tqdm = ">=4.66.2"
17+
fpdf2 = ">=2.7.8"
18+
jinja2 = ">=3.1.5"
19+
xhtml2pdf = ">=0.2.17"
20+
pandas = ">=2.2.1"
21+
sqlalchemy = ">=2.0.36"
22+
python-rapidjson = "==1.20"
23+
jsonschema = "==4.23.0"
24+
rich = "==13.9.4"
25+
click = ">=8.2.1"
26+
dacite = "==1.9.2"
27+
pysatl-criterion = {path = "./pysatl_criterion"}
28+
3729
[tool.poetry.group.dev.dependencies]
3830
markdown = "3.8"
3931
mkdocs = "1.6.1"
4032
mkdocs-material = "9.6.14"
4133
mdx-truly-sane-lists = "1.3"
4234
pymdown-extensions = "10.15"
43-
jinja2 = "3.1.6"
4435
mike = "2.1.3"
4536
isort = "6.0.1"
4637
coveralls = "4.0.1"
@@ -52,6 +43,13 @@ pytest-mock = "3.14.1"
5243
pre-commit = "4.2.0"
5344
mypy = "^1.15.0"
5445

46+
[tool.poetry.scripts]
47+
experiment = "pysatl_experiment.cli.cli.cli:cli"
48+
49+
[build-system]
50+
requires = ["poetry-core"]
51+
build-backend = "poetry.core.masonry.api"
52+
5553
[tool.isort]
5654
line_length = 120
5755
profile = "black"
@@ -70,25 +68,16 @@ extend-ignore = [
7068
"E241", "E272", "E221", "B007", "B904", "S603", "S607", "S608", "NPY002"
7169
]
7270

73-
[tool.mypy]
74-
ignore_missing_imports = true
71+
[tool.ruff.lint.per-file-ignores]
72+
"tests/**/*.py" = [
73+
"S101", "S104", "S311", "S105", "S106", "S110"
74+
]
7575

7676
[tool.ruff.lint.mccabe]
7777
max-complexity = 12
7878

7979
[tool.ruff.lint.isort]
8080
lines-after-imports = 2
8181

82-
[tool.flake8]
83-
ignore = ["E121", "E123", "E126", "E24", "E203", "E704", "W503", "W504"]
84-
max-line-length = 120
85-
max-complexity = 12
86-
exclude = [".git", "__pycache__", ".eggs", "user_data", ".venv", ".env"]
87-
88-
[tool.ruff.lint.per-file-ignores]
89-
"tests/**/*.py" = [
90-
"S101", "S104", "S311", "S105", "S106", "S110"
91-
]
92-
93-
[tool.poetry.scripts]
94-
experiment = "pysatl_experiment.cli.cli.cli:cli"
82+
[tool.mypy]
83+
ignore_missing_imports = true

pysatl_experiment/__main__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from pysatl_experiment.cli.cli.cli import cli
2+
3+
4+
if __name__ == "__main__":
5+
cli()

pysatl_experiment/cli/cli/cli.py

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
from pathlib import Path
2-
3-
from click import group, version_option
4-
51
from pysatl_experiment.cli.commands.build_and_run.build_and_run import build_and_run
62
from pysatl_experiment.cli.commands.configure.alternatives.alternatives import alternatives
73
from pysatl_experiment.cli.commands.configure.configure import configure
@@ -19,25 +15,7 @@
1915
from pysatl_experiment.cli.commands.configure.significance_levels.significance_levels import significance_levels
2016
from pysatl_experiment.cli.commands.configure.storage_connection.storage_connection import storage_connection
2117
from pysatl_experiment.cli.commands.create.create import create
22-
23-
24-
@group()
25-
@version_option()
26-
def cli() -> None:
27-
"""
28-
PySATL-Experiment CLI.
29-
"""
30-
31-
_create_experiments_dir()
32-
33-
34-
def _create_experiments_dir() -> None:
35-
"""
36-
Create experiments directory.
37-
"""
38-
# pysatl-experiment/.experiments
39-
folder_path = Path(__file__).resolve().parents[3] / ".experiments"
40-
folder_path.mkdir(parents=False, exist_ok=True)
18+
from pysatl_experiment.cli.shared import cli
4119

4220

4321
cli.add_command(create)

pysatl_experiment/cli/commands/configure/configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from click import ClickException, Context, argument, pass_context
22

3-
from pysatl_experiment.cli.cli import cli
43
from pysatl_experiment.cli.commands.common.common import read_experiment_data
4+
from pysatl_experiment.cli.shared import cli
55
from pysatl_experiment.validation.cli.commands.common.common import if_experiment_exists
66

77

pysatl_experiment/cli/shared.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from pathlib import Path
2+
3+
from click import group, version_option
4+
5+
6+
@group()
7+
@version_option()
8+
def cli() -> None:
9+
"""
10+
PySATL-Experiment CLI.
11+
"""
12+
13+
_create_experiments_dir()
14+
15+
16+
def _create_experiments_dir() -> None:
17+
"""
18+
Create experiments directory.
19+
"""
20+
# pysatl-experiment/.experiments
21+
folder_path = Path(__file__).resolve().parents[2] / ".experiments"
22+
folder_path.mkdir(parents=False, exist_ok=True)

0 commit comments

Comments
 (0)