Open pepi-p opened 1 month ago
The last time I tried updating requirements.txt
, it burned something like an entire day of work, and I still couldn't get a working set of dependencies all working together. Plus it will require rewriting doctests, since some of the libraries have changed things like their repr()
behaviors. But I'll keep the idea on my long-term-improvements list; in the meantime, I'm happy at least that Skyfield itself still works on the most recent versions of Python.
I wish the Python community had more respect for other people's time, and would maintain backwards compatibility.
@brandon-rhodes here is a working requirements.txt using all latest packages except for the commented ones.
Passes all tests. No code changes required. But does make min python version 3.10 due to astropy. Dropping astropy from latest (6.1.2) down to (6.0.1) makes min python version 3.9 instead. Both options fix OP's initial issue of imp
deprecation. Python 3.8 is EOL at the end of this year so I didn't check for that one.
Only two problem packages:
64.0
to np.float(64.0)
Time.M
. Locking sphinx to v2.4.5 unfortunately makes it necessary to pin sphinxcontrib-*
, alabaster
, and jinja2
as well.
# python>=3.10
astropy==6.1.2
beautifulsoup4==4.12.3
html5lib==1.1.0
lxml==5.3.0
mock==5.1.0
numpy==1.26.4 # breaks if upgraded to v2.0.0 due to repr changes
matplotlib==3.9.2
pandas==2.2.2
pyflakes==3.2.0
python-dateutil>=2.5.0
pytz
sphinx==2.4.5 # breaks if upgraded to v3.0.0
jinja2==3.0.3 # breaks if upgraded to v3.1.0 due to deprecated functions
alabaster==0.7.13 # alabaster>=0.7.14 requiers sphinx>=3.4.0
sphinxcontrib-applehelp==1.0.4 # sphinxcontrib-applehelp>=1.0.5 requires sphinx>=5.0.0
sphinxcontrib-devhelp==1.0.2 # sphinxcontrib-devhelp>=1.0.3 requires sphinx>=5.0.0
sphinxcontrib-htmlhelp==2.0.1 # sphinxcontrib-htmlhelp>=2.0.2 requires sphinx>=5.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3 # sphinxcontrib-qthelp>=1.0.4 requires sphinx>=5.0.0
sphinxcontrib-serializinghtml==1.1.5 # sphinxcontrib-serializinghtml>=1.1.6 requires sphinx>=5.0.0
spktype21
https://github.com/brandon-rhodes/assay/archive/master.zip
Also, as a side note, there appears to be some sort of race condition in assay
regarding the tracking of files. Sometimes it reports an unclosed files
warning and other times not. Sometime it also gets RuntimeError: dictionary changed size during iteration
but only rarely.
So I went down a rabbit hole of your CI pipeline and whatnot and ended up making a PR for my proposed updates 😅 ...
You can see the action results here: https://github.com/EndlessDex/python-skyfield/actions/runs/10443120176
I tried to batch install packages from https://github.com/pepi-p/python-skyfield/blob/master/requirements.txt on windows 11, MINGW64, Python 3.12.2, but It failed. The reason was the imp module on which astropy 3.2.2 depends.
Since the latest version of astropy is 6.1.2 and the version specified in requirements.txt is 3.2.2, it seems that the problem can be solved by depending on a newer version of astropy.