Skip to content

Commit 09963ae

Browse files
committed
chore: add jarvis script
1 parent 4ebd800 commit 09963ae

File tree

4 files changed

+179
-192
lines changed

4 files changed

+179
-192
lines changed

jarvis.ps1

Lines changed: 0 additions & 5 deletions
This file was deleted.

pypeline.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ pipeline:
33
module: pypeline.steps.create_venv
44
config:
55
package_manager: uv>=0.6
6-
python_executable: python3
6+
python_version: 3.13
7+
- step: GenerateEnvSetupScript
8+
module: pypeline.steps.env_setup_script
79
- step: PreCommit
810
run: pre-commit run --all-files
911
- step: PyTest

pyproject.toml

Lines changed: 176 additions & 174 deletions
Original file line numberDiff line numberDiff line change
@@ -1,174 +1,176 @@
1-
[project]
2-
name = "jarvis"
3-
version = "0.0.0"
4-
description = "My personal page."
5-
readme = "README.md"
6-
license = { text = "MIT" }
7-
authors = [
8-
{ name = "Alexandru Maxiniuc", email = "me@cuinixam.me" },
9-
]
10-
requires-python = "<4.0,>=3.10"
11-
classifiers = [
12-
"Development Status :: 2 - Pre-Alpha",
13-
"Intended Audience :: Developers",
14-
"Natural Language :: English",
15-
"Operating System :: OS Independent",
16-
"Programming Language :: Python :: 3 :: Only",
17-
"Programming Language :: Python :: 3.10",
18-
"Programming Language :: Python :: 3.11",
19-
"Programming Language :: Python :: 3.12",
20-
"Programming Language :: Python :: 3.13",
21-
"Topic :: Software Development :: Libraries",
22-
]
23-
24-
dependencies = [
25-
"marimo>=0.11,<1",
26-
"matplotlib>=3.10,<4",
27-
"py-app-dev>=2.5,<3",
28-
"typer>=0,<1",
29-
]
30-
31-
urls.Changelog = "https://github.com/cuinixam/jarvis/blob/main/CHANGELOG.md"
32-
urls.repository = "https://github.com/cuinixam/jarvis"
33-
rls."Bug Tracker" = "https://github.com/cuinixam/jarvis/issues"
34-
documentation = "https://jarvis.readthedocs.io"
35-
36-
[dependency-groups]
37-
dev = [
38-
"ablog>=0,<1",
39-
"mlx-traceability>=11,<12",
40-
# docs
41-
"myst-parser>=4",
42-
"pre-commit>=4,<5",
43-
"pydata-sphinx-theme>=0,<1",
44-
"pytest>=8,<9",
45-
"pytest-cov>=6,<7",
46-
"ruff>=0,<1",
47-
"sphinx>=8",
48-
"sphinx-autobuild>=2024.10.3,<2025",
49-
"sphinx-copybutton>=0,<1",
50-
"sphinx-design>=0,<1",
51-
"sphinx-new-tab-link>=0,<1",
52-
"sphinxcontrib-mermaid>=1,<2",
53-
"sphinxext-rediraffe>=0,<1",
54-
"wrapt",
55-
]
56-
57-
[tool.ruff]
58-
line-length = 180
59-
lint.select = [
60-
"B", # flake8-bugbear
61-
"C4", # flake8-comprehensions
62-
"D", # flake8-docstrings
63-
"E", # pycodestyle
64-
"F", # pyflake
65-
"I", # isort
66-
"RUF", # ruff specific
67-
"S", # flake8-bandit
68-
"UP", # pyupgrade
69-
"W", # pycodestyle
70-
]
71-
lint.ignore = [
72-
"D100", # Missing docstring in public module
73-
"D101", # Missing docstring in public class
74-
"D102", # Missing docstring in public method
75-
"D103", # Missing docstring in public function
76-
"D104", # Missing docstring in public package
77-
"D107", # Missing docstring in `__init__`
78-
"D203", # 1 blank line required before class docstring
79-
"D212", # Multi-line docstring summary should start at the first line
80-
"D401", # First line of docstring should be in imperative mood
81-
]
82-
lint.per-file-ignores."conftest.py" = [ "D100" ]
83-
lint.per-file-ignores."docs/conf.py" = [ "D100" ]
84-
lint.per-file-ignores."setup.py" = [ "D100" ]
85-
lint.per-file-ignores."tests/**/*" = [
86-
"D100",
87-
"D101",
88-
"D102",
89-
"D103",
90-
"D104",
91-
"S101",
92-
]
93-
lint.isort.known-first-party = [ "jarvis", "tests" ]
94-
95-
[tool.codespell]
96-
skip = "docs/presentations/objects_deps/index.html"
97-
98-
[tool.pytest.ini_options]
99-
addopts = "-v -Wdefault --cov=jarvis --cov-report=term-missing:skip-covered"
100-
pythonpath = [ "src" ]
101-
102-
[tool.coverage.run]
103-
branch = true
104-
105-
[tool.coverage.report]
106-
exclude_lines = [
107-
"pragma: no cover",
108-
"@overload",
109-
"if TYPE_CHECKING",
110-
"raise NotImplementedError",
111-
'if __name__ == "__main__":',
112-
]
113-
114-
[tool.mypy]
115-
check_untyped_defs = true
116-
disallow_any_generics = true
117-
disallow_incomplete_defs = true
118-
disallow_untyped_defs = true
119-
mypy_path = "src/"
120-
no_implicit_optional = true
121-
show_error_codes = true
122-
warn_unreachable = true
123-
warn_unused_ignores = true
124-
exclude = [
125-
'docs/.*',
126-
'setup.py',
127-
]
128-
129-
[[tool.mypy.overrides]]
130-
module = "jarvis.notebooks.*"
131-
ignore_errors = true
132-
133-
[[tool.mypy.overrides]]
134-
module = "tests.*"
135-
allow_untyped_defs = true
136-
137-
[[tool.mypy.overrides]]
138-
module = "docs.*"
139-
ignore_errors = true
140-
141-
[tool.semantic_release]
142-
version_toml = [ "pyproject.toml:project.version" ]
143-
version_variables = [
144-
"src/jarvis/__init__.py:__version__",
145-
"docs/conf.py:release",
146-
]
147-
build_command = """
148-
pip install uv
149-
uv lock
150-
git add uv.lock
151-
uv build
152-
"""
153-
154-
[tool.semantic_release.changelog]
155-
exclude_commit_patterns = [
156-
'''chore(?:\([^)]*?\))?: .+''',
157-
'''ci(?:\([^)]*?\))?: .+''',
158-
'''refactor(?:\([^)]*?\))?: .+''',
159-
'''style(?:\([^)]*?\))?: .+''',
160-
'''test(?:\([^)]*?\))?: .+''',
161-
'''build\((?!deps\): .+)''',
162-
'''Merged? .*''',
163-
'''Initial [Cc]ommit.*''', # codespell:ignore
164-
]
165-
166-
[tool.semantic_release.changelog.environment]
167-
keep_trailing_newline = true
168-
169-
[tool.semantic_release.branches.main]
170-
match = "main"
171-
172-
[tool.semantic_release.branches.noop]
173-
match = "(?!main$)"
174-
prerelease = true
1+
[project]
2+
name = "jarvis"
3+
version = "0.0.0"
4+
description = "My personal page."
5+
readme = "README.md"
6+
license = { text = "MIT" }
7+
authors = [
8+
{ name = "Alexandru Maxiniuc", email = "me@cuinixam.me" },
9+
]
10+
requires-python = "<4.0,>=3.10"
11+
classifiers = [
12+
"Development Status :: 2 - Pre-Alpha",
13+
"Intended Audience :: Developers",
14+
"Natural Language :: English",
15+
"Operating System :: OS Independent",
16+
"Programming Language :: Python :: 3 :: Only",
17+
"Programming Language :: Python :: 3.10",
18+
"Programming Language :: Python :: 3.11",
19+
"Programming Language :: Python :: 3.12",
20+
"Programming Language :: Python :: 3.13",
21+
"Topic :: Software Development :: Libraries",
22+
]
23+
24+
dependencies = [
25+
"marimo>=0.11,<1",
26+
"matplotlib>=3.10,<4",
27+
"py-app-dev>=2.5,<3",
28+
"typer>=0,<1",
29+
]
30+
31+
urls."Bug Tracker" = "https://github.com/cuinixam/jarvis/issues"
32+
urls.Changelog = "https://github.com/cuinixam/jarvis/blob/main/CHANGELOG.md"
33+
urls.documentation = "https://jarvis.readthedocs.io"
34+
35+
urls.repository = "https://github.com/cuinixam/jarvis"
36+
scripts.jarvis = "jarvis.main:main"
37+
38+
[dependency-groups]
39+
dev = [
40+
"ablog>=0,<1",
41+
"mlx-traceability>=11,<12",
42+
# docs
43+
"myst-parser>=4",
44+
"pre-commit>=4,<5",
45+
"pydata-sphinx-theme>=0,<1",
46+
"pytest>=8,<9",
47+
"pytest-cov>=6,<7",
48+
"ruff>=0,<1",
49+
"sphinx>=8",
50+
"sphinx-autobuild>=2024.10.3,<2025",
51+
"sphinx-copybutton>=0,<1",
52+
"sphinx-design>=0,<1",
53+
"sphinx-new-tab-link>=0,<1",
54+
"sphinxcontrib-mermaid>=1,<2",
55+
"sphinxext-rediraffe>=0,<1",
56+
"wrapt",
57+
]
58+
59+
[tool.ruff]
60+
line-length = 180
61+
lint.select = [
62+
"B", # flake8-bugbear
63+
"C4", # flake8-comprehensions
64+
"D", # flake8-docstrings
65+
"E", # pycodestyle
66+
"F", # pyflake
67+
"I", # isort
68+
"RUF", # ruff specific
69+
"S", # flake8-bandit
70+
"UP", # pyupgrade
71+
"W", # pycodestyle
72+
]
73+
lint.ignore = [
74+
"D100", # Missing docstring in public module
75+
"D101", # Missing docstring in public class
76+
"D102", # Missing docstring in public method
77+
"D103", # Missing docstring in public function
78+
"D104", # Missing docstring in public package
79+
"D107", # Missing docstring in `__init__`
80+
"D203", # 1 blank line required before class docstring
81+
"D212", # Multi-line docstring summary should start at the first line
82+
"D401", # First line of docstring should be in imperative mood
83+
]
84+
lint.per-file-ignores."conftest.py" = [ "D100" ]
85+
lint.per-file-ignores."docs/conf.py" = [ "D100" ]
86+
lint.per-file-ignores."setup.py" = [ "D100" ]
87+
lint.per-file-ignores."tests/**/*" = [
88+
"D100",
89+
"D101",
90+
"D102",
91+
"D103",
92+
"D104",
93+
"S101",
94+
]
95+
lint.isort.known-first-party = [ "jarvis", "tests" ]
96+
97+
[tool.codespell]
98+
skip = "docs/presentations/objects_deps/index.html"
99+
100+
[tool.pytest.ini_options]
101+
addopts = "-v -Wdefault --cov=jarvis --cov-report=term-missing:skip-covered"
102+
pythonpath = [ "src" ]
103+
104+
[tool.coverage.run]
105+
branch = true
106+
107+
[tool.coverage.report]
108+
exclude_lines = [
109+
"pragma: no cover",
110+
"@overload",
111+
"if TYPE_CHECKING",
112+
"raise NotImplementedError",
113+
'if __name__ == "__main__":',
114+
]
115+
116+
[tool.mypy]
117+
check_untyped_defs = true
118+
disallow_any_generics = true
119+
disallow_incomplete_defs = true
120+
disallow_untyped_defs = true
121+
mypy_path = "src/"
122+
no_implicit_optional = true
123+
show_error_codes = true
124+
warn_unreachable = true
125+
warn_unused_ignores = true
126+
exclude = [
127+
'docs/.*',
128+
'setup.py',
129+
]
130+
131+
[[tool.mypy.overrides]]
132+
module = "jarvis.notebooks.*"
133+
ignore_errors = true
134+
135+
[[tool.mypy.overrides]]
136+
module = "tests.*"
137+
allow_untyped_defs = true
138+
139+
[[tool.mypy.overrides]]
140+
module = "docs.*"
141+
ignore_errors = true
142+
143+
[tool.semantic_release]
144+
version_toml = [ "pyproject.toml:project.version" ]
145+
version_variables = [
146+
"src/jarvis/__init__.py:__version__",
147+
"docs/conf.py:release",
148+
]
149+
build_command = """
150+
pip install uv
151+
uv lock
152+
git add uv.lock
153+
uv build
154+
"""
155+
156+
[tool.semantic_release.changelog]
157+
exclude_commit_patterns = [
158+
'''chore(?:\([^)]*?\))?: .+''',
159+
'''ci(?:\([^)]*?\))?: .+''',
160+
'''refactor(?:\([^)]*?\))?: .+''',
161+
'''style(?:\([^)]*?\))?: .+''',
162+
'''test(?:\([^)]*?\))?: .+''',
163+
'''build\((?!deps\): .+)''',
164+
'''Merged? .*''',
165+
'''Initial [Cc]ommit.*''', # codespell:ignore
166+
]
167+
168+
[tool.semantic_release.changelog.environment]
169+
keep_trailing_newline = true
170+
171+
[tool.semantic_release.branches.main]
172+
match = "main"
173+
174+
[tool.semantic_release.branches.noop]
175+
match = "(?!main$)"
176+
prerelease = true

src/jarvis/_run.py

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)