Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
napf - nanoflann wrappers for python and maybe fortran
As nanoflann offers template classes, separate classes are implemented in napf
for each {datatype, distance metric}. All the search functions are equipped with multi-thread execution. Uses numpy.ndarray for data input and output.
Currently, the combinations of following options are supported:
data type
: {double, float, int, long} (corresponds to {np.float64, np.float32, np.int32, np.int64})distance metric
: {L1, L2}
Note that functions return squared distances, when you use the L2 metric.install with pip:
pip install --upgrade pip
pip install napf
Note: in case your system requires a dynamic build, you need a c++11 compatible c++ compiler. To make sure a correct compiler is chosen, set export CC=<your-c-compiler> CXX=<your-c++-compiler>
import napf
import numpy as np
data = <data in 2D array>
queries = <query points in 2D array>
kdt = napf.KDT(tree_data=data, metric=1)
distances, indices = kdt.knn_search(
queries=queries,
kneighbors=3,
nthread=4,
)
...
If you need fortran bindings, please let us know by creating an issue.
This package uses a sphinx
based documentation. An online version of the documentation can be found at napf - documentation.
If you want to build the documentation yourself use the following commands in the package root directory.
pip install -r ./docs/requirements.txt
sphinx-build -W -b html docs/source docs/build
You will find the documentation in the docs/build folder.
FAQs
nanoflann python bindings for kdtree with multithreaded queries
We found that napf demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.