diff --git a/README.md b/README.md index e62903683a..03d4cc3168 100644 --- a/README.md +++ b/README.md @@ -203,13 +203,13 @@ cov_est.cov.long_run These requirements reflect the testing environment. It is possible that arch will work with older versions. -- Python (3.6+) -- NumPy (1.14+) -- SciPy (1.0.1+) +- Python (3.7+) +- NumPy (1.16+) +- SciPy (1.2+) - Pandas (0.23+) -- statsmodels (0.9+) -- matplotlib (2.0+), optional -- property-cached (1.6.3+), optional +- statsmodels (0.11+) +- matplotlib (2.2+), optional +- property-cached (1.6.4+), optional ### Optional Requirements diff --git a/arch/univariate/recursions.pyx b/arch/univariate/recursions.pyx index b57e4433d6..d959aee40f 100644 --- a/arch/univariate/recursions.pyx +++ b/arch/univariate/recursions.pyx @@ -4,20 +4,12 @@ import numpy as np cimport numpy as np -from libc.math cimport sqrt +from libc.math cimport sqrt, log, exp, fabs +from libc.float cimport DBL_MAX __all__ = ['harch_recursion', 'arch_recursion', 'garch_recursion', 'egarch_recursion', 'midas_recursion', 'figarch_recursion', 'figarch_weights', 'aparch_recursion'] -cdef extern from 'math.h': - double log(double x) - double exp(double x) - double sqrt(double x) - double fabs(double x) - -cdef extern from 'float.h': - double DBL_MAX - cdef double LNSIGMA_MAX = log(DBL_MAX) np.import_array() diff --git a/pyproject.toml b/pyproject.toml index bc6f394352..3f52ea258f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,14 +2,14 @@ requires = [ "setuptools", "wheel", - "numpy==1.14.6; python_version=='3.6'", - "numpy==1.14.6; python_version=='3.7'", + "numpy==1.6.6; python_version<='3.7'", "numpy==1.17.5; python_version=='3.8'", - "numpy; python_version>='3.9'", + "numpy==1.19.5; python_version=='3.9'", + "numpy; python_version>='3.10'", "Cython>=0.29.14"] [tool.black] -target-version = ['py36', 'py37', 'py38'] +target-version = ['py37', 'py38'] exclude = ''' ( \.egg diff --git a/requirements-dev.txt b/requirements-dev.txt index ebb40c3203..fae8c79973 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,5 @@ # Performance -cython>=0.29.14 +cython>=0.29.21 numba>=0.49,!=0.50.* # Graphics diff --git a/requirements.txt b/requirements.txt index 6b0aad4008..04c38f1396 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ -numpy>=1.14 -scipy>=1.0.1 +numpy>=1.16 +scipy>=1.2.3 pandas>=0.23 -statsmodels>=0.9 -property_cached>=1.6.3 +statsmodels>=0.11 +property_cached>=1.6.4 diff --git a/setup.py b/setup.py index efda9ee81f..17f2e1e846 100644 --- a/setup.py +++ b/setup.py @@ -65,10 +65,10 @@ def build_extensions(self) -> None: INSTALL_REQUIREMENTS = SETUP_REQUIREMENTS.copy() INSTALL_REQUIREMENTS.update( { - "scipy": "1.0.1", + "scipy": "1.2.3", "pandas": "0.23", - "statsmodels": "0.9", - "property_cached": "1.6.3", + "statsmodels": "0.10", + "property_cached": "1.6.4", } ) @@ -177,9 +177,9 @@ def run_setup(binary: bool = True) -> None: "Development Status :: 5 - Production/Stable", "Intended Audience :: End Users/Desktop", "Intended Audience :: Financial and Insurance Industry", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", "License :: OSI Approved", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows",