-
Notifications
You must be signed in to change notification settings - Fork 3
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
Drop Python 3.9 support #178
Changes from 3 commits
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 |
---|---|---|
@@ -1,14 +1,74 @@ | ||
[build-system] | ||
# Minimum requirements for the build system to execute. | ||
requires = ["setuptools"] # PEP 508 specifications. | ||
requires = ["setuptools>=65.0.0"] # PEP 508 specifications. | ||
build-backend = "setuptools.build_meta" | ||
|
||
[project] | ||
name = "ElementEmbeddings" | ||
version = "0.6.1" | ||
description = "Element Embeddings" | ||
readme = "README.md" | ||
requires-python = ">=3.10" | ||
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. 💡 Codebase verification Dependencies not ready for Python 3.13 While the project declares Python 3.13 support, several key dependencies don't explicitly support Python 3.13 yet:
Consider removing Python 3.13 from classifiers until these dependencies add support for it. 🔗 Analysis chainVerify Python version compatibility The Python version requirement and classifiers align with dropping Python 3.9 support. However, ensure all dependencies support Python 3.13. Run this script to check dependency compatibility with Python 3.13: Also applies to: 16-21 🏁 Scripts executedThe following scripts were executed for the analysis: Script: #!/bin/bash
# Description: Check dependency compatibility with Python 3.13
# Test: Extract dependencies and check their Python version support
# Get all dependencies
rg '^ "[^"]+[>=<]+[0-9.]+' pyproject.toml | while read -r dep; do
pkg=$(echo "$dep" | sed 's/^ "\([^"]*\)[>=<].*/\1/')
echo "Checking $pkg..."
curl -s "https://pypi.org/pypi/$pkg/json" | jq -r '.info.classifiers[] | select(contains("Programming Language :: Python"))'
done
Length of output: 3305 Script: #!/bin/bash
# Description: Check dependency compatibility with Python 3.13 (fixed version)
# Get all dependencies including optional ones
rg '^ "[^"]+"' pyproject.toml | sed 's/^ "\([^"]*\).*/\1/' | while read -r pkg; do
# Skip empty lines and section headers
if [[ -z "$pkg" || "$pkg" == "["* ]]; then
continue
fi
echo "Checking $pkg..."
curl -s "https://pypi.org/pypi/${pkg%,}/json" | jq -r '.info.classifiers[] | select(contains("Programming Language :: Python :: 3"))'
done
Length of output: 32163 Script: #!/bin/bash
# Description: Check dependency compatibility with Python 3.13 (improved version)
# Get dependencies section only
echo "Main dependencies:"
rg '^\[project\.dependencies\]' -A 50 pyproject.toml | while read -r line; do
if [[ $line == "["* && $line != "[project.dependencies]" ]]; then
break
fi
if [[ $line =~ ^\"([^\"]+)\" ]]; then
pkg="${BASH_REMATCH[1]}"
echo "Checking $pkg..."
curl -s "https://pypi.org/pypi/$pkg/json" | jq -r '.info.classifiers[] | select(contains("Programming Language :: Python :: 3"))'
echo "---"
fi
done
Length of output: 116 Script: #!/bin/bash
# First, let's see the content structure
echo "File content:"
cat pyproject.toml
echo -e "\n=== Now checking dependencies ===\n"
# Extract dependencies using a simpler pattern
cat pyproject.toml | awk '/^dependencies = \[/,/\]/' | grep '"' | tr -d '", ' | while read -r pkg; do
if [[ $pkg == *"="* ]]; then
pkg=${pkg%%=*}
fi
if [[ -n $pkg ]]; then
echo "Checking $pkg..."
curl -s "https://pypi.org/pypi/$pkg/json" | jq -r '.info.classifiers[] | select(contains("Programming Language :: Python :: 3"))'
echo "---"
fi
done
Length of output: 11297 Script: #!/bin/bash
# Check main dependencies for Python 3.13 support
echo "Checking core dependencies for Python 3.13 support:"
for pkg in numpy scipy pymatgen seaborn matplotlib scikit-learn umap-learn adjustText openTSNE typing-extensions llvmlite; do
echo "=== Checking $pkg ==="
curl -s "https://pypi.org/pypi/$pkg/json" | jq -r '.info.classifiers[] | select(contains("Programming Language :: Python :: 3"))'
echo "---"
done
Length of output: 5712 |
||
license = { text = "MIT" } | ||
authors = [ | ||
{ name = "Anthony O. Onwuli", email = "[email protected]" } | ||
] | ||
classifiers = [ | ||
"Programming Language :: Python", | ||
"Programming Language :: Python :: 3.10", | ||
"Programming Language :: Python :: 3.11", | ||
"Programming Language :: Python :: 3.12", | ||
"Programming Language :: Python :: 3.13", | ||
"Development Status :: 4 - Beta", | ||
"Intended Audience :: Science/Research", | ||
"Operating System :: OS Independent", | ||
"Topic :: Scientific/Engineering", | ||
"Topic :: Scientific/Engineering :: Chemistry", | ||
"License :: OSI Approved :: MIT License", | ||
] | ||
dependencies = [ | ||
"numpy>=1.23.3,<3", | ||
"scipy>=1.10.1", | ||
"pymatgen>2022.9.21", | ||
"seaborn>=0.13.0", | ||
"matplotlib>=3.7.1", | ||
"scikit-learn>=1.3.0", | ||
"umap-learn>=0.5.3", | ||
"adjustText>=0.8", | ||
"openTSNE>=1.0.0", | ||
"typing-extensions", | ||
"llvmlite>=0.40", | ||
] | ||
|
||
[project.optional-dependencies] | ||
dev = [ | ||
"pre-commit", | ||
"black", | ||
"isort", | ||
"pytest", | ||
"pytest-subtests", | ||
"nbqa", | ||
"flake8", | ||
"pyupgrade", | ||
"autopep8", | ||
"pytest-cov", | ||
"pytest-mpl", | ||
] | ||
docs = [ | ||
"mkdocs", | ||
"mkdocs-material", | ||
"mkdocstrings", | ||
"mkdocstrings-python", | ||
"mike", | ||
"mkdocs-jupyter", | ||
] | ||
|
||
[tool.semantic_release] | ||
version_variable = "setup.py:__version__" | ||
version_source = "tag" | ||
|
||
[tool.ruff] | ||
target-version = "py39" | ||
target-version = "py310" | ||
line-length = 120 | ||
force-exclude = true | ||
|
||
|
This file was deleted.
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.
Fix formatting: Add space after comma in python-version array
Add a space after the comma before "3.13" to maintain consistent formatting.
📝 Committable suggestion
🧰 Tools
🪛 GitHub Actions: ElementEmbeddings CI
[warning] 20-20: Formatting issue: Missing space after comma in python-version array