diff --git a/.gitignore b/.gitignore index 4bea037..95de071 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .idea cleora-light-rust.iml *.out +*.so \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 46f3305..ac645ea 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pycleora" -version = "2.0.0" +version = "2.1.0" edition = "2018" license-file = "LICENSE" readme = "README.md" diff --git a/pycleora/py.typed b/pycleora/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/pycleora/pycleora.pyi b/pycleora/pycleora.pyi new file mode 100644 index 0000000..e508d57 --- /dev/null +++ b/pycleora/pycleora.pyi @@ -0,0 +1,38 @@ +from typing import Any, Iterable, Optional, Self + +import numpy as np +from numpy.typing import NDArray + + +class SparseMatrix: + def __new__(cls, *args: Any) -> Self: + pass + + @classmethod + def from_iterator( + cls, hyperedges: Iterable[str], columns: str, hyperedge_trim_n: int = 16, num_workers: Optional[int] = None + ) -> Self: + pass + + @classmethod + def from_files( + cls, filepaths: list[str], columns: str, hyperedge_trim_n: int = 16, num_workers: Optional[int] = None + ) -> Self: + pass + + def left_markov_propagate(self, x: NDArray[np.float32], num_workers: Optional[int] = None) -> NDArray[np.float32]: + pass + + def symmetric_markov_propagate( + self, x: NDArray[np.float32], num_workers: Optional[int] = None + ) -> NDArray[np.float32]: + pass + + def get_entity_column_mask(self, column_name: str) -> NDArray[np.bool]: + pass + + def entity_degrees(self) -> NDArray[np.float32]: + pass + + def initialize_deterministically(self, feature_dim: int, seed: int = 0) -> NDArray[np.float32]: + pass diff --git a/pyproject.toml b/pyproject.toml index b395b0c..2255231 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ classifiers = [ "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", ] -version = "2.0.0" +version = "2.1.0" description = "Sparse hypergraph structure and markov-propagation for node embeddings embeddings exposed via Python bindings." readme = { file = "README.md", content-type = "text/markdown" } authors = [