1{
2 lib,
3 beautifulsoup4,
4 buildPythonPackage,
5 cryptography,
6 fetchFromGitHub,
7 frozendict,
8 html5lib,
9 lxml,
10 multitasking,
11 numpy,
12 pandas,
13 peewee,
14 platformdirs,
15 pythonOlder,
16 pytz,
17 requests-cache,
18 requests-ratelimiter,
19 requests,
20 scipy,
21 setuptools,
22}:
23
24buildPythonPackage rec {
25 pname = "yfinance";
26 version = "0.2.41";
27 pyproject = true;
28
29 disabled = pythonOlder "3.7";
30
31 src = fetchFromGitHub {
32 owner = "ranaroussi";
33 repo = "yfinance";
34 rev = "refs/tags/${version}";
35 hash = "sha256-9Vp/z0u/Mfil1xWHvHPRFa62sLvEJMjHLBYweLfz42o=";
36 };
37
38 build-system = [ setuptools ];
39
40 dependencies = [
41 beautifulsoup4
42 cryptography
43 frozendict
44 html5lib
45 lxml
46 multitasking
47 numpy
48 pandas
49 peewee
50 platformdirs
51 pytz
52 requests
53 ];
54
55 passthru.optional-dependencies = {
56 nospam = [
57 requests-cache
58 requests-ratelimiter
59 ];
60 repair = [
61 scipy
62 ];
63 };
64
65 # Tests require internet access
66 doCheck = false;
67
68 pythonImportsCheck = [ "yfinance" ];
69
70 meta = with lib; {
71 description = "Module to doiwnload Yahoo! Finance market data";
72 homepage = "https://github.com/ranaroussi/yfinance";
73 changelog = "https://github.com/ranaroussi/yfinance/blob/${version}/CHANGELOG.rst";
74 license = licenses.asl20;
75 maintainers = with maintainers; [ drewrisinger ];
76 };
77}