Open henryiii opened 1 month ago
Curvenote Preview
Directory | Preview | Checks | Updated (UTC) |
---|---|---|---|
papers/henry_schreiner | 🔍 Inspect | ✅ 32 checks passed (4 optional) | Jul 3, 2024, 4:50 PM |
Hi @henryiii thanks for your submission! Can you update the DOI links to run checks?
Based on example mentioned in this post, the PEPs referenced in the checks have been cited^1 using a techreport
entry.
That said, I am not clear which DOI link to use in that particular case.
Is there way to add exceptions to allow the check to complete ?
_From the instructions_:
All citations that have DOIs should include those DOIs in the paper's references sectio
@jcfr, @henryiii you may be able to add citation keys you want to ignore if their DOIs don't exist in myst.yml under error_rules:
- rule: doi-exists
severity: ignore
keys:
- abc
- def01
As @jcfr is a co-author, I went ahead and committed his review suggestions in order to get the paper to pass all checks so that the paper is ready for review by the assigned reviewers. Thanks @jcfr and I hope to see you in Tacoma.
Thanks @cbcunc for the help :pray:
And yes, also looking forward to see you in Tacoma. @thewtex will also be here.
Thanks! @jcfr, I meant to give you permissions here, I can add them if you don’t already have them.
Added both you and @thewtex, sorry I forgot!
Review reminders sent to @aterrel and @MooersLab
Hello! I'll have some notes on the review this week, been on vacation and travel the last few.
Hi!
I apologize to the authors for my tardy response.
I am new to Python extension building: I am not a domain expert. Nonetheless, this paper is well-organized, precise, clear, and concise. After reading this paper, I want to use scikit-build-core to build a Python package,
Do software names need to be in italics or bold? Some package names are in different font, but the use of the different font does seem to me to be not consistent.
I appreciate the respect that the authors show for the Oxford comma! Yah! You can replace the first comma in the first sentence of paragraph two of the Introduction with an EM-dash (--) or colon to avoid confusion with the four other commas in the sentence.
In the second sentence, I suggest inserting "new system" between "this" and "provides"
Paragraph 3, sentence one: full featured needs a hyphen.
Paragraph 3, sentence one: comma before "even"
Paragraph 3, sentence two: sdist and SDist are not consistent. Define here sadist with its first use rather than in the second paragraph of ### The simplest example.
Paragraph 7, sentence two: Python only needs a hyphen.
last line: awkward array is written Awkward Array by the developers.
Collapse this section into a single paragraph. The first two sentences can be combined and rewritten as one sentence.
Second to last sentence: replace since with because. Since is a weasel word when used to refer to causation. Just use because to be more direct.
First paragraph, last sentence: JSONSchema needs to be separated into two words.
Third paragraph, last sentence: replace since with because Third paragraph, last sentence: "yet and" is confusing. Rewrite for clarity.
Two paragraph: There is a (TODO). Is it done?
Reviewer: Andy Terrel
Department/Center/Division: Compute Products
Institution/University/Company: NVIDIA
Field of interest / expertise: Computer Science / Computational Math
Country: USA
Article reviewed: Scikit-build-core: A modern build-backend for CPython C/C++/Fortran/Cython extensions
Please rate the paper using the following criteria (please use the abbreviation to the right of the description)::
below doesn't meet standards for academic publication meets meets or exceeds the standards for academic publication n/a not applicable
Quality of the approach: meets
Quality of the writing: meets
Quality of the figures/tables: meets
For the following questions, please respond with 'yes' or 'no'. If you answer 'no', please provide a brief, one- to two-sentence explanation.
Yes
Does the article present the problem in an appropriate context? Yes
Is the content of the paper accessible to a computational scientist with no specific knowledge in the given field?
Yes. The article does a good job of explaining the history and current state of building python software then gives a small example for reference.
Yes, a coherent build backend that is used by numerous project is both a worthy goal and a technical achievement.
Yes
Yes
Yes. Although a few phrases are not fact but supposition:
"Python has a long history" I mean what does long mean not nearly as long as FORTRAN or the Euler equation. "packaging isn’t something that was considered important" that may be the feeling of the community but what facts are supporting this statement. "Leading to packages containing large numbers of unrelated modules (SciPy) to reduce the number of packages one had to figure out how to install" -> I don't think this was the motivation for SciPy or that the modules are "unrelated"
Additionally, if you are going to talk about wheel formats you should also talk about conda packages which predate the wheel and are widely used by the community. Especially since you include it in your figure.
If one is going to call out Rapids for "unusual requirements" and breaking PEP 621, it would be good to expound on those unusual requirements.
Yes
Yes, but claims that it is "easiest" and "first" on minor features (like cli builds and free-threading) are noise rather than the true engineering feat.
I think you need to include conda in your history section as it was a prior work solving a very similar problem.
No.
In your view, is the paper fit for publication in the conference proceedings? Please suggest specific improvements and indicate whether you think the article needs a significant rewrite (rather than a minor revision).
Yes but please fix the (TODO)s
Working on this now!
@aterrel
I don't think this was the motivation for SciPy
"unrelated" is incorrect, I wanted to imply they didn't need to be together (not interdependent?). I think "distinct" is better. But otherwise I think this is exactly how Travis Oliphant describes SciPy ("His baby") in https://www.youtube.com/watch?v=gFEE3w7F0ww&t=1372s. It was the merging of several packages for ease of distribution. Ahh, that's also described in the SciPy paper, will move the reference up.
if you are going to talk about wheel formats you should also talk about conda packages
Conda packages just run pip install .
which itself builds a wheel then installs it. Conda is just a general purpose (not just Python) redistribution like Enthought that is just also modular. If you have to discuss conda when discussing wheels, why not every other package manager? Conda happens to have a lot of Python in its history, but it's a redistribution.
I do think it make sense to cover conda in the paragraph before, though, especially since it came first (which I knew but had somewhat forgotten).
it would be good to expound on those unusual requirements
I thought that's exactly what I did in the following sentences? They need to change the name of the package based on the CUDA version it is compiled with and inject modified dependencies? I can expand but not sure what more to say. I did add a sentence about the discussions on this at PyCon 24's packaging summit.
but claims that it is "easiest" and "first" on minor features (like cli builds and free-threading)
The word [Ee]siest
doesn't appear in the document. CLI builds - if you mean building without build
or pip
, but from some custom CLI tool, aren't supported yet, while maturin does support this, so we better not claim to be first there!
I removed the (if not the first)
for free-threaded builds. But I wouldn't call free-threading a minor feature - it's the largest change to CPython ever. It's the first feature to force multiple builds since wide unicode, and it breaks the Stable ABI.
conda in your history section as it was a prior work solving a very similar problem
It's there now, but it doesn't solve a similar problem at all. Conda can't build anything by itself; it uses your build system (including scikit-build-core) and distributes binary that don't require building. Ahh, what you mean is you can install via cmake commands instead of python ones, and if CMake puts things in the right spots with the right names, it can be a Conda-only distribution. Similar to how root on conda-forge works. But probably missing a .dist-info
folder. Okay, fair, adding a paragraph.
I think I addressed everything except the package names, should they be package
or package?
Ah, and sorry about the TODO. It takes several hours to run the statistics, and I started it, wrote the TODO, then completely forgot about it.
@henryiii Thanks for addressing my comments. I think adding these small details to the great work the team has done will only strengthen the paper. I look forward to seeing the presentation.
First draft. CC @jcfr and @thewtex.
Editor: Chris Calloway @cbcunc
Reviewers: