cotengrust 0.1.5__tar.gz → 0.2.1__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,2 @@
1
+ # SCM syntax highlighting & preventing 3-way merges
2
+ pixi.lock merge=binary linguist-language=YAML linguist-generated=true -diff
@@ -1,4 +1,4 @@
1
- # This file is autogenerated by maturin v1.9.4
1
+ # This file is autogenerated by maturin v1.14.1
2
2
  # To update, run
3
3
  #
4
4
  # maturin generate-ci github --pytest
@@ -37,10 +37,10 @@ jobs:
37
37
  - runner: ubuntu-22.04
38
38
  target: ppc64le
39
39
  steps:
40
- - uses: actions/checkout@v5
40
+ - uses: actions/checkout@v6
41
41
  - uses: actions/setup-python@v6
42
42
  with:
43
- python-version: 3.x
43
+ python-version: "3.9"
44
44
  - name: Build wheels
45
45
  uses: PyO3/maturin-action@v1
46
46
  with:
@@ -49,34 +49,39 @@ jobs:
49
49
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
50
50
  manylinux: auto
51
51
  - name: Upload wheels
52
- uses: actions/upload-artifact@v4
52
+ uses: actions/upload-artifact@v6
53
53
  with:
54
54
  name: wheels-linux-${{ matrix.platform.target }}
55
55
  path: dist
56
+ - uses: astral-sh/setup-uv@v7
57
+ if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
56
58
  - name: pytest
57
59
  if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
58
60
  shell: bash
59
61
  run: |
60
62
  set -e
61
- python3 -m venv .venv
63
+ uv venv .venv
62
64
  source .venv/bin/activate
63
- pip install cotengrust --find-links dist --force-reinstall
64
- pip install pytest
65
+ uv pip install cotengrust --no-index --no-deps --find-links dist --reinstall
66
+ uv pip install cotengrust pytest
65
67
  pytest
66
68
  - name: pytest
67
69
  if: ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }}
68
70
  uses: uraimo/run-on-arch-action@v3
69
71
  with:
70
72
  arch: ${{ matrix.platform.target }}
71
- distro: ubuntu22.04
73
+ distro: ubuntu24.04
72
74
  githubToken: ${{ github.token }}
73
75
  install: |
74
76
  apt-get update
75
- apt-get install -y --no-install-recommends python3 python3-pip
76
- pip3 install -U pip pytest
77
+ apt-get install -y --no-install-recommends python3 python3-venv
77
78
  run: |
78
79
  set -e
79
- pip3 install cotengrust --find-links dist --force-reinstall
80
+ python3 -m venv .venv
81
+ source .venv/bin/activate
82
+ pip install pytest
83
+ pip install cotengrust --no-index --no-deps --find-links dist --force-reinstall
84
+ pip install cotengrust
80
85
  pytest
81
86
 
82
87
  musllinux:
@@ -93,10 +98,10 @@ jobs:
93
98
  - runner: ubuntu-22.04
94
99
  target: armv7
95
100
  steps:
96
- - uses: actions/checkout@v5
101
+ - uses: actions/checkout@v6
97
102
  - uses: actions/setup-python@v6
98
103
  with:
99
- python-version: 3.x
104
+ python-version: "3.9"
100
105
  - name: Build wheels
101
106
  uses: PyO3/maturin-action@v1
102
107
  with:
@@ -105,24 +110,22 @@ jobs:
105
110
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
106
111
  manylinux: musllinux_1_2
107
112
  - name: Upload wheels
108
- uses: actions/upload-artifact@v4
113
+ uses: actions/upload-artifact@v6
109
114
  with:
110
115
  name: wheels-musllinux-${{ matrix.platform.target }}
111
116
  path: dist
112
117
  - name: pytest
113
118
  if: ${{ startsWith(matrix.platform.target, 'x86_64') }}
114
- uses: addnab/docker-run-action@v3
115
- with:
116
- image: alpine:latest
117
- options: -v ${{ github.workspace }}:/io -w /io
118
- run: |
119
- set -e
119
+ run: |
120
+ set -e
121
+ docker run --rm -v ${{ github.workspace }}:/io -w /io alpine:latest sh -c '
120
122
  apk add py3-pip py3-virtualenv
121
123
  python3 -m virtualenv .venv
122
124
  source .venv/bin/activate
123
- pip install cotengrust --no-index --find-links dist --force-reinstall
124
- pip install pytest
125
+ pip install cotengrust --no-index --no-deps --find-links dist --force-reinstall
126
+ pip install cotengrust pytest
125
127
  pytest
128
+ '
126
129
  - name: pytest
127
130
  if: ${{ !startsWith(matrix.platform.target, 'x86') }}
128
131
  uses: uraimo/run-on-arch-action@v3
@@ -136,8 +139,8 @@ jobs:
136
139
  set -e
137
140
  python3 -m virtualenv .venv
138
141
  source .venv/bin/activate
139
- pip install pytest
140
- pip install cotengrust --find-links dist --force-reinstall
142
+ pip install cotengrust --no-index --no-deps --find-links dist --force-reinstall
143
+ pip install cotengrust pytest
141
144
  pytest
142
145
 
143
146
  windows:
@@ -147,14 +150,19 @@ jobs:
147
150
  platform:
148
151
  - runner: windows-latest
149
152
  target: x64
153
+ python_arch: x64
150
154
  - runner: windows-latest
151
155
  target: x86
156
+ python_arch: x86
157
+ - runner: windows-11-arm
158
+ target: aarch64
159
+ python_arch: arm64
152
160
  steps:
153
- - uses: actions/checkout@v5
161
+ - uses: actions/checkout@v6
154
162
  - uses: actions/setup-python@v6
155
163
  with:
156
- python-version: 3.x
157
- architecture: ${{ matrix.platform.target }}
164
+ python-version: "3.13"
165
+ architecture: ${{ matrix.platform.python_arch }}
158
166
  - name: Build wheels
159
167
  uses: PyO3/maturin-action@v1
160
168
  with:
@@ -162,19 +170,19 @@ jobs:
162
170
  args: --release --out dist --find-interpreter
163
171
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
164
172
  - name: Upload wheels
165
- uses: actions/upload-artifact@v4
173
+ uses: actions/upload-artifact@v6
166
174
  with:
167
175
  name: wheels-windows-${{ matrix.platform.target }}
168
176
  path: dist
177
+ - uses: astral-sh/setup-uv@v7
169
178
  - name: pytest
170
- if: ${{ !startsWith(matrix.platform.target, 'aarch64') }}
171
179
  shell: bash
172
180
  run: |
173
181
  set -e
174
- python3 -m venv .venv
182
+ uv venv .venv
175
183
  source .venv/Scripts/activate
176
- pip install cotengrust --find-links dist --force-reinstall
177
- pip install pytest
184
+ uv pip install cotengrust --no-index --no-deps --find-links dist --reinstall
185
+ uv pip install cotengrust pytest
178
186
  pytest
179
187
 
180
188
  macos:
@@ -182,15 +190,15 @@ jobs:
182
190
  strategy:
183
191
  matrix:
184
192
  platform:
185
- - runner: macos-13
193
+ - runner: macos-15-intel
186
194
  target: x86_64
187
- - runner: macos-14
195
+ - runner: macos-latest
188
196
  target: aarch64
189
197
  steps:
190
- - uses: actions/checkout@v5
198
+ - uses: actions/checkout@v6
191
199
  - uses: actions/setup-python@v6
192
200
  with:
193
- python-version: 3.x
201
+ python-version: "3.9"
194
202
  - name: Build wheels
195
203
  uses: PyO3/maturin-action@v1
196
204
  with:
@@ -198,30 +206,31 @@ jobs:
198
206
  args: --release --out dist --find-interpreter
199
207
  sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
200
208
  - name: Upload wheels
201
- uses: actions/upload-artifact@v4
209
+ uses: actions/upload-artifact@v6
202
210
  with:
203
211
  name: wheels-macos-${{ matrix.platform.target }}
204
212
  path: dist
213
+ - uses: astral-sh/setup-uv@v7
205
214
  - name: pytest
206
215
  run: |
207
216
  set -e
208
- python3 -m venv .venv
217
+ uv venv .venv
209
218
  source .venv/bin/activate
210
- pip install cotengrust --find-links dist --force-reinstall
211
- pip install pytest
219
+ uv pip install cotengrust --no-index --no-deps --find-links dist --reinstall
220
+ uv pip install cotengrust pytest
212
221
  pytest
213
222
 
214
223
  sdist:
215
224
  runs-on: ubuntu-latest
216
225
  steps:
217
- - uses: actions/checkout@v5
226
+ - uses: actions/checkout@v6
218
227
  - name: Build sdist
219
228
  uses: PyO3/maturin-action@v1
220
229
  with:
221
230
  command: sdist
222
231
  args: --out dist
223
232
  - name: Upload sdist
224
- uses: actions/upload-artifact@v4
233
+ uses: actions/upload-artifact@v6
225
234
  with:
226
235
  name: wheels-sdist
227
236
  path: dist
@@ -239,16 +248,16 @@ jobs:
239
248
  # Used to generate artifact attestation
240
249
  attestations: write
241
250
  steps:
242
- - uses: actions/download-artifact@v5
251
+ - uses: actions/download-artifact@v7
243
252
  - name: Generate artifact attestation
244
- uses: actions/attest-build-provenance@v3
253
+ uses: actions/attest@v4
245
254
  with:
246
255
  subject-path: 'wheels-*/*'
256
+ - name: Install uv
257
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
258
+ uses: astral-sh/setup-uv@v7
247
259
  - name: Publish to PyPI
248
260
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
249
- uses: PyO3/maturin-action@v1
261
+ run: uv publish 'wheels-*/*'
250
262
  env:
251
- MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
252
- with:
253
- command: upload
254
- args: --non-interactive --skip-existing wheels-*/*
263
+ UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
@@ -69,4 +69,8 @@ docs/_build/
69
69
  .vscode/
70
70
 
71
71
  # Pyenv
72
- .python-version
72
+ .python-version
73
+
74
+ # pixi environments
75
+ .pixi/*
76
+ !.pixi/config.toml
@@ -0,0 +1,222 @@
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 = "bit-set"
13
+ version = "0.10.0"
14
+ source = "registry+https://github.com/rust-lang/crates.io-index"
15
+ checksum = "09ec2f926cc3060f09db9ebc5b52823d85268d24bb917e472c0c4bea35780a7d"
16
+ dependencies = [
17
+ "bit-vec",
18
+ ]
19
+
20
+ [[package]]
21
+ name = "bit-vec"
22
+ version = "0.9.1"
23
+ source = "registry+https://github.com/rust-lang/crates.io-index"
24
+ checksum = "b71798fca2c1fe1086445a7258a4bc81e6e49dcd24c8d0dd9a1e57395b603f51"
25
+ dependencies = [
26
+ "serde",
27
+ ]
28
+
29
+ [[package]]
30
+ name = "cotengrust"
31
+ version = "0.2.1"
32
+ dependencies = [
33
+ "bit-set",
34
+ "fastrand",
35
+ "num-traits",
36
+ "ordered-float",
37
+ "pyo3",
38
+ "rustc-hash",
39
+ ]
40
+
41
+ [[package]]
42
+ name = "fastrand"
43
+ version = "2.4.1"
44
+ source = "registry+https://github.com/rust-lang/crates.io-index"
45
+ checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6"
46
+
47
+ [[package]]
48
+ name = "heck"
49
+ version = "0.5.0"
50
+ source = "registry+https://github.com/rust-lang/crates.io-index"
51
+ checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
52
+
53
+ [[package]]
54
+ name = "libc"
55
+ version = "0.2.186"
56
+ source = "registry+https://github.com/rust-lang/crates.io-index"
57
+ checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66"
58
+
59
+ [[package]]
60
+ name = "num-traits"
61
+ version = "0.2.19"
62
+ source = "registry+https://github.com/rust-lang/crates.io-index"
63
+ checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
64
+ dependencies = [
65
+ "autocfg",
66
+ ]
67
+
68
+ [[package]]
69
+ name = "once_cell"
70
+ version = "1.21.4"
71
+ source = "registry+https://github.com/rust-lang/crates.io-index"
72
+ checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
73
+
74
+ [[package]]
75
+ name = "ordered-float"
76
+ version = "5.3.0"
77
+ source = "registry+https://github.com/rust-lang/crates.io-index"
78
+ checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e"
79
+ dependencies = [
80
+ "num-traits",
81
+ ]
82
+
83
+ [[package]]
84
+ name = "portable-atomic"
85
+ version = "1.13.1"
86
+ source = "registry+https://github.com/rust-lang/crates.io-index"
87
+ checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49"
88
+
89
+ [[package]]
90
+ name = "proc-macro2"
91
+ version = "1.0.106"
92
+ source = "registry+https://github.com/rust-lang/crates.io-index"
93
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
94
+ dependencies = [
95
+ "unicode-ident",
96
+ ]
97
+
98
+ [[package]]
99
+ name = "pyo3"
100
+ version = "0.28.3"
101
+ source = "registry+https://github.com/rust-lang/crates.io-index"
102
+ checksum = "91fd8e38a3b50ed1167fb981cd6fd60147e091784c427b8f7183a7ee32c31c12"
103
+ dependencies = [
104
+ "libc",
105
+ "once_cell",
106
+ "portable-atomic",
107
+ "pyo3-build-config",
108
+ "pyo3-ffi",
109
+ "pyo3-macros",
110
+ ]
111
+
112
+ [[package]]
113
+ name = "pyo3-build-config"
114
+ version = "0.28.3"
115
+ source = "registry+https://github.com/rust-lang/crates.io-index"
116
+ checksum = "e368e7ddfdeb98c9bca7f8383be1648fd84ab466bf2bc015e94008db6d35611e"
117
+ dependencies = [
118
+ "target-lexicon",
119
+ ]
120
+
121
+ [[package]]
122
+ name = "pyo3-ffi"
123
+ version = "0.28.3"
124
+ source = "registry+https://github.com/rust-lang/crates.io-index"
125
+ checksum = "7f29e10af80b1f7ccaf7f69eace800a03ecd13e883acfacc1e5d0988605f651e"
126
+ dependencies = [
127
+ "libc",
128
+ "pyo3-build-config",
129
+ ]
130
+
131
+ [[package]]
132
+ name = "pyo3-macros"
133
+ version = "0.28.3"
134
+ source = "registry+https://github.com/rust-lang/crates.io-index"
135
+ checksum = "df6e520eff47c45997d2fc7dd8214b25dd1310918bbb2642156ef66a67f29813"
136
+ dependencies = [
137
+ "proc-macro2",
138
+ "pyo3-macros-backend",
139
+ "quote",
140
+ "syn",
141
+ ]
142
+
143
+ [[package]]
144
+ name = "pyo3-macros-backend"
145
+ version = "0.28.3"
146
+ source = "registry+https://github.com/rust-lang/crates.io-index"
147
+ checksum = "c4cdc218d835738f81c2338f822078af45b4afdf8b2e33cbb5916f108b813acb"
148
+ dependencies = [
149
+ "heck",
150
+ "proc-macro2",
151
+ "pyo3-build-config",
152
+ "quote",
153
+ "syn",
154
+ ]
155
+
156
+ [[package]]
157
+ name = "quote"
158
+ version = "1.0.46"
159
+ source = "registry+https://github.com/rust-lang/crates.io-index"
160
+ checksum = "dfbc457d0c7a0759a614551b11a6409e5951f6c7537be1f1b7682b9ae9230368"
161
+ dependencies = [
162
+ "proc-macro2",
163
+ ]
164
+
165
+ [[package]]
166
+ name = "rustc-hash"
167
+ version = "2.1.2"
168
+ source = "registry+https://github.com/rust-lang/crates.io-index"
169
+ checksum = "94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe"
170
+
171
+ [[package]]
172
+ name = "serde"
173
+ version = "1.0.228"
174
+ source = "registry+https://github.com/rust-lang/crates.io-index"
175
+ checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
176
+ dependencies = [
177
+ "serde_core",
178
+ "serde_derive",
179
+ ]
180
+
181
+ [[package]]
182
+ name = "serde_core"
183
+ version = "1.0.228"
184
+ source = "registry+https://github.com/rust-lang/crates.io-index"
185
+ checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
186
+ dependencies = [
187
+ "serde_derive",
188
+ ]
189
+
190
+ [[package]]
191
+ name = "serde_derive"
192
+ version = "1.0.228"
193
+ source = "registry+https://github.com/rust-lang/crates.io-index"
194
+ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
195
+ dependencies = [
196
+ "proc-macro2",
197
+ "quote",
198
+ "syn",
199
+ ]
200
+
201
+ [[package]]
202
+ name = "syn"
203
+ version = "2.0.118"
204
+ source = "registry+https://github.com/rust-lang/crates.io-index"
205
+ checksum = "1b9ae57f904213ebb649ce6895b8a66c66f0203b9319718f69a5612a065b1422"
206
+ dependencies = [
207
+ "proc-macro2",
208
+ "quote",
209
+ "unicode-ident",
210
+ ]
211
+
212
+ [[package]]
213
+ name = "target-lexicon"
214
+ version = "0.13.5"
215
+ source = "registry+https://github.com/rust-lang/crates.io-index"
216
+ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
217
+
218
+ [[package]]
219
+ name = "unicode-ident"
220
+ version = "1.0.24"
221
+ source = "registry+https://github.com/rust-lang/crates.io-index"
222
+ checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "cotengrust"
3
- version = "0.1.5"
3
+ version = "0.2.1"
4
4
  edition = "2021"
5
5
  readme = "README.md"
6
6
 
@@ -10,11 +10,11 @@ name = "cotengrust"
10
10
  crate-type = ["cdylib"]
11
11
 
12
12
  [dependencies]
13
- bit-set = "0.8"
13
+ bit-set = "0.10"
14
+ fastrand = "2.4.1"
14
15
  num-traits = "0.2"
15
- ordered-float = "5.1"
16
- pyo3 = "0.26"
17
- rand = "0.9"
16
+ ordered-float = "5.3"
17
+ pyo3 = "0.28"
18
18
  rustc-hash = "2.1"
19
19
 
20
20
  [profile.release]
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cotengrust
3
- Version: 0.1.5
3
+ Version: 0.2.1
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
7
7
  License-File: LICENSE
8
8
  Summary: Fast contraction ordering primitives for tensor networks.
9
9
  Author-email: Johnnie Gray <johnniemcgray@gmail.com>
10
- Requires-Python: >=3.8
10
+ Requires-Python: >=3.9
11
11
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
12
12
 
13
13
  # cotengrust