-
-
Notifications
You must be signed in to change notification settings - Fork 491
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
Add build/pkgs/SPKG/install-requires.txt for all Python packages, remove some unneeded packages #30719
Comments
comment:2
Tobias, before I add more of these, do you think this format is useful for generating other files? New commits:
|
Commit: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:4
So the idea would be to concatenate all these I have to admit though that I don't see the benefit of having all these text files over having a single Maybe that's a bit too naïve, but I would approach this as follows: |
comment:5
Replying to @tobiasdiez:
Yes.
Right; but sagelib also exposes cython at runtime for interactive use.
With modularization, I expect to see dozens of
What I want to do is define version ranges in one place for all of the Sage project. Distinguishing the kinds of dependencies (build, test, ...) should be orthogonal -- and the mechanism in #29041 should be able to put these version ranges into whatever file/format is needed. (I don't think it would add sufficient value to Sage to have different version ranges for a given package in different roles, like "we need Cython >= 0.29.21 for build, but any Cython >= 0.27 is fine for runtime.)
I don't like to go into this direction because it would add a big hurdle to our developer community. Having one git repository is key. |
comment:6
Replying to @mkoeppe:
Sounds like a valid point.
I agree! What I meant is that it might be helpful to approach it like this, i.e. how would you solve this problem if sage-library would be sitting in a different git repo? I think, this will be helpful e.g for distribution as pipy-installable package where it would be helpful if One more remark: I would try to make the version range specifications as general as possible, i.e. only add restrictions if its known that that this particular version doesn't work with sage (this in particular applies to the upper limit). Otherwise the sage-library (and its subdistributions) would be harder to use (e.g. if one cannot upgrade/downgrade a dependency because other code relies on it). In this context, it may actually turn out to be helpful if you could could control the dependency versions for each submodule sepereatly, e.g. if ModuleA breaks with a newer version but ModuleB doesn't have these problems. |
comment:7
Replying to @tobiasdiez:
Sounds like we are basically in agreement here. One detail, however, is the bootstrapping phase. The way I see it, after running |
comment:8
Replying to @tobiasdiez:
Yes, this is tricky to get right and will probably need some detailed discussion for individual packages. But I do think that some upper bounds on the version are always needed because we do not want our package to stop working if a new major version of some package is released on pypi. For example, Cython has an upcoming 3.x version which we have not tested with at all.
Yes, this is conceivable but I would hope that if this ever becomes necessary, it can be implemented by overriding the default rather than defaulting to duplicate maintenance of the version ranges. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:10
Autogenerated for now, setting current version as lower bound |
comment:12
I'm hoping to gather version information for our Python packages here. |
Author: Matthias Koeppe |
This comment has been minimized.
This comment has been minimized.
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:17
That's a lot of packages to parse :( Some stuff I can notice from a cursory inspection. I use sphinx 3.2.1 so the restriction |
comment:18
The pipenv.lock file added in #30371 is a good indication, too. The |
comment:20
Replying to @tobiasdiez:
From comment 8: |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:23
See also: Upgrade ticket #30611 |
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:28
Good enough as a first approximation? |
comment:29
Missing: numpy |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:31
OK, good. (all tests of this branch pass on Fedora 30, too) |
Reviewer: Dima Pasechnik |
comment:32
Thanks! |
Changed branch from u/mkoeppe/add_build_pkgs_spkg_install_requires_txt_for_all_python_packages to |
These files:
src/Pipfile
,src/setup.cfg [install_requires]
(sage_bootstrap: Add command "sage -package list --output={install-requires,requirements,pipfile,debian,....}" #29041) in thebootstrap
phase, to avoid duplicating this information in various placesCC: @tobiasdiez @isuruf @kiwifb @antonio-rojas @dimpase
Component: build
Author: Matthias Koeppe
Branch/Commit:
6ec00dd
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/30719
The text was updated successfully, but these errors were encountered: