... Just restart sage and your changes will automatically be reflected.
--
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/565333e1-395a-44f0-b582-93982013dfa7n%40googlegroups.com.
But you just don't need these any more - an equivalent of "sage -br" is happening in the background, if needed, when you start Sage
(built in the default, "editable" mode)
On October 17, 2025 9:39:39 AM CDT, Travis Scrimshaw <tcsc...@gmail.com> wrote:
>I am a *very strong* -1 on this. These are extremely useful for when you
>have to rebuild cython files but don't need to go through the entire "make"
>process.
But you just don't need these any more - an equivalent of "sage -br" is happening in the background, if needed, when you start Sage
(built in the default, "editable" mode)
On October 17, 2025 9:39:39 AM CDT, Travis Scrimshaw <tcsc...@gmail.com> wrote:
>I am a *very strong* -1 on this. These are extremely useful for when you
>have to rebuild cython files but don't need to go through the entire "make"
>process.
But you just don't need these any more - an equivalent of "sage -br" is happening in the background, if needed, when you start Sage
(built in the default, "editable" mode)
I have verified that this does work, but it does so silently. It is also very dangerous because it can easily look that Sage is taking a long time to load because, say, you touched element.pxd trivially.
While Python files are very fast, this is not generally true for Cython files, and I think it would be better to not have this by default and have more control for when these compile.
Best,
Travis
--
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/751e1b84-f40a-4a39-bbde-5bf7c9ce818fn%40googlegroups.com.
On Fri, Oct 17, 2025 at 4:01 PM Travis Scrimshaw <tcsc...@gmail.com> wrote:I have verified that this does work, but it does so silently. It is also very dangerous because it can easily look that Sage is taking a long time to load because, say, you touched element.pxd trivially.I don't see what's "dangerous" here. If you touched element.pxd then, by right, anything dependent on it must be rebuiltone way or another. Anyhow, you can (as documented, see src/doc/en/installation/source.rst - or the corresponding place inthe html docs) doexport MESONPY_EDITABLE_VERBOSE=1Then when you start ./sage, you will see if any building is taking place.
> There is a strong case to be made for Python files automatically being
> reloaded. This is how Python works, both in the language design and
> interpreter design. Cython is completely different being a (not JIT)
> compiled language. Moreover with it being (default) silent despite the
> Cython compiler having output is really bad. Imagine if your favorite C
> compiler was silent by default.
Both gcc and clang are silent :)
On 2025-10-18 08:43:13, Travis Scrimshaw wrote:
> Okay, perhaps I should be more precise here (it's also been awhile since I
> used one, so my memory might be wrong). On any single command, it doesn't
> say anything (it would be difficult for it to say what it was doing), but
> when run from a makefile, I thought it did output what command was being
> run? (Okay, technically that isn't a C compiler either...but the act of
> compiling a C program.)
"make" will print the commands it's running, but I was not seriously
trying to nitpick, your point was clear. When you run GCC, you expect
it to be compiling a C program; when you run Sage, you expect to see a
Sage banner.
My earlier message was not defending the behavior, only pointing out
that spin doesn't solve it. If you are willing to forego the editable
install, then meson alone works great. If not, the problem lies one
level below spin.
I completely understand that change is hard, and that the new workflow came as a surprise. I should have communicated this earlier and in more detail — that’s on me.
To clarify, the behavior under the new build system is standard for meson‑python editable installs: when the library is installed in editable mode, changes in Python or Cython files are picked up simply by restarting, without needing a full rebuild (https://mesonbuild.com/meson-python/how-to-guides/editable-installs.html). The same approach is used by NumPy, SciPy, and others.
In my experience, it generally works quite nice and rebuilds for the usual changes to one or two Cython modules are often picked-up without any noticable delay. Personally, I don't mind that it's silently recompiling in the background, but can understand that personal preferences differ there. We can certainly set the toggle to 'loud', but that would need more testing (eg some doctests might fail because they directly check the output of sage).
I suggest to give it a bit of time and see how it feels in practice. Once people have actually used it for a while, we’ll have a clearer sense of what’s genuinely problematic versus what just takes getting used to, and we can revisit adjustments then.
Has anyone looked at the possibility of using spin for sagemath development?
https://github.com/scientific-python/spin
Dima