-
Notifications
You must be signed in to change notification settings - Fork 248
Source Code
The pyclustering library is implemented using two languages: Python and C/C++. The first is for maximum portability. The second is to reach maximum performance.
Therefore pyclustering library supports implementation of each algorithm on both languages. Almost each algorithm, method or model has special flag 'ccore'. By default this flag is always 'False' and it means that Python code used for processing. If this flag 'ccore' is 'True' then pyclustering core - C/C++ shared library is used for processing.
Sources are located in following folders:
- Python source code location:
pyclustering/pyclustering/
- C/C++ source code location:
pyclustering/ccore/src/
To keep high quality pyclustering library uses two types of testing: unit-tests and integration tests.
Tests are located in following folders:
- Integration tests location:
pyclustering/pyclustering/<module name>/tests/integration/
- Python unit-tests location:
pyclustering/pyclustering/<module name>/tests/unit/
- C/C++ unit-tests location:
pyclustering/ccore/tst/
It is important to show general abilities of each algorithm, method or model and therefore pyclustering provide source code examples that demonstrate how to use the library and display usage results.
Examples are located in following folders:
- Python code examples:
pyclustering/pyclustering/<module name>/examples/
And last words related to source code of the pyclustering library - it is distributed under GPL-3 license. Thus you can use where ever you want even separate parts of the code.