forgekernel-rs 0.1.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.
@@ -0,0 +1,224 @@
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 = "forge-core"
19
+ version = "0.1.0"
20
+ dependencies = [
21
+ "num-bigint",
22
+ "num-integer",
23
+ "num-rational",
24
+ "num-traits",
25
+ "pyo3",
26
+ ]
27
+
28
+ [[package]]
29
+ name = "heck"
30
+ version = "0.5.0"
31
+ source = "registry+https://github.com/rust-lang/crates.io-index"
32
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
33
+
34
+ [[package]]
35
+ name = "indoc"
36
+ version = "2.0.7"
37
+ source = "registry+https://github.com/rust-lang/crates.io-index"
38
+ checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706"
39
+ dependencies = [
40
+ "rustversion",
41
+ ]
42
+
43
+ [[package]]
44
+ name = "libc"
45
+ version = "0.2.189"
46
+ source = "registry+https://github.com/rust-lang/crates.io-index"
47
+ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
48
+
49
+ [[package]]
50
+ name = "memoffset"
51
+ version = "0.9.1"
52
+ source = "registry+https://github.com/rust-lang/crates.io-index"
53
+ checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
54
+ dependencies = [
55
+ "autocfg",
56
+ ]
57
+
58
+ [[package]]
59
+ name = "num-bigint"
60
+ version = "0.4.8"
61
+ source = "registry+https://github.com/rust-lang/crates.io-index"
62
+ checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367"
63
+ dependencies = [
64
+ "num-integer",
65
+ "num-traits",
66
+ ]
67
+
68
+ [[package]]
69
+ name = "num-integer"
70
+ version = "0.1.46"
71
+ source = "registry+https://github.com/rust-lang/crates.io-index"
72
+ checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
73
+ dependencies = [
74
+ "num-traits",
75
+ ]
76
+
77
+ [[package]]
78
+ name = "num-rational"
79
+ version = "0.4.2"
80
+ source = "registry+https://github.com/rust-lang/crates.io-index"
81
+ checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824"
82
+ dependencies = [
83
+ "num-bigint",
84
+ "num-integer",
85
+ "num-traits",
86
+ ]
87
+
88
+ [[package]]
89
+ name = "num-traits"
90
+ version = "0.2.19"
91
+ source = "registry+https://github.com/rust-lang/crates.io-index"
92
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
93
+ dependencies = [
94
+ "autocfg",
95
+ ]
96
+
97
+ [[package]]
98
+ name = "once_cell"
99
+ version = "1.21.4"
100
+ source = "registry+https://github.com/rust-lang/crates.io-index"
101
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
102
+
103
+ [[package]]
104
+ name = "portable-atomic"
105
+ version = "1.14.0"
106
+ source = "registry+https://github.com/rust-lang/crates.io-index"
107
+ checksum = "3d20d5497ef88037a52ff98267d066e7f11fcc5e99bbfbd58a42336193aacec3"
108
+
109
+ [[package]]
110
+ name = "proc-macro2"
111
+ version = "1.0.107"
112
+ source = "registry+https://github.com/rust-lang/crates.io-index"
113
+ checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9"
114
+ dependencies = [
115
+ "unicode-ident",
116
+ ]
117
+
118
+ [[package]]
119
+ name = "pyo3"
120
+ version = "0.22.6"
121
+ source = "registry+https://github.com/rust-lang/crates.io-index"
122
+ checksum = "f402062616ab18202ae8319da13fa4279883a2b8a9d9f83f20dbade813ce1884"
123
+ dependencies = [
124
+ "cfg-if",
125
+ "indoc",
126
+ "libc",
127
+ "memoffset",
128
+ "num-bigint",
129
+ "once_cell",
130
+ "portable-atomic",
131
+ "pyo3-build-config",
132
+ "pyo3-ffi",
133
+ "pyo3-macros",
134
+ "unindent",
135
+ ]
136
+
137
+ [[package]]
138
+ name = "pyo3-build-config"
139
+ version = "0.22.6"
140
+ source = "registry+https://github.com/rust-lang/crates.io-index"
141
+ checksum = "b14b5775b5ff446dd1056212d778012cbe8a0fbffd368029fd9e25b514479c38"
142
+ dependencies = [
143
+ "once_cell",
144
+ "target-lexicon",
145
+ ]
146
+
147
+ [[package]]
148
+ name = "pyo3-ffi"
149
+ version = "0.22.6"
150
+ source = "registry+https://github.com/rust-lang/crates.io-index"
151
+ checksum = "9ab5bcf04a2cdcbb50c7d6105de943f543f9ed92af55818fd17b660390fc8636"
152
+ dependencies = [
153
+ "libc",
154
+ "pyo3-build-config",
155
+ ]
156
+
157
+ [[package]]
158
+ name = "pyo3-macros"
159
+ version = "0.22.6"
160
+ source = "registry+https://github.com/rust-lang/crates.io-index"
161
+ checksum = "0fd24d897903a9e6d80b968368a34e1525aeb719d568dba8b3d4bfa5dc67d453"
162
+ dependencies = [
163
+ "proc-macro2",
164
+ "pyo3-macros-backend",
165
+ "quote",
166
+ "syn",
167
+ ]
168
+
169
+ [[package]]
170
+ name = "pyo3-macros-backend"
171
+ version = "0.22.6"
172
+ source = "registry+https://github.com/rust-lang/crates.io-index"
173
+ checksum = "36c011a03ba1e50152b4b394b479826cad97e7a21eb52df179cd91ac411cbfbe"
174
+ dependencies = [
175
+ "heck",
176
+ "proc-macro2",
177
+ "pyo3-build-config",
178
+ "quote",
179
+ "syn",
180
+ ]
181
+
182
+ [[package]]
183
+ name = "quote"
184
+ version = "1.0.47"
185
+ source = "registry+https://github.com/rust-lang/crates.io-index"
186
+ checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001"
187
+ dependencies = [
188
+ "proc-macro2",
189
+ ]
190
+
191
+ [[package]]
192
+ name = "rustversion"
193
+ version = "1.0.23"
194
+ source = "registry+https://github.com/rust-lang/crates.io-index"
195
+ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
196
+
197
+ [[package]]
198
+ name = "syn"
199
+ version = "2.0.119"
200
+ source = "registry+https://github.com/rust-lang/crates.io-index"
201
+ checksum = "872831b642d1a07999a962a351ed35b955ea2cfc8f3862091e2a240a84f17297"
202
+ dependencies = [
203
+ "proc-macro2",
204
+ "quote",
205
+ "unicode-ident",
206
+ ]
207
+
208
+ [[package]]
209
+ name = "target-lexicon"
210
+ version = "0.12.16"
211
+ source = "registry+https://github.com/rust-lang/crates.io-index"
212
+ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
213
+
214
+ [[package]]
215
+ name = "unicode-ident"
216
+ version = "1.0.24"
217
+ source = "registry+https://github.com/rust-lang/crates.io-index"
218
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
219
+
220
+ [[package]]
221
+ name = "unindent"
222
+ version = "0.2.4"
223
+ source = "registry+https://github.com/rust-lang/crates.io-index"
224
+ checksum = "7264e107f553ccae879d21fbea1d6724ac785e8c3bfc762137959b5802826ef3"
@@ -0,0 +1,20 @@
1
+ [package]
2
+ name = "forge-core"
3
+ version = "0.1.0"
4
+ edition = "2021"
5
+ license = "Apache-2.0"
6
+ description = "Native (Rust) accelerator for the forgekernel exact-arithmetic B-rep CAD kernel"
7
+ repository = "https://github.com/gitcad-xyz/forge"
8
+ readme = "README.md"
9
+
10
+ [lib]
11
+ name = "forgekernel_rs"
12
+ crate-type = ["cdylib"]
13
+
14
+ [dependencies]
15
+ num-rational = { version = "0.4", features = ["num-bigint"] }
16
+ num-bigint = "0.4"
17
+ num-integer = "0.1"
18
+ num-traits = "0.2"
19
+ # abi3-py311: one wheel per platform covers every CPython >= 3.11.
20
+ pyo3 = { version = "0.22", features = ["extension-module", "num-bigint", "abi3-py311"] }
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.4
2
+ Name: forgekernel_rs
3
+ Version: 0.1.0
4
+ Classifier: Development Status :: 3 - Alpha
5
+ Classifier: Intended Audience :: Developers
6
+ Classifier: License :: OSI Approved :: Apache Software License
7
+ Classifier: Operating System :: POSIX :: Linux
8
+ Classifier: Operating System :: MacOS
9
+ Classifier: Operating System :: Microsoft :: Windows
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Rust
12
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
13
+ Classifier: Topic :: Multimedia :: Graphics :: 3D Modeling
14
+ Summary: Native (Rust) accelerator for forgekernel — the exact-arithmetic B-rep CAD kernel
15
+ Keywords: cad,b-rep,geometry,kernel,nurbs,exact-arithmetic,rust,pyo3
16
+ Author-email: Dan Willis <danielcwillis@gmail.com>
17
+ License: Apache-2.0
18
+ Requires-Python: >=3.11
19
+ Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
20
+ Project-URL: Homepage, https://github.com/gitcad-xyz/forge
21
+ Project-URL: Issues, https://github.com/gitcad-xyz/forge/issues
22
+ Project-URL: Repository, https://github.com/gitcad-xyz/forge
23
+
24
+ # forgekernel_rs — native accelerator for forgekernel
25
+
26
+ The optional Rust build of the hot paths in
27
+ [`forgekernel`](https://pypi.org/project/forgekernel/), the exact-arithmetic
28
+ B-rep CAD kernel. It is a **drop-in speed-up, not a dependency**: `forgekernel`
29
+ runs pure-Python and produces identical (exact ℚ) results without it, then
30
+ transparently uses `forgekernel_rs` for the surface–surface intersection and
31
+ predicate inner loops when the extension is importable.
32
+
33
+ Bit-identical to the Python reference — every ported routine is oracle-checked
34
+ against it, so the accelerator never changes an answer, only the wall time.
35
+
36
+ ```bash
37
+ pip install forgekernel[rust] # forgekernel + this accelerator
38
+ ```
39
+
40
+ Built with [PyO3](https://pyo3.rs) + [maturin](https://www.maturin.rs) as an
41
+ `abi3-py311` wheel (one wheel per platform serves every CPython ≥ 3.11).
42
+ Exact rationals use `num-bigint` / `num-rational`.
43
+
44
+ Apache-2.0. Source and design: https://github.com/gitcad-xyz/forge
45
+
@@ -0,0 +1,21 @@
1
+ # forgekernel_rs — native accelerator for forgekernel
2
+
3
+ The optional Rust build of the hot paths in
4
+ [`forgekernel`](https://pypi.org/project/forgekernel/), the exact-arithmetic
5
+ B-rep CAD kernel. It is a **drop-in speed-up, not a dependency**: `forgekernel`
6
+ runs pure-Python and produces identical (exact ℚ) results without it, then
7
+ transparently uses `forgekernel_rs` for the surface–surface intersection and
8
+ predicate inner loops when the extension is importable.
9
+
10
+ Bit-identical to the Python reference — every ported routine is oracle-checked
11
+ against it, so the accelerator never changes an answer, only the wall time.
12
+
13
+ ```bash
14
+ pip install forgekernel[rust] # forgekernel + this accelerator
15
+ ```
16
+
17
+ Built with [PyO3](https://pyo3.rs) + [maturin](https://www.maturin.rs) as an
18
+ `abi3-py311` wheel (one wheel per platform serves every CPython ≥ 3.11).
19
+ Exact rationals use `num-bigint` / `num-rational`.
20
+
21
+ Apache-2.0. Source and design: https://github.com/gitcad-xyz/forge
@@ -0,0 +1,35 @@
1
+ [build-system]
2
+ requires = ["maturin>=1.0,<2.0"]
3
+ build-backend = "maturin"
4
+
5
+ [project]
6
+ name = "forgekernel_rs"
7
+ version = "0.1.0"
8
+ description = "Native (Rust) accelerator for forgekernel — the exact-arithmetic B-rep CAD kernel"
9
+ readme = "README.md"
10
+ license = {text = "Apache-2.0"}
11
+ requires-python = ">=3.11"
12
+ authors = [{name = "Dan Willis", email = "danielcwillis@gmail.com"}]
13
+ keywords = ["cad", "b-rep", "geometry", "kernel", "nurbs", "exact-arithmetic", "rust", "pyo3"]
14
+ classifiers = [
15
+ "Development Status :: 3 - Alpha",
16
+ "Intended Audience :: Developers",
17
+ "License :: OSI Approved :: Apache Software License",
18
+ "Operating System :: POSIX :: Linux",
19
+ "Operating System :: MacOS",
20
+ "Operating System :: Microsoft :: Windows",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Rust",
23
+ "Topic :: Scientific/Engineering :: Mathematics",
24
+ "Topic :: Multimedia :: Graphics :: 3D Modeling",
25
+ ]
26
+
27
+ [project.urls]
28
+ Homepage = "https://github.com/gitcad-xyz/forge"
29
+ Repository = "https://github.com/gitcad-xyz/forge"
30
+ Issues = "https://github.com/gitcad-xyz/forge/issues"
31
+
32
+ [tool.maturin]
33
+ manifest-path = "Cargo.toml"
34
+ # abi3 wheel — a single artifact per platform serves all CPython >= 3.11.
35
+ features = ["pyo3/abi3-py311"]