Code Monkey home page Code Monkey logo

Comments (6)

Anmol-Srivastava avatar Anmol-Srivastava commented on June 18, 2024 1

I may use e.g. pyenv to set up multiple Python environments and locally run the new tox.ini to determine the floor of backwards compatibility. Later we may want a workflow that uses tox output/results in some way but that can be a separate issue once clearer.

from menelaus.

tms-bananaquit avatar tms-bananaquit commented on June 18, 2024 1

Yeah, I think just establishing the floor is enough for now. That'll let us update the README and add

[options]
python_requires = >= 3.7

or similar to the setup.cfg.

The tox.ini is a holdover from a repo template -- if we just use pyenv and run the unit tests on a couple of versions, instead of using tox, then it can be removed, unless you found that it was easy to set up. Just realized that you had done this already. Nevermind!

from menelaus.

Anmol-Srivastava avatar Anmol-Srivastava commented on June 18, 2024

Yes, tox.ini can just be an effect-less addition after we update the repository. Later we can add something to use it to programmatically determine the bounds of Python versions that work.

from menelaus.

Anmol-Srivastava avatar Anmol-Srivastava commented on June 18, 2024

Ok, pyenv doesn't actually seem to work for Windows, I'll try the fork mentioned in the repository.

from menelaus.

Anmol-Srivastava avatar Anmol-Srivastava commented on June 18, 2024

Seems to me that our floor is python 3.8. Prior to that, we may get e.g.:

py37 create: /home/asrivastava/menelaus/.tox/py37
py37 installdeps: pytest, pytest-cov
py37 inst: /home/asrivastava/menelaus/.tox/.tmp/package/1/menelaus-0.1.1.zip
ERROR: invocation failed (exit code 1), logfile: /home/asrivastava/menelaus/.tox/py37/log/py37-2.log
=================================================================== log start ====================================================================
Processing ./.tox/.tmp/package/1/menelaus-0.1.1.zip
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting pandas
  Downloading pandas-1.3.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 59.4 MB/s eta 0:00:00
ERROR: Ignored the following versions that require a different python version: 1.22.0 Requires-Python >=3.8; 1.22.0rc1 Requires-Python >=3.8; 1.22.0rc2 Requires-Python >=3.8; 1.22.0rc3 Requires-Python >=3.8; 1.22.1 Requires-Python >=3.8; 1.22.2 Requires-Python >=3.8; 1.22.3 Requires-Python >=3.8; 1.22.4 Requires-Python >=3.8; 1.23.0 Requires-Python >=3.8; 1.23.0rc1 Requires-Python >=3.8; 1.23.0rc2 Requires-Python >=3.8; 1.23.0rc3 Requires-Python >=3.8; 1.4.0 Requires-Python >=3.8; 1.4.0rc0 Requires-Python >=3.8; 1.4.1 Requires-Python >=3.8; 1.4.2 Requires-Python >=3.8; 1.4.3 Requires-Python >=3.8
ERROR: Could not find a version that satisfies the requirement numpy>=1.22.0 (from menelaus) (from versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0rc1, 1.13.0rc2, 1.13.0, 1.13.1, 1.13.3, 1.14.0rc1, 1.14.0, 1.14.1, 1.14.2, 1.14.3, 1.14.4, 1.14.5, 1.14.6, 1.15.0rc1, 1.15.0rc2, 1.15.0, 1.15.1, 1.15.2, 1.15.3, 1.15.4, 1.16.0rc1, 1.16.0rc2, 1.16.0, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.16.6, 1.17.0rc1, 1.17.0rc2, 1.17.0, 1.17.1, 1.17.2, 1.17.3, 1.17.4, 1.17.5, 1.18.0rc1, 1.18.0, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.19.0rc1, 1.19.0rc2, 1.19.0, 1.19.1, 1.19.2, 1.19.3, 1.19.4, 1.19.5, 1.20.0rc1, 1.20.0rc2, 1.20.0, 1.20.1, 1.20.2, 1.20.3, 1.21.0rc1, 1.21.0rc2, 1.21.0, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6)
ERROR: No matching distribution found for numpy>=1.22.0

from menelaus.

tms-bananaquit avatar tms-bananaquit commented on June 18, 2024

I did some testing on my end, too -- seems that if we switch to the deprecated form for np.quantile, we can drop the numpy > 1.22 requirement, which is the only reason we need Python 3.8 or higher.

switching L317 in kdq_tree from
return np.quantile(critical_distances, 1 - self.alpha, method="nearest")
to
return np.quantile(critical_distances, 1 - self.alpha, interpolation="nearest")

lets us be compatible back to 3.5.

I'll add a comment in the setup.cfg to this effect, but it's probably not worth it in the long-term to do anything more.

from menelaus.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.