-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnoxfile.py
65 lines (49 loc) · 1.52 KB
/
noxfile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
"""nox file"""
import nox
@nox.session(reuse_venv=True, python="3.8.5")
def tests(session):
"""Run all tests."""
session.install(".")
session.install(".[all]")
cmd = ["pytest", "-v", "--mpl", "-n", "auto"]
if session.posargs:
cmd.extend(session.posargs)
session.run(*cmd)
session.run(
"python",
"-m",
"pytest",
"--nbval-lax",
"notebook/examples/",
"--current-env",
"--no-cov",
)
@nox.session(reuse_venv=True, python="3.8.5")
def lint(session):
"""Run all pre-commit hooks."""
session.install(".")
session.install(".[all]")
session.run("pre-commit", "install")
session.run("pre-commit", "run", "--show-diff-on-failure", "--all-files")
@nox.session(reuse_venv=True, python="3.8.5")
def bandit(session):
"""Run all pre-commit hooks."""
session.install("bandit")
session.run("bandit", "-r", "soam/", "-ll", "-c", "bandit.yaml")
@nox.session(reuse_venv=True, python="3.8.5")
def pyreverse(session):
"""Create class diagrams."""
session.install(".")
session.install(".[all]")
session.install("pylint")
# TODO: create smaller diagrams with portions of the project.
session.run("pyreverse", "soam", "-o", "png", "--ignore", "pdf_report.py")
session.run(
"mv",
"packages.png",
"documentation/images/packages_dependencies.png",
external=True,
)
session.run(
"mv", "classes.png", "documentation/images/project_classes.png", external=True
)