11[build-system ]
2- requires = [" hatchling" , " hatch-vcs" ]
32build-backend = " hatchling.build"
43
4+ requires = [ " hatch-vcs" , " hatchling" ]
5+
56[project ]
67name = " aleph-vm"
7- dynamic = [" version" ]
88description = " Aleph.im VM execution engine"
99readme = " README.md"
10- requires-python = " >=3.10"
11- license = {file = " LICENSE" }
12- keywords = []
10+ keywords = [ ]
11+ license = { file = " LICENSE" }
1312authors = [
14- {
name = " Hugo Herter" ,
email = " [email protected] " },
13+ {
name = " Hugo Herter" ,
email = " [email protected] " },
1514]
15+ requires-python = " >=3.10"
1616classifiers = [
1717 " Development Status :: 4 - Beta" ,
1818 " Environment :: Console" ,
1919 " Framework :: aiohttp" ,
2020 " Intended Audience :: Information Technology" ,
2121 " License :: OSI Approved :: MIT License" ,
2222 " Operating System :: POSIX :: Linux" ,
23- " Programming Language :: Python :: 3" ,
23+ " Programming Language :: Python :: 3 :: Only" ,
24+ " Programming Language :: Python :: 3.10" ,
25+ " Programming Language :: Python :: 3.11" ,
26+ " Programming Language :: Python :: 3.12" ,
2427 " Topic :: System :: Distributed Computing" ,
2528]
29+ dynamic = [ " version" ]
2630dependencies = [
27- " pydantic[dotenv]~=1.10.13 " ,
31+ " aiodns==3.1 " ,
2832 " aiohttp==3.9.5" ,
29- " aiodns==3.1.0" ,
30- " setproctitle==1.3.3" ,
31- " pyyaml==6.0.1" ,
33+ " aiohttp-cors~=0.7.0" ,
34+ " aioredis==1.3.1" ,
35+ " aiosqlite==0.19" ,
36+ " alembic==1.13.1" ,
3237 " aleph-message==0.4.9" ,
38+ " aleph-superfluid~=0.2.1" ,
39+ " dbus-python==1.3.2" ,
3340 " eth-account~=0.10" ,
34- " sentry-sdk==1.31.0" ,
35- " aioredis==1.3.1" ,
36- " psutil==5.9.5" ,
37- " py-cpuinfo==9.0.0" ,
38- " schedule==1.2.1" ,
39- " nftables @ git+https://salsa.debian.org/pkg-netfilter-team/pkg-nftables#egg=nftables&subdirectory=py" ,
41+ " jsonschema==4.19.1" ,
42+ " jwcrypto==1.5.6" ,
4043 " msgpack==1.0.7" ,
44+ " nftables @ git+https://salsa.debian.org/pkg-netfilter-team/pkg-nftables#egg=nftables&subdirectory=py" ,
4145 " packaging==23.2" ,
42- " jsonschema==4.19.1" ,
43- " qmp==1.1.0" ,
44- " dbus-python==1.3.2" ,
45- " systemd-python==235" ,
46- " systemd-python==235" ,
47- " aleph-superfluid~=0.2.1" ,
48- " sqlalchemy[asyncio]>=2.0" ,
49- " aiosqlite==0.19.0" ,
50- " alembic==1.13.1" ,
51- " aiohttp_cors~=0.7.0" ,
46+ " psutil==5.9.5" ,
47+ " py-cpuinfo==9" ,
48+ " pydantic[dotenv]~=1.10.13" ,
5249 " pyroute2==0.7.12" ,
53- " jwcrypto==1.5.6" ,
54- " python-cpuid==0.1.0"
50+ " python-cpuid==0.1" ,
51+ " pyyaml==6.0.1" ,
52+ " qmp==1.1" ,
53+ " schedule==1.2.1" ,
54+ " sentry-sdk==1.31" ,
55+ " setproctitle==1.3.3" ,
56+ " sqlalchemy[asyncio]>=2" ,
57+ " systemd-python==235" ,
5558]
5659
57- [project .urls ]
58- Documentation = " https://docs.aleph.im/nodes/compute/"
59- Issues = " https://github.com/aleph-im/aleph-vm/issues"
60- Source = " https://github.com/aleph-im/aleph-vm"
61- Discussions = " https://community.aleph.im/"
62-
63- [project .scripts ]
64- aleph-vm = " aleph.vm.orchestrator.cli:main"
60+ urls.Discussions = " https://community.aleph.im/"
61+ urls.Documentation = " https://docs.aleph.im/nodes/compute/"
62+ urls.Issues = " https://github.com/aleph-im/aleph-vm/issues"
63+ urls.Source = " https://github.com/aleph-im/aleph-vm"
64+ scripts.aleph-vm = " aleph.vm.orchestrator.cli:main"
6565
6666[tool .hatch .version ]
6767source = " vcs"
6868
6969[tool .hatch .build .targets .wheel ]
70- packages = [" src/aleph" ]
70+ packages = [ " src/aleph" ]
7171
7272[tool .hatch .metadata ]
7373allow-direct-references = true
7474
7575[tool .hatch .envs .default ]
76- platforms = [" linux" ]
76+ platforms = [ " linux" ]
7777dependencies = [
78- # "git+https://salsa.debian.org/pkg-netfilter-team/pkg-nftables#egg=nftables&subdirectory=py",
78+ # "git+https://salsa.debian.org/pkg-netfilter-team/pkg-nftables#egg=nftables&subdirectory=py",
7979]
8080
8181[tool .hatch .envs .default .scripts ]
@@ -87,7 +87,7 @@ check = "aleph-vm controller run {args:--help}"
8787type = " virtual"
8888system-packages = true
8989dependencies = [
90- " eth_typing==4.3.1" , # Temp fix for bug in CI with 5.0.0
90+ " eth_typing==4.3.1" , # Temp fix for bug in CI with 5.0.0
9191 " pytest==8.2.1" ,
9292 " pytest-cov==5.0.0" ,
9393 " pytest-mock==3.14.0" ,
@@ -107,7 +107,7 @@ cov = [
107107]
108108
109109[[tool .hatch .envs .all .matrix ]]
110- python = [" 3.10" , " 3.11" , " 3.12" ]
110+ python = [ " 3.10" , " 3.11" , " 3.12" ]
111111
112112[tool .hatch .envs .lint ]
113113detached = true
@@ -121,14 +121,14 @@ dependencies = [
121121[tool .hatch .envs .lint .scripts ]
122122typing = " mypy {args:src/aleph/vm/ tests/ examples/example_fastapi runtimes/aleph-debian-12-python}"
123123style = [
124- # "ruff {args:.}",
124+ # "ruff {args:.}",
125125 " black --check --diff {args:.}" ,
126126 " isort --check-only --profile black {args:.}" ,
127127 " pyproject-fmt --check pyproject.toml" ,
128128]
129129fmt = [
130130 " black {args:.}" ,
131- # "ruff --fix {args:.}",
131+ # "ruff --fix {args:.}",
132132 " isort --profile black {args:.}" ,
133133 " pyproject-fmt pyproject.toml" ,
134134 " style" ,
@@ -138,36 +138,15 @@ all = [
138138 " typing" ,
139139]
140140
141- [tool .pytest .ini_options ]
142- pythonpath = [
143- " src"
144- ]
145- testpaths = [
146- " tests"
147- ]
148- norecursedirs = [
149- " runtimes/aleph-debian-11-python/rootfs/" ,
150- " runtimes/aleph-debian-12-python/rootfs/" ,
151- ]
152-
153141[tool .black ]
154- target-version = [" py310" ]
142+ target-version = [ " py310" ]
155143line-length = 120
156144# skip-string-normalization = true
157145
158- [tool .mypy ]
159- python_version = " 3.10"
160- install_types = true
161- non_interactive = true
162- ignore_missing_imports = true
163- explicit_package_bases = true
164- check_untyped_defs = true
165-
166146[tool .ruff ]
167147target-version = " py310"
168148line-length = 120
169- [tool .ruff .lint ]
170- select = [
149+ lint.select = [
171150 " A" ,
172151 " ARG" ,
173152 " B" ,
@@ -194,47 +173,63 @@ select = [
194173 " W" ,
195174 " YTT" ,
196175]
197- ignore = [
198- # # Allow non-abstract empty methods in abstract base classes
199- # "B027",
200- # # Allow boolean positional values in function calls, like `dict.get(... True)`
201- # "FBT003",
202- # # Ignore checks for possible passwords
203- # "S105", "S106", "S107",
204- # # Ignore complexity
205- # "C901", "PLR0911", "PLR0912", "PLR0913", "PLR0915",
176+ lint. ignore = [
177+ # # Allow non-abstract empty methods in abstract base classes
178+ # "B027",
179+ # # Allow boolean positional values in function calls, like `dict.get(... True)`
180+ # "FBT003",
181+ # # Ignore checks for possible passwords
182+ # "S105", "S106", "S107",
183+ # # Ignore complexity
184+ # "C901", "PLR0911", "PLR0912", "PLR0913", "PLR0915",
206185 # Allow the use of assert statements
207- " S101"
186+ " S101" ,
208187]
188+ # Tests can use magic values, assertions, and relative imports
189+ lint.per-file-ignores."tests/**/*" = [ " PLR2004" , " S101" , " TID252" ]
190+ # [tool.ruff.flake8-tidy-imports]
191+ # ban-relative-imports = "all"
209192# unfixable = [
210193# # Don't touch unused imports
211194# "F401",
212195# ]
196+ lint.isort = [ " aleph.vm" ]
213197
214- isort.known-first-party = [" aleph.vm" ]
215-
216- # [tool.ruff.flake8-tidy-imports]
217- # ban-relative-imports = "all"
218-
219- [tool .ruff .lint .per-file-ignores ]
220- # Tests can use magic values, assertions, and relative imports
221- "tests/**/*" = [" PLR2004" , " S101" , " TID252" ]
198+ [tool .pytest .ini_options ]
199+ pythonpath = [
200+ " src" ,
201+ ]
202+ testpaths = [
203+ " tests" ,
204+ ]
205+ norecursedirs = [
206+ " runtimes/aleph-debian-11-python/rootfs/" ,
207+ " runtimes/aleph-debian-12-python/rootfs/" ,
208+ ]
222209
223210[tool .coverage .run ]
224- source_pkgs = [" aleph.vm" , " tests" ]
211+ source_pkgs = [ " aleph.vm" , " tests" ]
225212branch = true
226213parallel = true
227214omit = [
228215 " src/aleph/vm/__about__.py" ,
229216]
230217
231218[tool .coverage .paths ]
232- aleph_vm = [" src/aleph/vm" , " */aleph-vm/src/aleph/vm" ]
233- tests = [" tests" , " */aleph-vm/tests" ]
219+ aleph_vm = [ " src/aleph/vm" , " */aleph-vm/src/aleph/vm" ]
220+ tests = [ " tests" , " */aleph-vm/tests" ]
234221
235222[tool .coverage .report ]
236223exclude_lines = [
237224 " no cov" ,
238225 " if __name__ == .__main__.:" ,
239226 " if TYPE_CHECKING:" ,
240227]
228+
229+ [tool .mypy ]
230+ python_version = " 3.10"
231+ install_types = true
232+ non_interactive = true
233+ ignore_missing_imports = true
234+ explicit_package_bases = true
235+ check_untyped_defs = true
0 commit comments