1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 cython,
6 numpy,
7 pandas,
8 property-cached,
9 pytestCheckHook,
10 scipy,
11 setuptools,
12 setuptools-scm,
13 statsmodels,
14}:
15
16buildPythonPackage rec {
17 pname = "arch";
18 version = "7.2.0";
19 pyproject = true;
20
21 src = fetchFromGitHub {
22 owner = "bashtage";
23 repo = "arch";
24 tag = "v${version}";
25 hash = "sha256-3H/6mdPg8rg+N1wecqLDzc7Ot3SnUVpOagns4PsTD/Q=";
26 };
27
28 postPatch = ''
29 substituteInPlace setup.cfg \
30 --replace 'PytestRemovedIn8Warning' 'PytestRemovedIn9Warning'
31 '';
32
33 build-system = [
34 setuptools
35 setuptools-scm
36 cython
37 ];
38
39 dependencies = [
40 numpy
41 pandas
42 property-cached
43 scipy
44 statsmodels
45 ];
46
47 nativeCheckInputs = [ pytestCheckHook ];
48
49 disabledTestPaths = [
50 # Skip long-running/failing tests
51 "arch/tests/univariate/test_forecast.py"
52 "arch/tests/univariate/test_mean.py"
53 ];
54
55 pythonImportsCheck = [ "arch" ];
56
57 meta = {
58 description = "Autoregressive Conditional Heteroskedasticity (ARCH) and other tools for financial econometrics";
59 homepage = "https://github.com/bashtage/arch";
60 changelog = "https://github.com/bashtage/arch/releases/tag/v${version}";
61 license = lib.licenses.mit;
62 maintainers = with lib.maintainers; [ jherland ];
63 };
64}