arrowspace 0.13.1__tar.gz → 0.13.3__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.

Potentially problematic release.


This version of arrowspace might be problematic. Click here for more details.

Files changed (70) hide show
  1. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/Cargo.lock +7 -4
  2. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/Cargo.toml +3 -3
  3. {arrowspace-0.13.1 → arrowspace-0.13.3}/PKG-INFO +1 -1
  4. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/README.md +3 -3
  5. {arrowspace-0.13.1 → arrowspace-0.13.3}/pyproject.toml +0 -1
  6. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/src/lib.rs +4 -4
  7. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/tests/test_0.py +1 -1
  8. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/tests/test_1_quora_questions.py +1 -1
  9. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/tests/test_2_CVE_db.py +1 -1
  10. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/tests/test_3_beir.py +1 -1
  11. arrowspace-0.13.1/arrowspace-rs/.gitignore +0 -2
  12. arrowspace-0.13.1/arrowspace-rs/CITATION.cff +0 -26
  13. arrowspace-0.13.1/arrowspace-rs/CODE_OF_CONDUCT.md +0 -22
  14. arrowspace-0.13.1/arrowspace-rs/CONTRIBUTING.md +0 -44
  15. arrowspace-0.13.1/arrowspace-rs/Cargo.lock +0 -1226
  16. arrowspace-0.13.1/arrowspace-rs/Cargo.toml +0 -51
  17. arrowspace-0.13.1/arrowspace-rs/LICENSE +0 -202
  18. arrowspace-0.13.1/arrowspace-rs/LICENSE_MIT +0 -21
  19. arrowspace-0.13.1/arrowspace-rs/README.md +0 -117
  20. arrowspace-0.13.1/arrowspace-rs/RESEARCH.md +0 -239
  21. arrowspace-0.13.1/arrowspace-rs/benches/base_index_bench.rs +0 -244
  22. arrowspace-0.13.1/arrowspace-rs/benches/base_laplacian_bench.rs +0 -266
  23. arrowspace-0.13.1/arrowspace-rs/benches/baselines/base_index_bench.json +0 -16
  24. arrowspace-0.13.1/arrowspace-rs/benches/baselines/base_laplacian_bench.json +0 -35
  25. arrowspace-0.13.1/arrowspace-rs/benches/index_compute_bench.rs +0 -324
  26. arrowspace-0.13.1/arrowspace-rs/examples/01_compare_cosine.rs +0 -296
  27. arrowspace-0.13.1/arrowspace-rs/examples/02_proteins_lookup.rs +0 -236
  28. arrowspace-0.13.1/arrowspace-rs/examples/common/lib.rs +0 -445
  29. arrowspace-0.13.1/arrowspace-rs/examples/compare_cosine.rs +0 -312
  30. arrowspace-0.13.1/arrowspace-rs/examples/proteins_lookup.rs +0 -233
  31. arrowspace-0.13.1/arrowspace-rs/paper.bib +0 -142
  32. arrowspace-0.13.1/arrowspace-rs/paper.md +0 -161
  33. arrowspace-0.13.1/arrowspace-rs/src/builder.rs +0 -566
  34. arrowspace-0.13.1/arrowspace-rs/src/clustering.rs +0 -507
  35. arrowspace-0.13.1/arrowspace-rs/src/core.rs +0 -1002
  36. arrowspace-0.13.1/arrowspace-rs/src/graph.rs +0 -684
  37. arrowspace-0.13.1/arrowspace-rs/src/laplacian.rs +0 -393
  38. arrowspace-0.13.1/arrowspace-rs/src/lib.rs +0 -39
  39. arrowspace-0.13.1/arrowspace-rs/src/main.rs +0 -3
  40. arrowspace-0.13.1/arrowspace-rs/src/reduction.rs +0 -196
  41. arrowspace-0.13.1/arrowspace-rs/src/sampling.rs +0 -79
  42. arrowspace-0.13.1/arrowspace-rs/src/sparsification.rs +0 -208
  43. arrowspace-0.13.1/arrowspace-rs/src/taumode.rs +0 -350
  44. arrowspace-0.13.1/arrowspace-rs/src/tests/mod.rs +0 -27
  45. arrowspace-0.13.1/arrowspace-rs/src/tests/test_arrow.rs +0 -1142
  46. arrowspace-0.13.1/arrowspace-rs/src/tests/test_builder.rs +0 -375
  47. arrowspace-0.13.1/arrowspace-rs/src/tests/test_clustering.rs +0 -667
  48. arrowspace-0.13.1/arrowspace-rs/src/tests/test_data.rs +0 -6353
  49. arrowspace-0.13.1/arrowspace-rs/src/tests/test_dimensional.rs +0 -94
  50. arrowspace-0.13.1/arrowspace-rs/src/tests/test_graph_factory.rs +0 -384
  51. arrowspace-0.13.1/arrowspace-rs/src/tests/test_helpers.rs +0 -159
  52. arrowspace-0.13.1/arrowspace-rs/src/tests/test_laplacian.rs +0 -804
  53. arrowspace-0.13.1/arrowspace-rs/src/tests/test_laplacian_unnormalised.rs +0 -683
  54. arrowspace-0.13.1/arrowspace-rs/src/tests/test_querying_proj.rs +0 -712
  55. arrowspace-0.13.1/arrowspace-rs/src/tests/test_reduction.rs +0 -330
  56. arrowspace-0.13.1/arrowspace-rs/src/tests/test_taumode.rs +0 -720
  57. arrowspace-0.13.1/pyarrowspace/tests/small_datasets/vectors_data_3000.txt +0 -3000
  58. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/.github/workflows/CI.yml +0 -0
  59. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/.gitignore +0 -0
  60. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/GRAPH_VARIABLES.md +0 -0
  61. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/LICENSE +0 -0
  62. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/NORMALISATION.md +0 -0
  63. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/TAUMODE.md +0 -0
  64. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/src/tests.rs +0 -0
  65. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/src/tests_python.rs +0 -0
  66. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/tests/__init__.py +0 -0
  67. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/tests/embeddings_model.py +0 -0
  68. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/tests/requirements.txt +0 -0
  69. {arrowspace-0.13.1/arrowspace-rs/examples/common/datasets → arrowspace-0.13.3/tests/small_datasets}/vectors_data_3000.txt +0 -0
  70. {arrowspace-0.13.1/pyarrowspace → arrowspace-0.13.3}/tests/svdecomposition.py +0 -0
@@ -92,7 +92,9 @@ dependencies = [
92
92
 
93
93
  [[package]]
94
94
  name = "arrowspace"
95
- version = "0.13.1"
95
+ version = "0.13.3"
96
+ source = "registry+https://github.com/rust-lang/crates.io-index"
97
+ checksum = "c6a0216c0bc0fd7f7136fb2118a9df9a517f10db14a9cd987e955a85619e0cb0"
96
98
  dependencies = [
97
99
  "approx 0.5.1",
98
100
  "dashmap",
@@ -513,7 +515,7 @@ dependencies = [
513
515
 
514
516
  [[package]]
515
517
  name = "pyarrowspace"
516
- version = "0.13.1"
518
+ version = "0.13.3"
517
519
  dependencies = [
518
520
  "arrowspace",
519
521
  "numpy",
@@ -762,8 +764,9 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
762
764
 
763
765
  [[package]]
764
766
  name = "smartcore"
765
- version = "0.4.3"
766
- source = "git+https://github.com/tuned-org-uk/smartcore.git?branch=main#d6e210e6ed5babafc3d11bec617e50395c8aab71"
767
+ version = "0.4.5"
768
+ source = "registry+https://github.com/rust-lang/crates.io-index"
769
+ checksum = "9e569eba50db04f51f83ad1ad2186cc1cf88bb68de052177bda165f6cdcf8d81"
767
770
  dependencies = [
768
771
  "approx 0.5.1",
769
772
  "cfg-if",
@@ -1,11 +1,11 @@
1
1
  [package]
2
2
  name = "pyarrowspace"
3
- version = "0.13.1"
3
+ version = "0.13.3"
4
4
  edition = "2024"
5
5
  readme = "README.md"
6
6
 
7
7
  [lib]
8
- name = "pyarrowspace"
8
+ name = "arrowspace"
9
9
  # "cdylib" is necessary to produce a shared library for Python to import from.
10
10
  #
11
11
  # Downstream Rust code (including code in `bin/`, `examples/`, and `tests/`) will not be able
@@ -14,6 +14,6 @@ name = "pyarrowspace"
14
14
  crate-type = ["cdylib"]
15
15
 
16
16
  [dependencies]
17
- arrowspace = { path = "../arrowspace-rs"}
17
+ arrowspace = "0.13.3"
18
18
  pyo3 = { version = "*", features = ["extension-module"] }
19
19
  numpy = "0.19"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arrowspace
3
- Version: 0.13.1
3
+ Version: 0.13.3
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -2,12 +2,12 @@
2
2
 
3
3
  Python bindings for [`arrowspace-rs`](https://github.com/Mec-iS/arrowspace-rs). This is experimental software meant for research at current state.
4
4
 
5
- This is the starting repository for `pyarrowspace`, it is made public as a showcase for the Python interface, to collect feedback and make public some results of the tests run. To run needs the `arrowspace-rs` Rust module in a sibling directory.
5
+ This is the starting repository for `arrowspace`, it is made public as a showcase for the Python interface, to collect feedback and make public some results of the tests run. To run needs the `arrowspace-rs` Rust module in a sibling directory.
6
6
 
7
7
  ## Installation
8
8
  From PyPi:
9
9
  ```
10
- pip install pyarrowspace
10
+ pip install arrowspace
11
11
  ```
12
12
  or any other way of installing a Python library.
13
13
 
@@ -32,7 +32,7 @@ There are other tests but they require downloadin a dataset separately or fine-t
32
32
 
33
33
  ```python
34
34
  import numpy as np
35
- from pyarrowspace import ArrowSpaceBuilder, GraphLaplacian
35
+ from arrowspace import ArrowSpaceBuilder, GraphLaplacian
36
36
 
37
37
  items = np.array([[0.1, 0.2, 0.3],
38
38
  [0.0, 0.5, 0.1],
@@ -13,4 +13,3 @@ classifiers = [
13
13
  dynamic = ["version"]
14
14
  [tool.maturin]
15
15
  features = ["pyo3/extension-module"]
16
- manifest-path = "pyarrowspace/Cargo.toml"
@@ -5,9 +5,9 @@ use pyo3::types::PyDict;
5
5
 
6
6
  use numpy::{PyArray, PyArray1, PyArray2, PyReadonlyArray1, PyReadonlyArray2};
7
7
 
8
- use arrowspace::builder::ArrowSpaceBuilder as RustBuilder;
9
- use arrowspace::core::{ArrowItem, ArrowSpace};
10
- use arrowspace::graph::GraphLaplacian;
8
+ use ::arrowspace::builder::ArrowSpaceBuilder as RustBuilder;
9
+ use ::arrowspace::core::{ArrowItem, ArrowSpace};
10
+ use ::arrowspace::graph::GraphLaplacian;
11
11
 
12
12
  use std::sync::atomic::{AtomicBool, Ordering};
13
13
  static DEBUG: AtomicBool = AtomicBool::new(false);
@@ -317,7 +317,7 @@ impl PyArrowSpaceBuilder {
317
317
  }
318
318
 
319
319
  #[pymodule]
320
- pub fn pyarrowspace(_py: Python, m: &PyModule) -> PyResult<()> {
320
+ pub fn arrowspace(_py: Python, m: &PyModule) -> PyResult<()> {
321
321
  m.add_class::<PyArrowSpaceBuilder>()?;
322
322
  m.add_class::<PyArrowSpace>()?;
323
323
  m.add_class::<PyGraphLaplacian>()?;
@@ -1,5 +1,5 @@
1
1
  import numpy as np
2
- from pyarrowspace import ArrowSpaceBuilder, GraphLaplacian
2
+ from arrowspace import ArrowSpaceBuilder, GraphLaplacian
3
3
 
4
4
  items = np.array([
5
5
  [0.82,0.11,0.43,0.28,0.64,0.32,0.55,0.48,0.19,0.73,0.07,0.36,0.58,0.23,0.44,0.31,0.52,0.16,0.61,0.40,0.27,0.49,0.35,0.29],
@@ -7,7 +7,7 @@ from sentence_transformers import SentenceTransformer
7
7
  from sklearn.preprocessing import normalize
8
8
  from collections import defaultdict
9
9
 
10
- from pyarrowspace import ArrowSpaceBuilder, set_debug
10
+ from arrowspace import ArrowSpaceBuilder, set_debug
11
11
 
12
12
  set_debug(True) # optional: Rust-side debug prints to stderr
13
13
 
@@ -16,7 +16,7 @@ import os, json, glob
16
16
  import numpy as np
17
17
  from tqdm import tqdm
18
18
  from sentence_transformers import SentenceTransformer
19
- from pyarrowspace import ArrowSpaceBuilder, set_debug
19
+ from arrowspace import ArrowSpaceBuilder, set_debug
20
20
 
21
21
  set_debug(True) # optional: Rust-side debug prints to stderr
22
22
 
@@ -8,7 +8,7 @@ from sklearn.preprocessing import normalize
8
8
  from collections import defaultdict
9
9
  import json
10
10
 
11
- from pyarrowspace import ArrowSpaceBuilder, set_debug
11
+ from arrowspace import ArrowSpaceBuilder, set_debug
12
12
 
13
13
  set_debug(True) # optional: Rust-side debug prints to stderr
14
14
 
@@ -1,2 +0,0 @@
1
- /target
2
- TODOs.md
@@ -1,26 +0,0 @@
1
- cff-version: "1.2.0"
2
- authors:
3
- - family-names: Moriondo
4
- given-names: Lorenzo
5
- orcid: "https://orcid.org/0000-0002-8804-2963"
6
- doi: 10.5281/zenodo.17213264
7
- message: If you use this software, please cite our article in the
8
- Journal of Open Source Software.
9
- preferred-citation:
10
- authors:
11
- - family-names: Moriondo
12
- given-names: Lorenzo
13
- orcid: "https://orcid.org/0000-0002-8804-2963"
14
- date-published: 2025-09-27
15
- doi: 10.21105/joss.09002
16
- issn: 2475-9066
17
- issue: 113
18
- journal: Journal of Open Source Software
19
- publisher:
20
- name: Open Journals
21
- start: 9002
22
- title: "ArrowSpace: introducing Spectral Indexing for vector search"
23
- type: article
24
- url: "https://joss.theoj.org/papers/10.21105/joss.09002"
25
- volume: 10
26
- title: "ArrowSpace: introducing Spectral Indexing for vector search"
@@ -1,22 +0,0 @@
1
- # Code of Conduct
2
-
3
- As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4
-
5
- We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
6
-
7
- Examples of unacceptable behavior by participants include:
8
-
9
- * The use of sexualized language or imagery
10
- * Personal attacks
11
- * Trolling or insulting/derogatory comments
12
- * Public or private harassment
13
- * Publishing other's private information, such as physical or electronic addresses, without explicit permission
14
- * Other unethical or unprofessional conduct.
15
-
16
- Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
17
-
18
- This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
19
-
20
- Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
21
-
22
- This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)
@@ -1,44 +0,0 @@
1
- # **Contributing**
2
-
3
- When contributing to this repository, please first discuss the change you wish to make via issue,
4
- email, or any other method with the owners of this repository before making a change.
5
-
6
- Please note we have a [code of conduct](CODE_OF_CONDUCT.md), please follow it in all your interactions with the project.
7
-
8
- ## Pull Request Process
9
-
10
- 1. Open a PR following the template (erase the part of the template you don't need).
11
- 2. Pull Request can be merged in once you have the sign-off of a code owner, or if you do not have permission to do that you may request the reviewer to merge it for you.
12
-
13
- ### generic guidelines
14
- Take a look to the conventions established by existing code:
15
- * Every module should come with some reference to scientific literature that allows relating the code to research. Use the `//!` comments at the top of the module to tell readers about the basics of the procedure you are implementing.
16
- * Every module should provide a Rust doctest, a brief test embedded with the documentation that explains how to use the procedure implemented.
17
- * Run `cargo doc --no-deps --open` and read the generated documentation in the browser to be sure that your changes reflects in the documentation and new code is documented.
18
-
19
- ## Issue Report Process
20
-
21
- 1. Go to the project's issues.
22
- 2. Select the template that better fits your issue.
23
- 3. Read carefully the instructions and write within the template guidelines.
24
- 4. Submit it and wait for support.
25
-
26
- ## Reviewing process
27
-
28
- 1. After a PR is opened maintainers are notified
29
- 2. Probably changes will be required to comply with the workflow, these commands are run automatically and all tests shall pass:
30
- * **Formatting**: run `rustfmt src/*.rs` to apply automatic formatting
31
- * **Linting**: `clippy` is used with command `cargo clippy --all-features -- -Drust-2018-idioms -Dwarnings`
32
- * **Testing**: multiple test pipelines are run for different targets
33
- 3. When everything is OK and the PR is accepted, code is merged.
34
-
35
-
36
- ## Contribution Best Practices
37
-
38
- * Read this [how-to about Github workflow here](https://guides.github.com/introduction/flow/) if you are not familiar with.
39
-
40
- * Read this [how-to about writing a PR](https://github.com/blog/1943-how-to-write-the-perfect-pull-request) and this [other how-to about writing a issue](https://wiredcraft.com/blog/how-we-write-our-github-issues/)
41
-
42
- * **read history**: search past open or closed issues for your problem before opening a new issue.
43
-
44
- * **testing**: everything should work and be tested as defined in the workflow. If any is failing for non-related reasons, annotate the test failure in the PR comment.