Indeed, the change from the bash script to the new python script is pretty
well obfuscated.
The old bash script still exists as src/bin/sage but it is not used. To
see where the new python replacement gets created you have to look inside
the file sage/pyproject.toml. There you find:
[project.scripts]
sage = "sage.cli:main"
which causes the actual sage executable to get built.
- Marc
PS Incidentally, and completely unrelated, the pyproject.toml file also
contains a deprecated license classifier:
"License :: OSI Approved :: GNU General Public License v2 or later
(GPLv2+)",
which is no longer allowed. Instead there is supposed to be a license
field in the project block.
On Wednesday, October 1, 2025 at 10:47:02 AM UTC-5 David Roe wrote:
> 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
> <https://github.com/sagemath/sage/releases>.
> David
>
> On Wed, Oct 1, 2025 at 11:31 AM Marc Culler <[email protected]> wrote:
>
>> This is regarding the options which were eliminated in the new
>> stealth-replaced backwards-incompatible sage executable.
>>
>> One important option which was very useful to me, and which is now gone,
>> allowed specifying the directory where notebooks are stored:
>>
>> usage: sage [-h] [-v] [-q] [--simple-prompt] [-V] [-n
>> [{jupyter,jupyterlab}]] [-c [COMMAND]] [file]
>> sage: error: unrecognized arguments:
>> --notebook-dir=/Users/culler/Documents/Sage
>>
>> - Marc
>>
>> On Wednesday, October 1, 2025 at 9:48:34 AM UTC-5 Marc Culler wrote:
>>
>>> After finally getting Sage 10.8beta5 to build in the context which I
>>> need for the Sage_macOS app, I built the app, only to find that it is
>>> completely broken. The reason turns out to be that the main sage
>>> executable (sage/venv/bin/sage) has completely changed. The long bash
>>> script which parses the options and sources other bash scripts to construct
>>> the execution environment has been replaced by a python script which works
>>> completely differently and seems to support a different set of options.
>>>
>>> The new version may well be an improvement. I can't say yet. But the
>>> idea that something as core as the main sage executable would get changed
>>> in a fundamental and backwards incompatible way between two beta releases,
>>> without any warning or any discussion at all, is mind boggling. As the
>>> subject line says, it is just crazy. No serious software development
>>> project works that way.
>>>
>>> - 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 [email protected].
>> To view this discussion visit
>> https://groups.google.com/d/msgid/sage-devel/c33aa6a2-9c89-436e-a5f1-47dcfadc03d3n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/sage-devel/c33aa6a2-9c89-436e-a5f1-47dcfadc03d3n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
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 [email protected].
To view this discussion visit
https://groups.google.com/d/msgid/sage-devel/ad4a10a5-cd31-4182-921d-6a965a68bfben%40googlegroups.com.