usearch 0.2.3 → 0.2.4

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.
@@ -7,6 +7,7 @@ on:
7
7
  env:
8
8
  BUILD_TYPE: Release
9
9
  GH_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}
10
+ PYTHONUTF8: 1
10
11
 
11
12
  # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
12
13
  permissions:
@@ -16,40 +17,51 @@ permissions:
16
17
 
17
18
  jobs:
18
19
 
19
- # versioning:
20
- # name: Semantic Release
21
- # runs-on: ubuntu-latest
22
- # steps:
23
- # - uses: actions/checkout@v3
24
- # with:
25
- # persist-credentials: false
26
- # - uses: actions/setup-node@v3
27
- # - run: cp .github/workflows/package.json . && npm install && npx semantic-release
20
+ versioning:
21
+ name: Semantic Release
22
+ runs-on: ubuntu-latest
23
+ steps:
24
+ - uses: actions/checkout@v3
25
+ with:
26
+ persist-credentials: false
27
+ - uses: actions/setup-node@v3
28
+ - run: npm install --save-dev @semantic-release/exec @semantic-release/git conventional-changelog-eslint semantic-release && npx semantic-release
28
29
 
29
30
  build_wheels:
30
31
  name: Build Wheels for ${{ matrix.os }}
32
+ needs: versioning
31
33
  runs-on: ${{ matrix.os }}
32
- # needs: versioning
33
34
  strategy:
34
35
  matrix:
35
- os: [ubuntu-20.04, macOS-11]
36
+ os: [ubuntu-20.04, macOS-11, windows-2022]
36
37
 
37
38
  steps:
38
39
  - uses: actions/checkout@v3
39
40
  with:
40
41
  ref: 'main'
41
42
  - uses: actions/setup-python@v3
42
- - uses: crazy-max/ghaction-setup-docker@v1.0.0
43
+
44
+ - name: Setup Docker
45
+ if: matrix.os != 'windows-2022'
46
+ uses: crazy-max/ghaction-setup-docker@v1.0.0
43
47
  with:
44
48
  version: 23.0.1
45
- - uses: docker/setup-qemu-action@v2.1.0
49
+
50
+ - name: Setup QEMU
51
+ if: matrix.os != 'windows-2022'
52
+ uses: docker/setup-qemu-action@v2.1.0
46
53
 
47
54
  - name: Install CIBuildWheel
48
55
  run: python -m pip install cibuildwheel
49
56
 
50
- - name: Build wheels
57
+ - name: Build wheels for Windows
58
+ if: matrix.os == 'windows-2022'
59
+ run: python -m cibuildwheel
60
+
61
+ - name: Build wheels for POSIX
62
+ if: matrix.os != 'windows-2022'
51
63
  run: python -m cibuildwheel
52
-
64
+
53
65
  - uses: actions/upload-artifact@v3
54
66
  with:
55
67
  path: ./wheelhouse/*.whl
@@ -57,8 +69,8 @@ jobs:
57
69
 
58
70
  publish_python:
59
71
  name: Publish Python
60
- runs-on: ubuntu-20.04
61
72
  needs: build_wheels
73
+ runs-on: ubuntu-20.04
62
74
  environment:
63
75
  name: pypi
64
76
  url: https://pypi.org/p/usearch
@@ -80,9 +92,12 @@ jobs:
80
92
 
81
93
  publish_javascript:
82
94
  name: Publish JavaScript
95
+ needs: versioning
83
96
  runs-on: ubuntu-latest
84
97
  steps:
85
98
  - uses: actions/checkout@v3
99
+ with:
100
+ ref: 'main'
86
101
  - run: git submodule update --init --recursive
87
102
  - uses: actions/setup-node@v3
88
103
  with:
@@ -96,9 +111,12 @@ jobs:
96
111
 
97
112
  publish_rust:
98
113
  name: Publish Rust
114
+ needs: versioning
99
115
  runs-on: ubuntu-latest
100
116
  steps:
101
117
  - uses: actions/checkout@v3
118
+ with:
119
+ ref: 'main'
102
120
  - run: git submodule update --init --recursive
103
121
  - uses: actions-rs/toolchain@v1
104
122
  with:
@@ -110,12 +128,15 @@ jobs:
110
128
 
111
129
  publish_java:
112
130
  name: Publish Java
131
+ needs: versioning
113
132
  runs-on: ubuntu-latest
114
133
  permissions:
115
134
  contents: read
116
135
  packages: write
117
136
  steps:
118
137
  - uses: actions/checkout@v3
138
+ with:
139
+ ref: 'main'
119
140
  - run: git submodule update --init --recursive
120
141
  - uses: actions/setup-java@v3
121
142
  with:
@@ -132,9 +153,12 @@ jobs:
132
153
 
133
154
  publish_swift:
134
155
  name: Publish ObjC & Swift
156
+ needs: versioning
135
157
  runs-on: macos-latest
136
158
  steps:
137
159
  - uses: actions/checkout@v3
160
+ with:
161
+ ref: 'main'
138
162
  - run: git submodule update --init --recursive
139
163
  - name: Build
140
164
  run: swift build
@@ -0,0 +1,6 @@
1
+ #!/bin/sh
2
+
3
+ echo $1 > VERSION &&
4
+ sed -i "s/\"version\": \".*\"/\"version\": \"$1\"/" package.json &&
5
+ sed -i "s/version = \".*\"/version = \"$1\"/" Cargo.toml &&
6
+ sed -i "s/version = '.*'/version = '$1'/" conanfile.py
package/.releaserc ADDED
@@ -0,0 +1,77 @@
1
+ {
2
+ "branches": [
3
+ "main"
4
+ ],
5
+ "debug": true,
6
+ "ci": true,
7
+ "dryRun": false,
8
+ "plugins": [
9
+ [
10
+ "@semantic-release/commit-analyzer",
11
+ {
12
+ "preset": "eslint",
13
+ "releaseRules": [
14
+ {
15
+ "tag": "Add",
16
+ "release": "minor"
17
+ },
18
+ {
19
+ "tag": "Improve",
20
+ "release": "patch"
21
+ },
22
+ {
23
+ "tag": "Make",
24
+ "release": "patch"
25
+ },
26
+ {
27
+ "tag": "Refactor",
28
+ "release": false
29
+ }
30
+ ]
31
+ }
32
+ ],
33
+ [
34
+ "@semantic-release/release-notes-generator",
35
+ {
36
+ "preset": "eslint",
37
+ "releaseRules": [
38
+ {
39
+ "tag": "Add",
40
+ "release": "minor"
41
+ },
42
+ {
43
+ "tag": "Improve",
44
+ "release": "patch"
45
+ },
46
+ {
47
+ "tag": "Make",
48
+ "release": "patch"
49
+ },
50
+ {
51
+ "tag": "Refactor",
52
+ "release": false
53
+ }
54
+ ]
55
+ }
56
+ ],
57
+ "@semantic-release/github",
58
+ [
59
+ "@semantic-release/exec",
60
+ {
61
+ "prepareCmd": "bash .github/workflows/update_version.sh '${nextRelease.version}'"
62
+ }
63
+ ],
64
+ [
65
+ "@semantic-release/git",
66
+ {
67
+ "assets": [
68
+ "VERSION",
69
+ "conanfile.py",
70
+ "package.json",
71
+ "Cargo.toml",
72
+ ],
73
+ "message": "Build: Released ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
74
+ }
75
+ ]
76
+ ]
77
+ }
@@ -102,16 +102,25 @@
102
102
  },
103
103
  "cSpell.words": [
104
104
  "astype",
105
+ "BLAS",
106
+ "downcasted",
107
+ "Downcasting",
105
108
  "dtype",
106
109
  "equidimensional",
110
+ "FAISS",
107
111
  "hashable",
112
+ "HNSW",
108
113
  "jaccard",
109
114
  "longlong",
110
115
  "memmap",
111
116
  "ndim",
117
+ "Numba",
112
118
  "preprocess",
119
+ "Quickstart",
113
120
  "simsimd",
114
- "usearch"
121
+ "SLOC",
122
+ "usearch",
123
+ "usecases"
115
124
  ],
116
125
  "java.configuration.updateBuildConfiguration": "interactive"
117
126
  }
package/Cargo.toml CHANGED
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "usearch"
3
- version = "0.2.3"
3
+ version = "0.2.4"
4
4
  authors = ["Ashot Vardanian <1983160+ashvardanian@users.noreply.github.com>"]
5
5
  description = "Smaller & Faster Single-File Vector Search Engine from Unum"
6
6
  edition = "2021"