Skip to content

Pandas dependency is to high #437

@zljubisic

Description

@zljubisic

@fboerman I have seen closed discussion on #351.
What is said there is partially true.

I have checked the codebase (executed from entsoe-py root, don't use | head -n 10 to see all usages):

$ grep -irn --include=*.py "pd\." | head -n 10
entsoe/decorators.py:56:            df = pd.concat([df1, df2])
entsoe/decorators.py:82:            df = pd.concat(
entsoe/decorators.py:113:            not isinstance(start, pd.Timestamp)
entsoe/decorators.py:114:            or not isinstance(end, pd.Timestamp)
entsoe/decorators.py:130:                if func.__name__ != '_query_unavailability' and isinstance(frame.index, pd.DatetimeIndex):
entsoe/decorators.py:159:        df = pd.concat(frames, sort=True)
entsoe/decorators.py:187:        df = pd.concat(frames)
entsoe/entsoe.py:35:QUARTER_MTU_SDAC_GOLIVE =  pd.Timestamp('2025-10-01', tz='europe/amsterdam')
entsoe/entsoe.py:82:    def _base_request(self, params: Dict, start: pd.Timestamp,
entsoe/entsoe.py:83:                      end: pd.Timestamp) -> requests.Response:

Looks like entsoe-py uses very basic pandas functionality so there shouldn't be a problem to lower its version.

I have also played with dependencies a bit and I can say that this requirements.txt works with project's tests.

$ cat requirements.txt
requests
pytz
beautifulsoup4>=4.11.1
numpy>=1.26.4
pandas>=1.5.3

I have created a new (conda) environment, used pip install -r requirements, set entsoe uname/pass, installed pytest and dotenv and run pytest with no issues.

I don't know if tests (there are only two of them in tests directory) are covering all cases, but it seams pandas/numpy could be at much lower versions.

All dependencies should be at the lowest supported versions with >= to allow any greater version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions