Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
71 lines (60 loc) · 2.34 KB
/
Copy pathpyproject.toml
File metadata and controls
71 lines (60 loc) · 2.34 KB
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
66
67
68
69
70
71
[build-system]
requires = ["setuptools>=77.0"]
build-backend = "setuptools.build_meta"
[project]
name = "aether-ml"
version = "1.2.0"
description = "A ground-up deep learning framework featuring vectorized neural network and CNN layers, dual NumPy/CuPy backends, and CUDA/ROCm GPU acceleration."
readme = "README.md"
license = "MIT"
license-files = ["LICENSE"]
requires-python = ">=3.12"
authors = [
{ name = "Alexander" }
]
keywords = ["deep-learning", "gpu", "cuda", "rocm", "cupy", "neural-networks"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Science/Research",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3.15",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Environment :: GPU",
]
dependencies = [
"numpy>=2.0.0",
"safetensors>=0.8.0",
]
# CuPy wheels from PyPI; pick the extra matching your installed CUDA toolkit.
[project.optional-dependencies]
gpu-nvidia-12 = ["cupy-cuda12x"]
gpu-nvidia-13 = ["cupy-cuda13x"]
gpu-nvidia = ["aether-ml[gpu-nvidia-13]"]
[project.urls]
Repository = "https://github.com/AlexanderSoftCode/Aether-ML"
Issues = "https://github.com/AlexanderSoftCode/Aether-ML/issues"
[tool.setuptools.packages.find]
include = ["aether*"]
[tool.setuptools.package-data]
aether = ["py.typed", "*.pyi", "**/*.pyi"]
# Read by Pylance (VS Code), pyright and basedpyright (Zed). Type checking is
# mostly noise for the dynamic NumPy/CuPy backend and None-initialized layer
# state; completion, hover and undefined-name/import checks still work.
[tool.pyright]
typeCheckingMode = "off"
[tool.ruff]
# Exploratory notebooks and the pre-framework scripts aren't held to lint.
extend-exclude = ["notebooks", "examples/legacy", "*.ipynb"]
[tool.ruff.lint]
# Allow `import aether.config as config`; preferred here for readability.
ignore = ["PLR0402"]
[tool.ruff.lint.per-file-ignores]
# Skeleton templates keep placeholder imports and `pass` bodies on purpose.
"tests/integration/_integration_test_skeleton.py" = ["F401", "PIE790"]
# Stub `__all__` lists are grouped by topic, not sorted.
"*.pyi" = ["RUF022"]
[tool.ruff.lint.flake8-comprehensions]
# Allow dict(key=value) for kernel template/kwargs bundles.
allow-dict-calls-with-keyword-arguments = true