1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 nix-update-script,
6 numpy,
7 pandas,
8 python-dateutil,
9 pythonOlder,
10 pytz,
11 setuptools,
12 six,
13}:
14
15buildPythonPackage rec {
16 pname = "pandas-ta";
17 version = "0.3.14";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "twopirllc";
24 repo = "pandas-ta";
25 tag = version;
26 hash = "sha256-1s4/u0oN596VIJD94Tb0am3P+WGosRv9ihD+OIMdIBE=";
27 };
28
29 postPatch = ''
30 substituteInPlace pandas_ta/momentum/squeeze_pro.py \
31 --replace-fail "import NaN" "import nan"
32 '';
33
34 build-system = [ setuptools ];
35
36 dependencies = [
37 numpy
38 pandas
39 python-dateutil
40 pytz
41 setuptools
42 six
43 ];
44
45 # PyTestCheckHook failing because of missing test dependency. Packages has been tested manually.
46 doCheck = false;
47
48 passthru.updateScript = nix-update-script { };
49
50 pythonImportsCheck = [ "pandas_ta" ];
51
52 meta = {
53 description = "Technical Analysis Indicators";
54 homepage = "https://github.com/twopirllc/pandas-ta";
55 changelog = "https://github.com/twopirllc/pandas-ta/blob/${version}";
56 license = lib.licenses.mit;
57 maintainers = with lib.maintainers; [ derdennisop ];
58 };
59}