
Security News
npm Adopts OIDC for Trusted Publishing in CI/CD Workflows
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
|JOSS|
pyclustering is a Python, C++ data mining library (clustering algorithm, oscillatory networks, neural networks). The library provides Python and C++ implementations (C++ pyclustering library) of each algorithm or model. C++ pyclustering library is a part of pyclustering and supported for Linux, Windows and MacOS operating systems.
Official repository: https://github.com/annoviko/pyclustering/
Documentation: https://pyclustering.github.io/docs/0.10.1/html/
Required packages: scipy, matplotlib, numpy, Pillow
Python version: >=3.6 (32-bit, 64-bit)
C++ version: >= 14 (32-bit, 64-bit)
Each algorithm is implemented using Python and C/C++ language, if your platform is not supported then Python
implementation is used, otherwise C/C++. Implementation can be chosen by ccore
flag (by default it is always
'True' and it means that C/C++ is used), for example:
.. code:: python
# As by default - C/C++ part of the library is used
xmeans_instance_1 = xmeans(data_points, start_centers, 20, ccore=True);
# The same - C/C++ part of the library is used by default
xmeans_instance_2 = xmeans(data_points, start_centers, 20);
# Switch off core - Python is used
xmeans_instance_3 = xmeans(data_points, start_centers, 20, ccore=False);
Installation using pip3 tool:
.. code:: bash
$ pip3 install pyclustering
Manual installation from official repository using Makefile:
.. code:: bash
# get sources of the pyclustering library, for example, from repository
$ mkdir pyclustering
$ cd pyclustering/
$ git clone https://github.com/annoviko/pyclustering.git .
# compile CCORE library (core of the pyclustering library).
$ cd ccore/
$ make ccore_64bit # build for 64-bit OS
# $ make ccore_32bit # build for 32-bit OS
# return to parent folder of the pyclustering library
$ cd ../
# install pyclustering library
$ python3 setup.py install
# optionally - test the library
$ python3 setup.py test
Manual installation using CMake:
.. code:: bash
# get sources of the pyclustering library, for example, from repository
$ mkdir pyclustering
$ cd pyclustering/
$ git clone https://github.com/annoviko/pyclustering.git .
# generate build files.
$ mkdir build
$ cmake ..
# build pyclustering-shared target depending on what was generated (Makefile or MSVC solution)
# if Makefile has been generated then
$ make pyclustering-shared
# return to parent folder of the pyclustering library
$ cd ../
# install pyclustering library
$ python3 setup.py install
# optionally - test the library
$ python3 setup.py test
Manual installation using Microsoft Visual Studio solution:
pyclustering/ccore
ccore.sln
x86
or x64
pyclustering-shared
project... code:: bash
# install pyclustering library
$ python3 setup.py install
# optionally - test the library
$ python3 setup.py test
In case of any questions, proposals or bugs related to the pyclustering please contact to pyclustering@yandex.ru.
Issue tracker: https://github.com/annoviko/pyclustering/issues
Clustering algorithms (module pyclustering.cluster):
Oscillatory networks and neural networks (module pyclustering.nnet):
Graph Coloring Algorithms (module pyclustering.gcolor):
Containers (module pyclustering.container):
If you are using pyclustering library in a scientific paper, please, cite the library:
Novikov, A., 2019. PyClustering: Data Mining Library. Journal of Open Source Software, 4(36), p.1230. Available at: http://dx.doi.org/10.21105/joss.01230.
BibTeX entry:
.. code::
@article{Novikov2019,
doi = {10.21105/joss.01230},
url = {https://doi.org/10.21105/joss.01230},
year = 2019,
month = {apr},
publisher = {The Open Journal},
volume = {4},
number = {36},
pages = {1230},
author = {Andrei Novikov},
title = {{PyClustering}: Data Mining Library},
journal = {Journal of Open Source Software}
}
.. |JOSS| image:: http://joss.theoj.org/papers/10.21105/joss.01230/status.svg :target: https://doi.org/10.21105/joss.01230
FAQs
pyclustring is a python data mining library
We found that pyclustering 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
npm now supports Trusted Publishing with OIDC, enabling secure package publishing directly from CI/CD workflows without relying on long-lived tokens.
Research
/Security News
A RubyGems malware campaign used 60 malicious packages posing as automation tools to steal credentials from social media and marketing tool users.
Security News
The CNA Scorecard ranks CVE issuers by data completeness, revealing major gaps in patch info and software identifiers across thousands of vulnerabilities.