Skip to content

Commit e36e50a

Browse files
authored
Replace use of deprecated pkg_resources (pvlib#1881) (pvlib#1882)
1 parent 6072e09 commit e36e50a

File tree

7 files changed

+16
-15
lines changed

7 files changed

+16
-15
lines changed

benchmarks/benchmarks/location.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import pandas as pd
66
import pvlib
7-
from pkg_resources import parse_version
7+
from packaging.version import Version
88

99

1010
def set_solar_position(obj):
@@ -37,7 +37,7 @@ def time_location_get_clearsky(self):
3737
class Location_0_6_1:
3838

3939
def setup(self):
40-
if parse_version(pvlib.__version__) < parse_version('0.6.1'):
40+
if Version(pvlib.__version__) < Version('0.6.1'):
4141
raise NotImplementedError
4242

4343
set_solar_position(self)

benchmarks/benchmarks/solarposition.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import pvlib
88
from pvlib import solarposition
99

10-
from pkg_resources import parse_version
10+
from packaging.version import Version
1111

1212

13-
if parse_version(pvlib.__version__) >= parse_version('0.6.1'):
13+
if Version(pvlib.__version__) >= Version('0.6.1'):
1414
sun_rise_set_transit_spa = solarposition.sun_rise_set_transit_spa
1515
else:
1616
sun_rise_set_transit_spa = solarposition.get_sun_rise_set_transit

benchmarks/benchmarks/solarposition_numba.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
Try to keep relevant sections in sync with benchmarks/solarposition.py
88
"""
99

10-
from pkg_resources import parse_version
10+
from packaging.version import Version
1111
import pandas as pd
1212

1313
import os
@@ -18,7 +18,7 @@
1818
from pvlib import solarposition # NOQA: E402
1919

2020

21-
if parse_version(pvlib.__version__) >= parse_version('0.6.1'):
21+
if Version(pvlib.__version__) >= Version('0.6.1'):
2222
sun_rise_set_transit_spa = solarposition.sun_rise_set_transit_spa
2323
else:
2424
sun_rise_set_transit_spa = solarposition.get_sun_rise_set_transit

benchmarks/benchmarks/temperature.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
import pandas as pd
66
import pvlib
7-
from pkg_resources import parse_version
7+
from packaging.version import Version
88
from functools import partial
99

1010

@@ -20,7 +20,7 @@ class SAPM:
2020

2121
def setup(self):
2222
set_weather_data(self)
23-
if parse_version(pvlib.__version__) >= parse_version('0.7.0'):
23+
if Version(pvlib.__version__) >= Version('0.7.0'):
2424
kwargs = pvlib.temperature.TEMPERATURE_MODEL_PARAMETERS['sapm']
2525
kwargs = kwargs['open_rack_glass_glass']
2626
self.sapm_cell_wrapper = partial(pvlib.temperature.sapm_cell,
@@ -41,7 +41,7 @@ def time_sapm_cell(self):
4141
class Fuentes:
4242

4343
def setup(self):
44-
if parse_version(pvlib.__version__) < parse_version('0.8.0'):
44+
if Version(pvlib.__version__) < Version('0.8.0'):
4545
raise NotImplementedError
4646

4747
set_weather_data(self)

docs/sphinx/source/whatsnew/v0.10.3.rst

+2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Bug fixes
1515

1616
Testing
1717
~~~~~~~
18+
* Replace use of deprecated ``pkg_resources``. (:issue:`1881`, :pull:`1882`)
1819

1920

2021
Documentation
@@ -24,3 +25,4 @@ Documentation
2425
Contributors
2526
~~~~~~~~~~~~
2627
* Arjan Keeman (:ghuser:`akeeman`)
28+
* Miguel Sánchez de León Peque (:ghuser:`Peque`)

pvlib/tests/conftest.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@
44

55
import pandas as pd
66
import os
7-
from pkg_resources import parse_version
7+
from packaging.version import Version
88
import pytest
99
from functools import wraps
1010

1111
import pvlib
1212
from pvlib.location import Location
1313

14-
pvlib_base_version = \
15-
parse_version(parse_version(pvlib.__version__).base_version)
14+
pvlib_base_version = Version(Version(pvlib.__version__).base_version)
1615

1716

1817
# decorator takes one argument: the base version for which it should fail
@@ -27,7 +26,7 @@ def wrapper(func):
2726
@wraps(func)
2827
def inner(*args, **kwargs):
2928
# fail if the version is too high
30-
if pvlib_base_version >= parse_version(version):
29+
if pvlib_base_version >= Version(version):
3130
pytest.fail('the tested function is scheduled to be '
3231
'removed in %s' % version)
3332
# otherwise return the function to be executed
@@ -40,7 +39,7 @@ def inner(*args, **kwargs):
4039
def _check_pandas_assert_kwargs(kwargs):
4140
# handles the change in API related to default
4241
# tolerances in pandas 1.1.0. See pvlib GH #1018
43-
if parse_version(pd.__version__) >= parse_version('1.1.0'):
42+
if Version(pd.__version__) >= Version('1.1.0'):
4443
if kwargs.pop('check_less_precise', False):
4544
kwargs['atol'] = 1e-3
4645
kwargs['rtol'] = 1e-3

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545

4646
TESTS_REQUIRE = ['pytest', 'pytest-cov', 'pytest-mock',
4747
'requests-mock', 'pytest-timeout', 'pytest-rerunfailures',
48-
'pytest-remotedata']
48+
'pytest-remotedata', 'packaging']
4949
EXTRAS_REQUIRE = {
5050
'optional': ['cython', 'ephem', 'nrel-pysam', 'numba',
5151
'solarfactors', 'statsmodels'],

0 commit comments

Comments
 (0)