kitin 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. kitin-0.2.0/.github/workflows/CI.yml +170 -0
  2. kitin-0.2.0/.gitignore +72 -0
  3. kitin-0.2.0/Cargo.lock +283 -0
  4. kitin-0.2.0/Cargo.toml +20 -0
  5. kitin-0.2.0/PKG-INFO +9 -0
  6. kitin-0.2.0/pyproject.toml +22 -0
  7. kitin-0.2.0/python/kitin/__init__.py +4 -0
  8. kitin-0.2.0/python/kitin/__init__.pyi +130 -0
  9. kitin-0.2.0/python/kitin/py.typed +0 -0
  10. kitin-0.2.0/src/autograd/context.rs +43 -0
  11. kitin-0.2.0/src/autograd/engine.rs +41 -0
  12. kitin-0.2.0/src/autograd/graph.rs +51 -0
  13. kitin-0.2.0/src/autograd/mod.rs +4 -0
  14. kitin-0.2.0/src/autograd/ops.rs +117 -0
  15. kitin-0.2.0/src/engine/cpu/boolean/mod.rs +1 -0
  16. kitin-0.2.0/src/engine/cpu/boolean/ops/logical.rs +19 -0
  17. kitin-0.2.0/src/engine/cpu/boolean/ops/mod.rs +44 -0
  18. kitin-0.2.0/src/engine/cpu/boolean/ops/shape.rs +24 -0
  19. kitin-0.2.0/src/engine/cpu/core.rs +95 -0
  20. kitin-0.2.0/src/engine/cpu/mod.rs +3 -0
  21. kitin-0.2.0/src/engine/cpu/numeric/backward/binary.rs +54 -0
  22. kitin-0.2.0/src/engine/cpu/numeric/backward/matmul.rs +26 -0
  23. kitin-0.2.0/src/engine/cpu/numeric/backward/mod.rs +5 -0
  24. kitin-0.2.0/src/engine/cpu/numeric/core.rs +56 -0
  25. kitin-0.2.0/src/engine/cpu/numeric/mod.rs +3 -0
  26. kitin-0.2.0/src/engine/cpu/numeric/ops/binary.rs +46 -0
  27. kitin-0.2.0/src/engine/cpu/numeric/ops/matmul.rs +121 -0
  28. kitin-0.2.0/src/engine/cpu/numeric/ops/mod.rs +49 -0
  29. kitin-0.2.0/src/engine/cpu/numeric/ops/scalar.rs +40 -0
  30. kitin-0.2.0/src/engine/cpu/numeric/ops/shape.rs +34 -0
  31. kitin-0.2.0/src/engine/cpu/ops.rs +144 -0
  32. kitin-0.2.0/src/engine/cpu/storage/api.rs +52 -0
  33. kitin-0.2.0/src/engine/cpu/storage/backward.rs +45 -0
  34. kitin-0.2.0/src/engine/cpu/storage/boolean.rs +15 -0
  35. kitin-0.2.0/src/engine/cpu/storage/macros.rs +113 -0
  36. kitin-0.2.0/src/engine/cpu/storage/mod.rs +47 -0
  37. kitin-0.2.0/src/engine/cpu/storage/numeric.rs +61 -0
  38. kitin-0.2.0/src/engine/cpu/storage/shape.rs +67 -0
  39. kitin-0.2.0/src/engine/mod.rs +3 -0
  40. kitin-0.2.0/src/lib.rs +13 -0
  41. kitin-0.2.0/src/tensor/api.rs +238 -0
  42. kitin-0.2.0/src/tensor/core.rs +167 -0
  43. kitin-0.2.0/src/tensor/mod.rs +7 -0
  44. kitin-0.2.0/src/tensor/storage.rs +144 -0
  45. kitin-0.2.0/test.py +289 -0
  46. kitin-0.2.0/uv.lock +88 -0
@@ -0,0 +1,170 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ - master
8
+ tags:
9
+ - 'v*'
10
+ pull_request:
11
+ workflow_dispatch:
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ jobs:
17
+ linux:
18
+ runs-on: ${{ matrix.platform.runner }}
19
+ strategy:
20
+ matrix:
21
+ platform:
22
+ - runner: ubuntu-22.04
23
+ target: x86_64
24
+ - runner: ubuntu-22.04
25
+ target: x86
26
+ - runner: ubuntu-22.04
27
+ target: aarch64
28
+ - runner: ubuntu-22.04
29
+ target: armv7
30
+ - runner: ubuntu-22.04
31
+ target: s390x
32
+ - runner: ubuntu-22.04
33
+ target: ppc64le
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+ - uses: actions/setup-python@v5
37
+ with:
38
+ python-version: "3.x"
39
+ - name: Build wheels
40
+ uses: PyO3/maturin-action@v1
41
+ with:
42
+ target: ${{ matrix.platform.target }}
43
+ args: --release --out dist --find-interpreter
44
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
45
+ manylinux: auto
46
+ - name: Upload wheels
47
+ uses: actions/upload-artifact@v4
48
+ with:
49
+ name: wheels-linux-${{ matrix.platform.target }}
50
+ path: dist
51
+
52
+ musllinux:
53
+ runs-on: ${{ matrix.platform.runner }}
54
+ strategy:
55
+ matrix:
56
+ platform:
57
+ - runner: ubuntu-22.04
58
+ target: x86_64
59
+ - runner: ubuntu-22.04
60
+ target: x86
61
+ - runner: ubuntu-22.04
62
+ target: aarch64
63
+ - runner: ubuntu-22.04
64
+ target: armv7
65
+ steps:
66
+ - uses: actions/checkout@v4
67
+ - uses: actions/setup-python@v5
68
+ with:
69
+ python-version: "3.x"
70
+ - name: Build wheels
71
+ uses: PyO3/maturin-action@v1
72
+ with:
73
+ target: ${{ matrix.platform.target }}
74
+ args: --release --out dist --find-interpreter
75
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
76
+ manylinux: musllinux_1_2
77
+ - name: Upload wheels
78
+ uses: actions/upload-artifact@v4
79
+ with:
80
+ name: wheels-musllinux-${{ matrix.platform.target }}
81
+ path: dist
82
+
83
+ windows:
84
+ runs-on: ${{ matrix.platform.runner }}
85
+ strategy:
86
+ matrix:
87
+ platform:
88
+ - runner: windows-latest
89
+ target: x64
90
+ python_arch: x64
91
+ - runner: windows-latest
92
+ target: x86
93
+ python_arch: x86
94
+ - runner: windows-11-arm
95
+ target: aarch64
96
+ python_arch: arm64
97
+ steps:
98
+ - uses: actions/checkout@v4
99
+ - uses: actions/setup-python@v5
100
+ with:
101
+ python-version: "3.13"
102
+ architecture: ${{ matrix.platform.python_arch }}
103
+ - name: Build wheels
104
+ uses: PyO3/maturin-action@v1
105
+ with:
106
+ target: ${{ matrix.platform.target }}
107
+ args: --release --out dist --find-interpreter
108
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
109
+ - name: Upload wheels
110
+ uses: actions/upload-artifact@v4
111
+ with:
112
+ name: wheels-windows-${{ matrix.platform.target }}
113
+ path: dist
114
+
115
+ macos:
116
+ runs-on: ${{ matrix.platform.runner }}
117
+ strategy:
118
+ matrix:
119
+ platform:
120
+ - runner: macos-latest
121
+ target: x86_64
122
+ - runner: macos-latest
123
+ target: aarch64
124
+ steps:
125
+ - uses: actions/checkout@v4
126
+ - uses: actions/setup-python@v5
127
+ with:
128
+ python-version: "3.x"
129
+ - name: Build wheels
130
+ uses: PyO3/maturin-action@v1
131
+ with:
132
+ target: ${{ matrix.platform.target }}
133
+ args: --release --out dist --find-interpreter
134
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
135
+ - name: Upload wheels
136
+ uses: actions/upload-artifact@v4
137
+ with:
138
+ name: wheels-macos-${{ matrix.platform.target }}
139
+ path: dist
140
+
141
+ sdist:
142
+ runs-on: ubuntu-latest
143
+ steps:
144
+ - uses: actions/checkout@v4
145
+ - name: Build sdist
146
+ uses: PyO3/maturin-action@v1
147
+ with:
148
+ command: sdist
149
+ args: --out dist
150
+ - name: Upload sdist
151
+ uses: actions/upload-artifact@v4
152
+ with:
153
+ name: wheels-sdist
154
+ path: dist
155
+
156
+ release:
157
+ name: Release
158
+ runs-on: ubuntu-latest
159
+ if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
160
+ needs: [linux, musllinux, windows, macos, sdist]
161
+ steps:
162
+ - uses: actions/download-artifact@v4
163
+ - name: Install uv
164
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
165
+ uses: astral-sh/setup-uv@v3
166
+ - name: Publish to PyPI
167
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
168
+ run: uv publish 'wheels-*/*'
169
+ env:
170
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
kitin-0.2.0/.gitignore ADDED
@@ -0,0 +1,72 @@
1
+ /target
2
+
3
+ # Byte-compiled / optimized / DLL files
4
+ __pycache__/
5
+ .pytest_cache/
6
+ *.py[cod]
7
+
8
+ # C extensions
9
+ *.so
10
+
11
+ # Distribution / packaging
12
+ .Python
13
+ .venv/
14
+ env/
15
+ bin/
16
+ build/
17
+ develop-eggs/
18
+ dist/
19
+ eggs/
20
+ lib/
21
+ lib64/
22
+ parts/
23
+ sdist/
24
+ var/
25
+ include/
26
+ man/
27
+ venv/
28
+ *.egg-info/
29
+ .installed.cfg
30
+ *.egg
31
+
32
+ # Installer logs
33
+ pip-log.txt
34
+ pip-delete-this-directory.txt
35
+ pip-selfcheck.json
36
+
37
+ # Unit test / coverage reports
38
+ htmlcov/
39
+ .tox/
40
+ .coverage
41
+ .cache
42
+ nosetests.xml
43
+ coverage.xml
44
+
45
+ # Translations
46
+ *.mo
47
+
48
+ # Mr Developer
49
+ .mr.developer.cfg
50
+ .project
51
+ .pydevproject
52
+
53
+ # Rope
54
+ .ropeproject
55
+
56
+ # Django stuff:
57
+ *.log
58
+ *.pot
59
+
60
+ .DS_Store
61
+
62
+ # Sphinx documentation
63
+ docs/_build/
64
+
65
+ # PyCharm
66
+ .idea/
67
+
68
+ # VSCode
69
+ .vscode/
70
+
71
+ # Pyenv
72
+ .python-version
kitin-0.2.0/Cargo.lock ADDED
@@ -0,0 +1,283 @@
1
+ # This file is automatically @generated by Cargo.
2
+ # It is not intended for manual editing.
3
+ version = 4
4
+
5
+ [[package]]
6
+ name = "autocfg"
7
+ version = "1.5.1"
8
+ source = "registry+https://github.com/rust-lang/crates.io-index"
9
+ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
10
+
11
+ [[package]]
12
+ name = "cfg-if"
13
+ version = "1.0.4"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
16
+
17
+ [[package]]
18
+ name = "crunchy"
19
+ version = "0.2.4"
20
+ source = "registry+https://github.com/rust-lang/crates.io-index"
21
+ checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
22
+
23
+ [[package]]
24
+ name = "half"
25
+ version = "2.7.1"
26
+ source = "registry+https://github.com/rust-lang/crates.io-index"
27
+ checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b"
28
+ dependencies = [
29
+ "cfg-if",
30
+ "crunchy",
31
+ "num-traits",
32
+ "zerocopy",
33
+ ]
34
+
35
+ [[package]]
36
+ name = "heck"
37
+ version = "0.5.0"
38
+ source = "registry+https://github.com/rust-lang/crates.io-index"
39
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
40
+
41
+ [[package]]
42
+ name = "kitin_core"
43
+ version = "0.2.0"
44
+ dependencies = [
45
+ "half",
46
+ "ndarray",
47
+ "num-traits",
48
+ "numpy",
49
+ "pyo3",
50
+ ]
51
+
52
+ [[package]]
53
+ name = "libc"
54
+ version = "0.2.186"
55
+ source = "registry+https://github.com/rust-lang/crates.io-index"
56
+ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
57
+
58
+ [[package]]
59
+ name = "libm"
60
+ version = "0.2.16"
61
+ source = "registry+https://github.com/rust-lang/crates.io-index"
62
+ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
63
+
64
+ [[package]]
65
+ name = "matrixmultiply"
66
+ version = "0.3.10"
67
+ source = "registry+https://github.com/rust-lang/crates.io-index"
68
+ checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
69
+ dependencies = [
70
+ "autocfg",
71
+ "rawpointer",
72
+ ]
73
+
74
+ [[package]]
75
+ name = "ndarray"
76
+ version = "0.17.2"
77
+ source = "registry+https://github.com/rust-lang/crates.io-index"
78
+ checksum = "520080814a7a6b4a6e9070823bb24b4531daac8c4627e08ba5de8c5ef2f2752d"
79
+ dependencies = [
80
+ "matrixmultiply",
81
+ "num-complex",
82
+ "num-integer",
83
+ "num-traits",
84
+ "portable-atomic",
85
+ "portable-atomic-util",
86
+ "rawpointer",
87
+ ]
88
+
89
+ [[package]]
90
+ name = "num-complex"
91
+ version = "0.4.6"
92
+ source = "registry+https://github.com/rust-lang/crates.io-index"
93
+ checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495"
94
+ dependencies = [
95
+ "num-traits",
96
+ ]
97
+
98
+ [[package]]
99
+ name = "num-integer"
100
+ version = "0.1.46"
101
+ source = "registry+https://github.com/rust-lang/crates.io-index"
102
+ checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
103
+ dependencies = [
104
+ "num-traits",
105
+ ]
106
+
107
+ [[package]]
108
+ name = "num-traits"
109
+ version = "0.2.19"
110
+ source = "registry+https://github.com/rust-lang/crates.io-index"
111
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
112
+ dependencies = [
113
+ "autocfg",
114
+ "libm",
115
+ ]
116
+
117
+ [[package]]
118
+ name = "numpy"
119
+ version = "0.29.0"
120
+ source = "registry+https://github.com/rust-lang/crates.io-index"
121
+ checksum = "6a5b15d63a5ff39e378daed0e1340d3a5964703ea9712eb09a0dc66fade996f4"
122
+ dependencies = [
123
+ "half",
124
+ "libc",
125
+ "ndarray",
126
+ "num-complex",
127
+ "num-integer",
128
+ "num-traits",
129
+ "pyo3",
130
+ "pyo3-build-config",
131
+ "rustc-hash",
132
+ ]
133
+
134
+ [[package]]
135
+ name = "once_cell"
136
+ version = "1.21.4"
137
+ source = "registry+https://github.com/rust-lang/crates.io-index"
138
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
139
+
140
+ [[package]]
141
+ name = "portable-atomic"
142
+ version = "1.13.1"
143
+ source = "registry+https://github.com/rust-lang/crates.io-index"
144
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
145
+
146
+ [[package]]
147
+ name = "portable-atomic-util"
148
+ version = "0.2.7"
149
+ source = "registry+https://github.com/rust-lang/crates.io-index"
150
+ checksum = "c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618"
151
+ dependencies = [
152
+ "portable-atomic",
153
+ ]
154
+
155
+ [[package]]
156
+ name = "proc-macro2"
157
+ version = "1.0.106"
158
+ source = "registry+https://github.com/rust-lang/crates.io-index"
159
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
160
+ dependencies = [
161
+ "unicode-ident",
162
+ ]
163
+
164
+ [[package]]
165
+ name = "pyo3"
166
+ version = "0.29.0"
167
+ source = "registry+https://github.com/rust-lang/crates.io-index"
168
+ checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
169
+ dependencies = [
170
+ "libc",
171
+ "once_cell",
172
+ "portable-atomic",
173
+ "pyo3-build-config",
174
+ "pyo3-ffi",
175
+ "pyo3-macros",
176
+ ]
177
+
178
+ [[package]]
179
+ name = "pyo3-build-config"
180
+ version = "0.29.0"
181
+ source = "registry+https://github.com/rust-lang/crates.io-index"
182
+ checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
183
+ dependencies = [
184
+ "target-lexicon",
185
+ ]
186
+
187
+ [[package]]
188
+ name = "pyo3-ffi"
189
+ version = "0.29.0"
190
+ source = "registry+https://github.com/rust-lang/crates.io-index"
191
+ checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
192
+ dependencies = [
193
+ "libc",
194
+ "pyo3-build-config",
195
+ ]
196
+
197
+ [[package]]
198
+ name = "pyo3-macros"
199
+ version = "0.29.0"
200
+ source = "registry+https://github.com/rust-lang/crates.io-index"
201
+ checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
202
+ dependencies = [
203
+ "proc-macro2",
204
+ "pyo3-macros-backend",
205
+ "quote",
206
+ "syn",
207
+ ]
208
+
209
+ [[package]]
210
+ name = "pyo3-macros-backend"
211
+ version = "0.29.0"
212
+ source = "registry+https://github.com/rust-lang/crates.io-index"
213
+ checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
214
+ dependencies = [
215
+ "heck",
216
+ "proc-macro2",
217
+ "quote",
218
+ "syn",
219
+ ]
220
+
221
+ [[package]]
222
+ name = "quote"
223
+ version = "1.0.46"
224
+ source = "registry+https://github.com/rust-lang/crates.io-index"
225
+ checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
226
+ dependencies = [
227
+ "proc-macro2",
228
+ ]
229
+
230
+ [[package]]
231
+ name = "rawpointer"
232
+ version = "0.2.1"
233
+ source = "registry+https://github.com/rust-lang/crates.io-index"
234
+ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3"
235
+
236
+ [[package]]
237
+ name = "rustc-hash"
238
+ version = "2.1.2"
239
+ source = "registry+https://github.com/rust-lang/crates.io-index"
240
+ checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
241
+
242
+ [[package]]
243
+ name = "syn"
244
+ version = "2.0.118"
245
+ source = "registry+https://github.com/rust-lang/crates.io-index"
246
+ checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
247
+ dependencies = [
248
+ "proc-macro2",
249
+ "quote",
250
+ "unicode-ident",
251
+ ]
252
+
253
+ [[package]]
254
+ name = "target-lexicon"
255
+ version = "0.13.5"
256
+ source = "registry+https://github.com/rust-lang/crates.io-index"
257
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
258
+
259
+ [[package]]
260
+ name = "unicode-ident"
261
+ version = "1.0.24"
262
+ source = "registry+https://github.com/rust-lang/crates.io-index"
263
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
264
+
265
+ [[package]]
266
+ name = "zerocopy"
267
+ version = "0.8.52"
268
+ source = "registry+https://github.com/rust-lang/crates.io-index"
269
+ checksum = "ce1022995ff5ff5d841ad7d994facc23098cd40152f2c1d11cd607c6f530653f"
270
+ dependencies = [
271
+ "zerocopy-derive",
272
+ ]
273
+
274
+ [[package]]
275
+ name = "zerocopy-derive"
276
+ version = "0.8.52"
277
+ source = "registry+https://github.com/rust-lang/crates.io-index"
278
+ checksum = "1ae7f38b72ec2a254e2b87ef277cf2cd4fb97cbebf944faa6f33354da0867930"
279
+ dependencies = [
280
+ "proc-macro2",
281
+ "quote",
282
+ "syn",
283
+ ]
kitin-0.2.0/Cargo.toml ADDED
@@ -0,0 +1,20 @@
1
+ [package]
2
+ name = "kitin_core"
3
+ version = "0.2.0"
4
+ edition = "2024"
5
+
6
+ [lib]
7
+ name = "kitin_core"
8
+ crate-type = ["cdylib"]
9
+
10
+ [features]
11
+ default = []
12
+ cuda = []
13
+ f64 = []
14
+
15
+ [dependencies]
16
+ half = { version = "2.7.1", features = ["num-traits"] }
17
+ ndarray = { version = "0.17.2" }
18
+ num-traits = "0.2.19"
19
+ numpy = { version = "0.29.0", features = ["half"] }
20
+ pyo3 = { version = "0.29.0", features = ["extension-module"] }
kitin-0.2.0/PKG-INFO ADDED
@@ -0,0 +1,9 @@
1
+ Metadata-Version: 2.4
2
+ Name: kitin
3
+ Version: 0.2.0
4
+ Classifier: Programming Language :: Rust
5
+ Classifier: Programming Language :: Python :: Implementation :: CPython
6
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
7
+ Requires-Dist: ml-dtypes>=0.5.4
8
+ Requires-Dist: numpy>=2.5.0
9
+ Requires-Python: >=3.13
@@ -0,0 +1,22 @@
1
+ [build-system]
2
+ requires = ["maturin>=1.14,<2.0"]
3
+ build-backend = "maturin"
4
+
5
+ [project]
6
+ name = "kitin"
7
+ requires-python = ">=3.13"
8
+ classifiers = [
9
+ "Programming Language :: Rust",
10
+ "Programming Language :: Python :: Implementation :: CPython",
11
+ "Programming Language :: Python :: Implementation :: PyPy",
12
+ ]
13
+ dynamic = ["version"]
14
+ dependencies = [
15
+ "ml-dtypes>=0.5.4",
16
+ "numpy>=2.5.0",
17
+ ]
18
+
19
+ [tool.maturin]
20
+ features = ["pyo3/extension-module"]
21
+ python-source = "python"
22
+ module-name = "kitin.kitin_core"
@@ -0,0 +1,4 @@
1
+ from .kitin_core import *
2
+ import ml_dtypes
3
+
4
+ __all__ = ["Tensor"]