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
D4.13: Refactorisation of SageMath's Sphinx documentation system #87
Comments
I am going to look again at this now. |
I am going to look again at this now.
Excellent! That indeed looks like the major next big task. For this
deliverable, but in the first place because the Sage developers are
looking forward to it!
Feel free to ping again the Sphinx devs to encourage them to come
again to Cernay.
|
I think it was @hivert who invited them, certainly not me. |
I am currently working on improving support for Cython functions in Sphinx: sphinx-doc/sphinx#3623. I'm using cysignals as test case: http://cysignals.readthedocs.io/en/latest/pysignals.html#cysignals.pysignals.setsignal |
As a second use-case, I will improve the documentation for fpylll too: fplll/fpylll#22 |
I reorganized the issue description a bit. Personally, I worked mostly on the "autodoc" part and I think there is already more than enough stuff to do in that part. Maybe we should sit together with the people interested in this issue and see what can be done? |
Would be okay to delay this deliverable? |
Hi Jeroen! |
There's so much work yet to do here; in fact I'd say the work has barely begun, and Jeroen hasn't received much support on it. I have a few specific fixes I would like to try out that I think will improve memory usage in Sage's documentation build, but it hardly constitutes "refactoring". I'm not sure what you want us to do with this. At best we can say "minor progress has been made towards improvments". In particular Jeroen's done a lot of work "unforking" parts of Sage's docbuild--that is, reintegrating changes we've made to code from Sphinx back into upstream. But that's very technical. I suppose it can be worded in terms of making upstream contributions that are mutually beneficial to both projects. Unfortunately some of the work I've done for D3.5 (#64) proposes forking a new bit of Sphinx that I needed to fork in order to get everything working right: https://trac.sagemath.org/ticket/25914 I did this a month ago but haven't gotten anyone to look at it yet. I believe the changes I needed to make should mostly be easy to get accepted upstream though, and it's a high priority for me to do just that, but only once my changes are accepted into Sage in the first place. |
There's so much work yet to do here;
Yeah, that's life; if we wanted to have an extension for this
deliverable, we should have asked for it months ago. But we did not,
so we have to submit a report next week.
So let's not worry about it, and just honestly report on the current
state: all the good work that was already done (the unforking was
explicitly part of the refactoring!), and the specific plan on how we
want to achieve that plan within the next year, with explicit mention
of the manpower that we will dedicate to this, including e.g. a plan
for a joint sprint with the two of you, and maybe others?
|
Working on the report... |
Concerning work to do: nobody has tried to assign me to any >M36 deliverable, so I'm essentially free after august :-) I certainly do plan to continue working on this and I will write that in the report. Also PEP 580 is partially motivated by this deliverable. Unfortunately, due to the current crisis in CPython governance, that's unlikely to be accepted (or rejected) in 2018. |
Right, I meant to mention that. That would probably be worth adding to the report. |
I just finished reviewing the draft of report. That's a good start, thanks again! I made some edits, and left TODO's; for some of them, you may want to ping me back if unsure what to do. |
I'll first finish a draft for D4.10 and then come back here. |
Quick question: do we have an "official" way to refer to ODK workshops? Should I just write "the April 2016 OpenDreamKit workshop in Cernay"? |
You wrote
but I disagree. The whole point is to use a standard Sphinx setup, so we don't need "Sphinx configuration for Sage packages". |
|
Quick question: do we have an "official" way to refer to ODK workshops?
Should I just write "the April 2016 OpenDreamKit workshop in Cernay"?
This one was Sage Days 77. Let's say "the Sage Days 77 workshop
organized by OpenDreamKit" or some similar phrasing.
|
On Tue, Aug 28, 2018 at 03:20:25AM -0700, jdemeyer wrote:
You wrote
\TODO{Sphinx configuration for Sage packages: template in sage-sample
and utilities in sage-package}
but I disagree. The whole point is to use a standard Sphinx setup, so
we don't need "Sphinx configuration for Sage packages".
Sorry if I have been unclear; the whole point is indeed to use a
vanilla Sphinx installation. Nevertheless Sage will still use some
custom configuration, if not just for theming, right? this we want to
share with Sage packages one way or the other.
|
Just pushed another update. I also added a reference to T3.3 (packaging) since this is actually quite relevant for packaging too. |
I'm not sure about this actually. |
I'm not sure about this actually.
The less custom we have, the better :-)
Nevertheless, things like our custom trac roles for Wikipedia, trac,
and such, the default role `` -> maths, the thebelab configuration,
that we want to use plugins like intersphinx to crosslink to Python's
standard documentation. That's all configuration that will differ from
Sphinx's default value, right?
|
OK, I see your point now. But what (if anything) should we write about it? |
Regarding
|
OK, I see your point now. But what (if anything) should we write about
it?
What do you think of a brief phrase stating something like: it is
beneficial for Sage packages to use the same theming and configuration
as Sage for building their documentation. We simplified the process by
implementing the sage-package utility (which contains among other
things a copy of the Sage-Sphinx configuration), and illustrating its
usage in the sage-sample package template. We are investigating for
the best way to avoid the aforementioned copy.
|
1. Can we claim it as part of ODK?
Most of it (but of course not the development of sphinxcontrib-jupyter
itself; just the contributions) was done by Olivier Cayrol and myself.
So yes.
2. What it does it quite related to ThebeLab. So, if we report on it,
it makes sense to do that on D4.7 ([1]#96), where we already report
on ThebeLab.
I agree it's borderline. Here, most of the work is Sphinx related.
Whereas for ThebeLab most of the work was related to Jupyter, with
just a tiny bit of Sphinx configuration. Hence it seems to fit a bit
better here.
|
@nthiery I pushed another update adding some of the stuff we discussed today. Please review in particular the last section. |
I made some final fixes to the report. For me, it is done. |
I'll give it another read over. Based on my last look at it I don't think I'll have much to add on the content; I'm mostly just proof-reading. |
I wonder if it's worth mentioning in a footnote that Guido was mostly positive about the PEP, which might have been helpful in getting it done faster if not for the unfortunate (for your PEP) timing of his retirement from the BDFL role. |
In other words, the current wording leaves some doubt as to whether or not it will be accepted. I think, from what I've seen so far, it likely will be accepted, eventually, in some form or other. Even if some of the details change I don't think anyone can disagree (well, I'm sure 1 or 2 people do) that refactoring CPython's function types to have a more consistent interface is a good thing. |
Personally, I'm more pessimistic (or realistic?). I think that there is also a real possibility of it just being ignored, neither accepted or rejected (this is certainly the case for many Python PRs). |
Thanks Jeroen and Erik for the polishing! |
OK, I remain optimistic about it in the long term, but you're in the thick of it so I know how frustrating it's been and can easily see how you can be pessimistic (there is precedent for PEPs that looked good in principle but just stalled out indefinitely). So if you're not comfortable making any claims with confidence then let's just let it be. |
Submitted! |
Accepted by the EU on December 5th. |
To do:
General
Docbuilder
make doc-clean
:$SAGE_SHARE
: http://trac.sagemath.org/ticket/19963Indeed Sphinx currently takes up to 3Gb and a lot of time which feels too much.
autodoc
binding=True
: https://trac.sagemath.org/ticket/22747Package upgrades
The text was updated successfully, but these errors were encountered: