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.

Reply via email to