aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/python-modules/pvlib/default.nix
blob: f9d97c2110550f713797ad36b0c8d11fffbbd678 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{ stdenv, buildPythonPackage, fetchPypi, fetchpatch, pythonOlder, numpy, pandas, pytz, six
, pytestCheckHook, flaky, mock, pytest-mock, requests }:

buildPythonPackage rec {
  pname = "pvlib";
  version = "0.7.2";

  # Support for Python <3.5 dropped in 0.6.3 on June 1, 2019.
  disabled = pythonOlder "3.5";

  src = fetchPypi{
    inherit pname version;
    sha256 = "40708492ed0a41e900d36933b9b9ab7b575c72ebf3eee81293c626e301aa7ea1";
  };

  patches = [
    # enable later pandas versions, remove next bump
    (fetchpatch {
      url = "https://github.com/pvlib/pvlib-python/commit/010a2adc9e9ef6fe9f2aea4c02d7e6ede9f96a53.patch";
      sha256 = "0jibn4khixz6hv6racmp86m5mcms0ysz1y5bgpplw1kcvf8sn04x";
      excludes = [
        "pvlib/tests/test_inverter.py"
        "docs/sphinx/source/whatsnew/v0.8.0.rst"
        "ci/requirements-py35-min.yml"
      ];
    })
  ];

  checkInputs = [ pytestCheckHook flaky mock pytest-mock ];
  propagatedBuildInputs = [ numpy pandas pytz six requests ];

  # Skip a few tests that try to access some URLs
  pytestFlagsArray = [ "pvlib/tests" ];
  disabledTests = [
    "read_srml_dt_index"
    "read_srml_month_from_solardata"
    "get_psm3"
    "pvgis"
    "read_surfrad_network"
    "remote"
    # small rounding errors, E.g <1e-10^5
    "calcparams_pvsyst"
    "martin_ruiz_diffuse"
    "hsu"
    "backtrack"
  ];

  meta = with stdenv.lib; {
    homepage = "https://pvlib-python.readthedocs.io";
    description = "Simulate the performance of photovoltaic energy systems";
    license = licenses.bsd3;
    maintainers = with maintainers; [ jluttine ];
  };
}