Abydos is a library of phonetic algorithms, string distance measures & metrics, stemmers, and string fingerprinters.
Optional libraries (all available on PyPI, some available on conda or conda-forge):
To install Abydos (master) from Github source:
git clone https://github.com/chrislit/abydos.git --recursive cd abydos python setup install
If your default python command calls Python 2.7 but you want to install for Python 3, you may instead need to call:
python3 setup install
To install Abydos (latest release) from PyPI using pip:
pip install abydos
To install from conda-forge:
conda install abydos
It should run on Python 3.5-3.8.
Testing & Contributing¶
To run the whole test-suite just call tox:
The tox setup has the following environments: black, py37, doctest, regression, fuzz, pylint, pydocstyle, flake8, doc8, docs, sloccount, badges, & build. So if you only want to generate documentation (in HTML, EPUB, & PDF formats), just call:
tox -e docs
In order to only run & generate Flake8 reports, call:
tox -e flake8
The project's main page has quite a few badges, some seemingly redundant, and a bit of explanation is perhaps warranted.
CI & Test Status
Travis-CI is the primary CI used for Linux CI of all supported Python platforms (2.7-3.8-dev). Only the tests in the tests directory are run.
CircleCI runs only the Python 3.6 tests on Linux and is used for quick tests of each commit.
Azure DevOps is used to perform tests on Linux, MaxOS, and Windows on Python 2.7, 3.5, 3.6, & 3.7 using pytest.
Semaphore is used to run the tests in the tests directory, doctests, regression tests, and fuzz tests.
Coveralls is used to track test coverage.
Code Quality (some may be removed at a later date)
Requires.io tracks whether Abydos can be used with the most recent releases of its dependencies.
Snyk tracks whether there are security vulnerabilities in any dependencies.
Pyup.io tracks updates and security vulnerabilities in dependencies.
CII Best Practices identifies compliance with Core Infrastructure Initiative best practices.
OpenHub tracks project activity and KLOC and estimates project value.
The commit activity shows commit rate.
The issues badge indicates the number of issues closed.
The GitHub stars badge indicates the number of stars received.
PyPI hosts the pip installable packages. The pypi badge indicates the most recent pip installable version.
The downloads badge indicates the number of downloads from PyPI per month.
The python badge indicates the versions of Python that are supported.
conda-forge hosts the conda installable packages. The conda-forge badge indicates the most recent conda installable version.
The downloads badge indicates the number of downloads from conda-forge.
The platform badge indicates that Abydos is a pure Python project, without platform-specific builds.
Abydos is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/gpl.txt>.