Deprecate Python 3.8

Python 3.8 is nearing EOL, and it's being deprecated here to allow for
more ready dependency resolution between pandas and numpy, avoiding a
fatal import. Resolves #2266.
This commit is contained in:
Paul Pfeister 2024-08-23 01:15:47 -04:00
parent 47ab466d85
commit c6c1f3eef7
No known key found for this signature in database
GPG key ID: 70D33A96CBD7A994
5 changed files with 5 additions and 9 deletions

View file

@ -49,7 +49,6 @@ jobs:
macos-latest, macos-latest,
] ]
python-version: [ python-version: [
'3.8',
'3.9', '3.9',
'3.10', '3.10',
'3.11', '3.11',

View file

@ -40,7 +40,7 @@ repository = "https://github.com/sherlock-project/sherlock"
"Bug Tracker" = "https://github.com/sherlock-project/sherlock/issues" "Bug Tracker" = "https://github.com/sherlock-project/sherlock/issues"
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.8" python = "^3.9"
certifi = ">=2019.6.16" certifi = ">=2019.6.16"
colorama = "^0.4.1" colorama = "^0.4.1"
PySocks = "^1.7.0" PySocks = "^1.7.0"
@ -48,8 +48,7 @@ requests = "^2.22.0"
requests-futures = "^1.0.0" requests-futures = "^1.0.0"
stem = "^1.8.0" stem = "^1.8.0"
torrequest = "^0.1.0" torrequest = "^0.1.0"
# pandas can likely be bumped up to ^2.0.0 after fc39 EOL pandas = "^2.2.1"
pandas = ">=1.0.0,<3.0.0"
openpyxl = "^3.0.10" openpyxl = "^3.0.10"
[tool.poetry.extras] [tool.poetry.extras]

View file

@ -14,8 +14,8 @@ if __name__ == "__main__":
# Check if the user is using the correct version of Python # Check if the user is using the correct version of Python
python_version = sys.version.split()[0] python_version = sys.version.split()[0]
if sys.version_info < (3, 8): if sys.version_info < (3, 9):
print(f"Sherlock requires Python 3.8+\nYou are using Python {python_version}, which is not supported by Sherlock.") print(f"Sherlock requires Python 3.9+\nYou are using Python {python_version}, which is not supported by Sherlock.")
sys.exit(1) sys.exit(1)
from sherlock_project import sherlock from sherlock_project import sherlock

View file

@ -20,8 +20,7 @@ class Interactives:
raise InteractivesSubprocessError(e.output.decode()) raise InteractivesSubprocessError(e.output.decode())
# -> list[str] is prefered, but will require deprecation of support for Python 3.8 def walk_sherlock_for_files_with(pattern: str) -> list[str]:
def walk_sherlock_for_files_with(pattern: str) -> list:
"""Check all files within the Sherlock package for matching patterns""" """Check all files within the Sherlock package for matching patterns"""
pattern:re.Pattern = re.compile(pattern) pattern:re.Pattern = re.compile(pattern)
matching_files:list[str] = [] matching_files:list[str] = []

View file

@ -41,4 +41,3 @@ python =
3.11: py311 3.11: py311
3.10: py310 3.10: py310
3.9: py39 3.9: py39
3.8: py38