-
Notifications
You must be signed in to change notification settings - Fork 4
Update pandas to 3.0.0 #619
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 5 commits
5a5b642
ec5bc42
80c6b73
d1dae9a
17e208e
a1ad2e4
9dcb967
d9a827e
92b10dd
04b8e2c
8dc445e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -49,20 +49,20 @@ gpaw = [ | |
| lammps = [ | ||
| "pylammpsmpi==0.3.9", | ||
| "jinja2==3.1.6", | ||
| "pandas==2.3.3", | ||
| "pandas==3.0.0", | ||
| "pyiron_lammps==0.5.3", | ||
| ] | ||
| lammps_phonons = [ | ||
| "pylammpsmpi==0.3.9", | ||
| "jinja2==3.1.6", | ||
| "pandas==2.3.3", | ||
| "pandas==3.0.0", | ||
| "dynaphopy==1.18.0", | ||
| "pyiron_lammps==0.5.3", | ||
| ] | ||
| experimental = [ | ||
| "lxml==6.0.2", | ||
| "mendeleev==1.1.0", | ||
| "pandas==2.3.3", | ||
| "pandas==3.0.0", | ||
| "requests==2.32.5", | ||
|
Comment on lines
49
to
66
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
# Check pandas 3.0.0 Python requirement from PyPI metadata
python3 <<'PY'
import json, urllib.request
try:
data = json.load(urllib.request.urlopen("https://pypi.org/pypi/pandas/3.0.0/json"))
print("Requires-Python:", data["info"]["requires_python"])
print("Version:", data["info"]["version"])
print("Release Date:", data["info"]["release_url"])
except Exception as e:
print(f"Error: {e}")
PYRepository: pyiron/atomistics Length of output: 195 🏁 Script executed: # Also check the pyproject.toml to confirm the Python range
cat pyproject.toml | grep -A 5 "python"Repository: pyiron/atomistics Length of output: 301 🏁 Script executed: # Check if there are tests for optional dependencies
git ls-files | grep -E "test.*lammps|test.*pandas" | head -20Repository: pyiron/atomistics Length of output: 933 🌐 Web query:
💡 Result: pandas 3.0.0 supports (and effectively requires) Python 3.11 or newer (i.e., Python 3.10 and earlier are not supported). [1] Source: pandas 3.0.0 release notes (“Increased minimum version for Python”). [1] 🏁 Script executed: # Check if there are any existing compatibility or version constraint issues in the codebase
grep -r "pandas" pyproject.toml | head -10Repository: pyiron/atomistics Length of output: 123 🏁 Script executed: # Check if there are any existing test markers or skip conditions for optional deps
grep -r "skipif\|mark.skip" tests/ --include="*.py" | grep -i "lammps\|pandas" | head -10Repository: pyiron/atomistics Length of output: 43 Downgrade pandas to a version compatible with Python 3.9-3.10. pandas 3.0.0 requires Python 3.11+, which breaks compatibility with Python 3.9 and 3.10 that are within your project's declared support range (>=3.9,<3.15). This affects lines 52, 58, and 65 in the 🤖 Prompt for AI Agents |
||
| ] | ||
| sphinxdft = [ | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: pyiron/atomistics
Length of output: 115
🏁 Script executed:
Repository: pyiron/atomistics
Length of output: 540
🏁 Script executed:
Repository: pyiron/atomistics
Length of output: 209
🌐 Web query:
pandas 3.0.0 release💡 Result:
pandas 3.0.0 was released on January 21, 2026. [1]
Key highlights / breaking changes in 3.0.0:
pd.col()syntax for building expressions (e.g., inDataFrame.assign). [1]pd.offsets.Daynow always representing a calendar day (DST-safe). [1]Release candidates were published earlier (e.g., 3.0.0rc0 on Dec 3, 2025) on GitHub and PyPI. [2] [3]
Sources: [1] [2] [3]
🏁 Script executed:
Repository: pyiron/atomistics
Length of output: 112
🏁 Script executed:
Repository: pyiron/atomistics
Length of output: 4463
🏁 Script executed:
Repository: pyiron/atomistics
Length of output: 3230
Critical: pandas 3.0.0 requires Python 3.11+ but project supports Python 3.9+.
The environment.yml pins pandas 3.0.0, which was released January 21, 2026 and requires Python 3.11 as a minimum. However,
pyproject.tomldeclaresrequires-python = ">=3.9, <3.15", supporting Python 3.9 and 3.10. The CI environment will fail to solve on Python 3.9/3.10. Additionally, pandas 3.0.0 introduces breaking changes (string dtype enabled by default, Copy-on-Write behavior by default, datetime/timedelta resolution changes). The pandas upgrade guidance recommends upgrading to pandas 2.3 first and resolving deprecation warnings before moving to 3.0.Either narrow the Python version requirement to 3.11+, or reconsider using pandas 3.0.0 given its recent release and breaking changes.
🤖 Prompt for AI Agents