Skip to content

Commit a4befb4

Browse files
authored
Improved: Compatibility & Docs
2 parents 869b8d8 + 889bf25 commit a4befb4

File tree

22 files changed

+165
-859
lines changed

22 files changed

+165
-859
lines changed

.github/workflows/release.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ jobs:
3232
version-file: "VERSION"
3333
update-version-in: |
3434
Cargo.toml:^version = "(\d+\.\d+\.\d+)"
35-
Cargo.lock:name = "simsimd"\nversion = "(\d+\.\d+\.\d+)"
3635
package.json:"version": "(\d+\.\d+\.\d+)"
3736
CMakeLists.txt:VERSION (\d+\.\d+\.\d+)
3837
update-major-version-in: |

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,7 @@ target/
6969

7070
# perfplot charts
7171
*.png
72+
\n
73+
74+
# Library crate: don't commit lockfile
75+
Cargo.lock

CONTRIBUTING.md

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 100
4949
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 100
5050
```
5151

52-
To compile with the default Apple Clang on MacOS, use:
52+
To compile with the default Apple Clang on macOS, use:
5353

5454
```sh
5555
brew install openblas
@@ -63,8 +63,8 @@ cmake -D CMAKE_BUILD_TYPE=Release \
6363
cmake --build build_release --config Release
6464
```
6565

66-
On MacOS it's recommended to use Homebrew and install Clang, as opposed to "Apple Clang".
67-
Replacing the default compiler across the entire system is not recommended on MacOS, as it may break the system, but you can pass it as an environment variable:
66+
On macOS it's recommended to use Homebrew and install Clang, as opposed to "Apple Clang".
67+
Replacing the default compiler across the entire system is not recommended on macOS, as it may break the system, but you can pass it as an environment variable:
6868

6969
```sh
7070
brew install llvm openblas
@@ -124,7 +124,7 @@ Here, `-s` will output the logs.
124124
The `-x` will stop on the first failure.
125125
The `-Wd` will silence overflows and runtime warnings.
126126

127-
When building on MacOS, same as with C/C++, use non-Apple Clang version:
127+
When building on macOS, same as with C/C++, use non-Apple Clang version:
128128

129129
```sh
130130
brew install llvm
@@ -174,7 +174,7 @@ $ python scripts/bench_vectors.py --help
174174
175175
176176
Before merging your changes you may want to test your changes against the entire matrix of Python versions USearch supports.
177-
For that you need the `cibuildwheel`, which is tricky to use on MacOS and Windows, as it would target just the local environment.
177+
For that you need the `cibuildwheel`, which is tricky to use on macOS and Windows, as it would target just the local environment.
178178
Still, if you have Docker running on any desktop OS, you can use it to build and test the Python bindings for all Python versions for Linux:
179179
180180
```sh
@@ -184,7 +184,7 @@ cibuildwheel --platform linux # works on any OS and builds all
184184
cibuildwheel --platform linux --archs x86_64 # 64-bit x86, the most common on desktop and servers
185185
cibuildwheel --platform linux --archs aarch64 # 64-bit Arm for mobile devices, Apple M-series, and AWS Graviton
186186
cibuildwheel --platform linux --archs i686 # 32-bit Linux
187-
cibuildwheel --platform macos # works only on MacOS
187+
cibuildwheel --platform macos # works only on macOS
188188
cibuildwheel --platform windows # works only on Windows
189189
```
190190
@@ -194,7 +194,7 @@ You may need root privileges for multi-architecture builds:
194194
sudo $(which cibuildwheel) --platform linux
195195
```
196196
197-
On Windows and MacOS, to avoid frequent path resolution issues, you may want to use:
197+
On Windows and macOS, to avoid frequent path resolution issues, you may want to use:
198198
199199
```sh
200200
python -m cibuildwheel --platform windows
@@ -209,6 +209,13 @@ cargo bench
209209
open target/criterion/report/index.html
210210
```
211211
212+
To automatically detect the Minimum Supported Rust Version (MSRV):
213+
214+
```sh
215+
cargo +stable install cargo-msrv
216+
cargo msrv find --ignore-lockfile
217+
```
218+
212219
## JavaScript
213220
214221
### NodeJS
@@ -217,7 +224,7 @@ If you don't have the environment configured, here are the [installation options
217224
218225
```sh
219226
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash # Linux
220-
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash # MacOS
227+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash # macOS
221228
```
222229
223230
Install dependencies:
@@ -242,7 +249,7 @@ If you don't have the environment configured, here are [installation options](ht
242249
243250
```sh
244251
wget -qO- https://deno.land/x/install/install.sh | sh # Linux
245-
curl -fsSL https://deno.land/install.sh | sh # MacOS
252+
curl -fsSL https://deno.land/install.sh | sh # macOS
246253
irm https://deno.land/install.ps1 | iex # Windows
247254
```
248255

0 commit comments

Comments
 (0)