This was duplicating content in setup.py (and the two had gotten out of
sync, listing different versions for scipy).
According to the Python Packaging User Guide
(https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/),
the `install_requires` specifies what a project minimally needs to run
correctly, while the requirements.txt file contains an exhaustive list
of pinned versions for the purpose of repeatable installations of a
complete environment. Cleanlab is a Python package that users will `pip
install`, so we don't need a requirements.txt.
Some related projects like scikit-learn don't have a requirements.txt,
and others that do have such a file use it for a different purpose, e.g.
PyTorch and Keras use the file to list dev dependencies.
When multiple coverage reports are uploaded to Codecov, it merges the
reports, which is what we want in this situation. So for example, if the
code branches on Python version or OS version, we'll cover those
branches across tests.
This patch switches the CI from Travis-CI to GitHub Actions.
The new CI script drops support for Python 3.4 (EOLed 18 March 2019) and
Python 3.5 (EOLed 13 September 2020), though it keeps support for Python
2.7 (EOLed 1 January 2020). This keeps the CI configuration a lot
simpler.
The new CI script also simplifies code coverage: a single coverage
report is produced for Python 3.9 on Ubuntu. There are no coverage
statistics being collected and uploaded for older versions of Python 3,
Python 2, or other OSes.