--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/c33aa6a2-9c89-436e-a5f1-47dcfadc03d3n%40googlegroups.com.
I'm having trouble figuring out where this change was introduced. The folder sage/venv doesn't exist in the repo, so presumably sage/venv/bin/sage is copied from elsewhere during the build process, but I wasn't able to figure out where in a few minutes of poking around. Similarly, I don't see any obvious PR descriptions in 10.8beta5 changelog.David
Sure. The main point is that this change is a breaking change and it was made with no general discussion and no warning. (No doubt there was some discussion in the PR, but that is not really the same thing.)
David, there is no venv directory in the source. It is a symlink created during the build process. It points to Sage's internal venv. Usually it looks something like:venv -> local/var/lib/sage/venv-python3.X.YThe file that I referred to as sage/venv/bin/sage is the main executable of sage. It could also be named sage/local/bin/sage, and I believe that it was named that before the venv was added.- MarcOn Wednesday, October 1, 2025 at 11:00:13 AM UTC-5 Antonio Rojas wrote:El miércoles, 1 de octubre de 2025 a las 17:47:02 UTC+2, David Roe escribió:I'm having trouble figuring out where this change was introduced. The folder sage/venv doesn't exist in the repo, so presumably sage/venv/bin/sage is copied from elsewhere during the build process, but I wasn't able to figure out where in a few minutes of poking around. Similarly, I don't see any obvious PR descriptions in 10.8beta5 changelog.DavidIt was introduced in beta2, not beta5, so quite early in the 10.8 development cycle. The relevant PR is https://github.com/sagemath/sage/pull/39030. In any case, saying that something was changed "between two beta releases" is completely meaningless in Sage: a beta is simply a weekly development snapshot, literally every single change is done between two beta releases.
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/fa36cbd2-ac07-46fe-a172-3578f7bcd163n%40googlegroups.com.
Marc's answer about pyproject.toml still doesn't tell me where to find the Python code that's actually being run when you type sage.
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/CALcZXREPnPAv9j0wXnm6UprB%2BCB2qXjBgDLn13i6GQnz0Q88PQ%40mail.gmail.com.
On 2025-10-01 14:23:31, David Roe wrote:
> 2. Identify the backward incompatible changes in #39030
> <https://github.com/sagemath/sage/pull/39030> (and elsewhere, such as #39015
> <https://github.com/sagemath/sage/pull/39015>). At some point, the public
> interface to the sage script consisted of the output of sage -advanced,
> which I've copied below (from 10.7).
For some context, since no one has explained WHY there's a new script
yet. The goal was to make sage usable as a normal python package:
installable via pip, capable of being depended upon by 3rd party
packages, usable on linux distributions, etc. -- independent of the
sage distribution.
The bash script is not suitable in any of those cases. Bash itself is
not a dependency of the sage library, and you can't require it if you
want to run on (say) Windows. The bash script relies on variables like
SAGE_ROOT to find things, but those variables don't exist outside of
the sage distribution. Most imporantly, a huge number of options refer
to things that only make sense in the sage distribution:
* sage -b and everything related
* sage -i and everything related
* sage --python, sage --maxima, sage --gap3(!), etc.
* sage --package, sage --optional, ...
As such, we can't just install the bash script if the user does "pip
install sagemath". But, we still need a way to actually start sage
once it's installed! The new script reimplements the critical parts in
python, and is installed by sagelib itself, so that after you install
sage by one of those other methods, you can just type "sage" and it
will work.
None of that precludes further improvements to the python script,
though, and it might be possible to revert to the bash script for the
sage distribution.
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/aN17lXWCI2TApk4W%40jumba.
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/460c019e-535d-4f1f-86a7-a3be2a158b8bn%40googlegroups.com.
I am sorry, what does make you think that `./sage --python` is removed?
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/CAAWYfq16Z534izfB3kjFWa%2BP%3DF15aiUvb3vYKE3AZP%2BML22xww%40mail.gmail.com.
2. Identify the backward incompatible changes in #39030 (and elsewhere, such as #39015). At some point, the public interface to the sage script consisted of the output of sage -advanced, which I've copied below (from 10.7). Since --notebook-dir does not appear there, is there another place where command line options that used to be supported are documented (I don't really want to try to figure this out by reading a bunch of bash scripts). And for the new command line interface, is the list of options documented somewhere?
On Wed, Oct 1, 2025 at 3:55 PM Dima Pasechnik <dim...@gmail.com> wrote:I am sorry, what does make you think that `./sage --python` is removed?Looking at the argument parser defined in the cli folder, I don't see --python added anywhere, so I would expect the behavior that Marc describes rather than what Dima observes. Dima, do you know what code path ./sage --python goes through?
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/CAChs6_m522NFicEJj1VzR%2BAg%2Bdi-DUtckUSWa4f3YXmmiCwsiA%40mail.gmail.com.
To summarise, nothing is "Crazy" here, from sage the distro point of view.
- Marc
--
You received this message because you are subscribed to the Google Groups "sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/CALcZXRFjATZjM8qVv3mPyr2u8oNg9dA0w%2B%3DMhyV28u8iZTPVCA%40mail.gmail.com.
. Why did you assume that venv/bin/sage is what ./sage is using?
They are not exactly entry points, since they are not advertised in the package metadata since there is no package metadata since there is no package (yet).
They are not exactly entry points, since they are not advertised in the package metadata since there is no package metadata since there is no package (yet).I don't understand what you mean with this sentence. There is a sagemath package, defined in the pyproject.toml file in the root, whose metadata (project.scripts) declares the entry point "sage" with implementation in the Python module "sage.cli". This is the standard way how Python projects register scripts/entry points, i.e. create executables in venv/bin upon installation.
--
You received this message because you are subscribed to a topic in the Google Groups "sage-devel" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sage-devel/t5Nxu61MhMI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sage-devel+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/sage-devel/d94c02a7-93ec-4bb7-a504-df25b931cb35n%40googlegroups.com.