Skip to content
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

Great Tables submission #202

Open
17 of 31 tasks
rich-iannone opened this issue Jun 14, 2024 · 13 comments
Open
17 of 31 tasks

Great Tables submission #202

rich-iannone opened this issue Jun 14, 2024 · 13 comments
Assignees

Comments

@rich-iannone
Copy link

rich-iannone commented Jun 14, 2024

Submitting Author: Name (@rich-iannone)
All current maintainers: (@rich-iannone, @machow)
Package Name: Great Tables
One-Line Description of Package: Make awesome display tables using Python.
Repository Link: https://github.com/posit-dev/great-tables
Version submitted: v0.13.0
EiC: @Batalex
Editor: @Batalex
Reviewer 1: @cjbassin
Reviewer 2: @glemaitre
Archive: TBD
JOSS DOI: TBD
Version accepted: TBD
Date accepted (month/day/year): TBD


Code of Conduct & Commitment to Maintain Package

Description

The Great Tables package is all about creating tables for the purpose of presentation. You can use
Pandas or Polars DataFrames as inputs, and the Great Tables API allows you to:

  • structure the data using column spanners and row groups, and add header and footer information
  • format the data with a wide range of powerful formatting methods
  • style the table to make it aesthetically pleasing or to highlight important information
  • integrate the table display into notebooks, Quarto documents or web pages, and export the table
    as HTML or a variety of image formats

Scope

  • Please indicate which category or categories.
    Check out our package scope page to learn more about our
    scope. (If you are unsure of which category you fit, we suggest you make a pre-submission inquiry):

    • Data retrieval
    • Data extraction
    • Data processing/munging
    • Data deposition
    • Data validation and testing
    • Data visualization1
    • [] Workflow automation
    • Citation management and bibliometrics
    • Scientific software wrappers
    • Database interoperability

Domain Specific

  • Geospatial
  • Education

Community Partnerships

If your package is associated with an
existing community please check below:

  • For all submissions, explain how and why the package falls under the categories you indicated above. In your explanation, please address the following points (briefly, 1-2 sentences for each):

The package can be seen as a data visualization package, but it is perhaps more in the direction of data presentation/publication (i.e., not datavis in the traditional sense). However, tables are important and they are ubiquitous in all sorts of scientific publications.

  • Who is the target audience and what are scientific applications of this package?

The target audience is anyone who needs to present data in the tabular format. There is a particular focus on science and engineering applications as many of the formatting methods are geared toward this audience (e.g., scientific notation, significant figures, units notation, chemistry notation, etc.).

  • Are there other Python packages that accomplish the same thing? If so, how does yours differ?

There are only a few packages that deal with tabular data presentation. The Pandas styler API is probably the best known of these, but it is limited in its capabilities. A big part of Great Tables is the ability to structure a table to a more traditional table format (one you'd commonly see in journals or reports) instead of interactive tables that are more common in web apps (i.e., displaying hundreds or thousands of rows of data). The formatting capabilities of Great Tables are also much more extensive than Pandas styler or other packages.

  • If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted:

#184

Technical checks

For details about the pyOpenSci packaging requirements, see our packaging guide. Confirm each of the following by checking the box. This package:

  • does not violate the Terms of Service of any service it interacts with.
  • uses an OSI approved license.
  • contains a README with instructions for installing the development version.
  • includes documentation with examples for all functions.
  • contains a tutorial with examples of its essential functions and uses.
  • has a test suite.
  • has continuous integration setup, such as GitHub Actions CircleCI, and/or others.

Publication Options

JOSS Checks
  • The package has an obvious research application according to JOSS's definition in their submission requirements. Be aware that completing the pyOpenSci review process does not guarantee acceptance to JOSS. Be sure to read their submission requirements (linked above) if you are interested in submitting to JOSS.
  • The package is not a "minor utility" as defined by JOSS's submission requirements: "Minor ‘utility’ packages, including ‘thin’ API clients, are not acceptable." pyOpenSci welcomes these packages under "Data Retrieval", but JOSS has slightly different criteria.
  • The package contains a paper.md matching JOSS's requirements with a high-level description in the package root or in inst/.
  • The package is deposited in a long-term repository with the DOI:

Note: JOSS accepts our review as theirs. You will NOT need to go through another full review. JOSS will only review your paper.md file. Be sure to link to this pyOpenSci issue when a JOSS issue is opened for your package. Also be sure to tell the JOSS editor that this is a pyOpenSci reviewed package once you reach this step.

Are you OK with Reviewers Submitting Issues and/or pull requests to your Repo Directly?

This option will allow reviewers to open smaller issues that can then be linked to PR's rather than submitting a more dense text based review. It will also allow you to demonstrate addressing the issue via PR links.

  • Yes I am OK with reviewers submitting requested changes as issues to my repo. Reviewers will then link to the issues in their submitted review.

Confirm each of the following by checking the box.

  • I have read the author guide.
  • I expect to maintain this package for at least 2 years and can help find a replacement for the maintainer (team) if needed.

Please fill out our survey

P.S. Have feedback/comments about our review process? Leave a comment here

Editor and Review Templates

The editor template can be found here.

The review template can be found here.

Footnotes

  1. Please fill out a pre-submission inquiry before submitting a data visualization package.

@Batalex
Copy link
Contributor

Batalex commented Jun 22, 2024

Editor in Chief checks

Hi there! Thank you for submitting your package for pyOpenSci review. Below are the basic checks that your package needs to pass to begin our review. If some of these are missing, we will ask you to work on them before the review process begins.

Please check our Python packaging guide for more information on the elements
below.

  • Installation The package can be installed from a community repository such as PyPI (preferred), and/or a community channel on conda (e.g. conda-forge, bioconda).
    • The package imports properly into a standard Python environment import package.
  • Fit The package meets criteria for fit and overlap.
  • Documentation The package has sufficient online documentation to allow us to evaluate package function and scope without installing the package. This includes:
    • User-facing documentation that overviews how to install and start using the package.
    • Short tutorials that help a user understand how to use the package and what it can do for them.
    • API documentation (documentation for your code's functions, classes, methods and attributes): this includes clearly written docstrings with variables defined using a standard docstring format.
  • Core GitHub repository Files
    • README The package has a README.md file with clear explanation of what the package does, instructions on how to install it, and a link to development instructions.
    • Contributing File The package has a CONTRIBUTING.md file that details how to install and contribute to the package.
    • Code of Conduct The package has a CODE_OF_CONDUCT.md file.
    • License The package has an OSI approved license.
      NOTE: We prefer that you have development instructions in your documentation too.
  • Issue Submission Documentation All of the information is filled out in the YAML header of the issue (located at the top of the issue template).
  • Automated tests Package has a testing suite and is tested via a Continuous Integration service.
  • Repository The repository link resolves correctly.
  • Package overlap The package doesn't entirely overlap with the functionality of other packages that have already been submitted to pyOpenSci.
  • Archive (JOSS only, may be post-review): The repository DOI resolves correctly.
  • Version (JOSS only, may be post-review): Does the release version given match the GitHub release (v1.0.0)?

  • Initial onboarding survey was filled out
    We appreciate each maintainer of the package filling out this survey individually. 🙌
    Thank you authors in advance for setting aside five to ten minutes to do this. It truly helps our organization. 🙌


Editor comments

This is a really solid submission, and I am super excited for us to contribute to great_tables. I'll get started on finding an editor for this submission.

suggestion: TIL we can store CONTRIBUTING.md in .github. Would you mind adding a section in the README pointing to this file? I knew what I was looking for, but I think the entry barrier for new contributors would be lower if they did not have to open a PR to see the contributing guidelines.

todo: We can get started, but during the review's course, we should add the paper.md file as part of the review.

@Batalex Batalex self-assigned this Jun 22, 2024
@Batalex Batalex moved this from pre-review-checks to seeking-editor in peer-review-status Jun 22, 2024
@cmarmo
Copy link
Member

cmarmo commented Jul 15, 2024

Hi @rich-iannone, thanks again for submitting Great Tables to pyOpenSci!
I'm Chiara and I'm following up as editor in chief for the next three months.
I'm glad to announce that @Batalex is volounteering to serve as editor too for your submission.... Thanks a lot Alex!

@lwasser lwasser moved this from seeking-editor to under-review in peer-review-status Jul 15, 2024
@Batalex
Copy link
Contributor

Batalex commented Aug 10, 2024

Hello there @rich-iannone,
I have been looking for reviewers for this submission, but as you might guess, the summer period is slowing down all kinds of interactions. Nonetheless, this submission is still alive and well!

@Batalex
Copy link
Contributor

Batalex commented Oct 26, 2024

Hey @rich-iannone,
Sorry, it took me so long to get back to this review. Let me make it up to you by introducing the two rock stars who volunteered to review great-tables: @glemaitre and @cjbassin.

@glemaitre and @cjbassin, thank you so much or volunteering to review for pyOpenSci! I hope this experience will be as fulfilling as it was for me.

Please fill out our pre-review survey

Before beginning your review, please fill out our pre-review survey. This helps us improve all aspects of our review and better understand our community. No personal data will be shared from this survey - it will only be used in an aggregated format by our Executive Director to improve our processes and programs.

The following resources will help you complete your review:

  1. Here is the reviewers guide. This guide contains all of the steps and information needed to complete your review.
  2. Here is the review template that you will need to fill out and submit
    here as a comment, once your review is complete.

Please get in touch with any questions or concerns! Your review is due: 18th nov.

Reviewers: @glemaitre,@cjbassin
Due date: 2024/11/18

@cjbassin
Copy link

cjbassin commented Oct 31, 2024 via email

@rich-iannone
Copy link
Author

@cjbassin Thanks for noting this! I'd definitely appreciate it if the review were based on v0.13.0 version.

@Batalex
Copy link
Contributor

Batalex commented Nov 1, 2024

Absolutely, I updated the version. Thank you

@CorinneBassin-SOI
Copy link

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (If you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need clearly stating problems the software is designed to solve and its target audience in README.
  • Installation instructions: for the development version of the package and any non-standard dependencies in README.
  • Vignette(s) demonstrating major functionality that runs successfully locally.
  • Function Documentation: for all user-facing functions.
  • Examples for all user-facing functions.
  • Community guidelines including contribution guidelines in the README or CONTRIBUTING.
  • Metadata including author(s), author e-mail(s), a url, and any other relevant metadata e.g., in a pyproject.toml file or elsewhere.

Readme file requirements
The package meets the readme requirements below:

  • Package has a README.md file in the root directory.

The README should include, from top to bottom:

  • The package name
  • Badges for:
    • Continuous integration and test coverage,
    • Docs building (if you have a documentation website),
    • A repostatus.org badge,
    • Python versions supported,
    • Current package version (on PyPI / Conda).

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

  • Short description of package goals.
  • Package installation instructions
  • Any additional setup required to use the package (authentication tokens, etc.)
  • Descriptive links to all vignettes. If the package is small, there may only be a need for one vignette which could be placed in the README.md file.
  • Brief demonstration of package usage (as it makes sense - links to vignettes could also suffice here if package description is clear)
  • Link to your documentation website.
  • If applicable, how the package compares to other similar packages and/or how it relates to other packages in the scientific ecosystem.
  • Citation information

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole.
Package structure should follow general community best-practices. In general please consider whether:

  • Package documentation is clear and easy to find and use.
  • The need for the package is clear
  • All functions have documentation and associated examples for use
  • The package is easy to install

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software been confirmed.
  • Performance: Any performance claims of the software been confirmed.
  • Automated tests:
    • All tests pass on the reviewer's local machine for the package version submitted by the author. Ideally this should be a tagged version making it easy for reviewers to install.
    • Tests cover essential functions of the package and a reasonable range of inputs and conditions.
  • Continuous Integration: Has continuous integration setup (We suggest using Github actions but any CI platform is acceptable for review)
  • Packaging guidelines: The package conforms to the pyOpenSci packaging guidelines.
    A few notable highlights to look at:
    • Package supports modern versions of Python and not End of life versions.
    • Code format is standard throughout package and follows PEP 8 guidelines (CI tests for linting pass)

For packages also submitting to JOSS

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

  • A short summary describing the high-level functionality of the software
  • Authors: A list of authors with their affiliations
  • A statement of need clearly stating problems the software is designed to solve and its target audience.
  • References: With DOIs for all those that have one (e.g. papers, datasets, software).

Final approval (post-review)

  • The author has responded to my review and made changes to my satisfaction. I recommend approving this package.

Estimated hours spent reviewing: 3.5


Review Comments

Overall, I think this is a fantastic package that not only has clear documentation but has provided several ways for the community to be involved with discussion boards, discord, etc. My notes below are primarily to help users who might be less experienced.
A few Notes

  • Installation instructions.
    • Installation using pip is clear and easy to find.
    • I also used conda install conda-forge::great_tables . If you are comfortable adding that as a possible secondary example on instructions, I always find it helpful to know what channel might be the best to install from.
    • Also, in order to run through all the examples using from great_tables.data import islands you have to have pandas installed. The error ModuleNotFoundError: Currently, importing great_tables.data requires pandas. This will change in the future. Most of great_tables can be used without pandas. that comes up is great, but it would be better to have it clear in the documentation at https://posit-dev.github.io/great-tables/get-started/#a-basic-table-using-great-tables that it needs to be installed to use this example data set at this point to lower the barrier of entry for users.
  • Although you have a CONTRIBUTING.MD in the repository, it is not linked in the README or in the docs. Linking this along with where you have the Code of Conduct would make it easier to find.
  • Examples

Item Not Checked in the Review Above:
[ ] Citation
- Governance and Engagement is clear, but I did not find a clear reference to CITATION in the README or DOCS

@Batalex
Copy link
Contributor

Batalex commented Nov 16, 2024

Here is my own review, focusing on the code aspects. TBH, I mostly eyeballed than did a thorough line-by-line review considering how massive the codebase is. I hope you will get something out of it, though.

The review more or less follows the https://conventionalcomments.org/ structure, each category representing how strongly I feel about the point I raise. I want to make it clear to you that since I am the editor for this review, you do not have to follow it to get this package approved. Pick what you want!

Praises

  • praise (README.md): This README is mostly the perfect entry point to the project.
  • praise (_types.py): What a great alternative to typing.Self for Python < 3.11!
  • praise (_helper.py): The GFont helper is such a nice touch.
  • praise (_formats.py, _formats_vals.py): Everything is so nicely laid out that it's a joy to follow

Nitpicks

  • nitpick (README.md): I would advise linking the CONTRIBUTING.md file somewhere in the README, probably near the Code of Conduct section. Currently, it is somewhat hidden in the .github folder.
  • nitpick (CONTRIBUTING.md): We could add a link to https://stackoverflow.com/help/minimal-reproducible-example in the section Filing issues.
  • nitpick (pyrightconfig.json): This is purely a personal preference, but I like having my pyright configuration in my pyproject.toml file. I am not expecting a change, I just wanted to let you know about this possibility.

Suggestions

  • suggestion (CONTRIBUTING.md): I believe we can ease the onboarding of new contributors and reduce the burden of maintenance by adding a little more content to this file.
    Namely, we can explicitly list the requirements for a submission to be considered (e.g. code style, formatting, having tests covering the new feature/preventing a regression on a bug fix) and the make command associated. In addition, we can also include the command to create a virtual environment with the development dependencies and guide new contributors to using pre-commit.
  • suggestion (_text.py): I wonder if we could use hasattr(x, "to_html") instead of checking for a UnitStr instance. That way we would 1. get rid of the circular import and 2. enable other types. I totally understand if you want to keep full control of what is rendered, though.
  • suggestion (_text.py): Maybe we could make Text a subclass of str instead of a single attribute dataclass. We would get rid of quite a few types checks errors.
  • suggestion (general): great-tables' code base is massive, so it's not a surprise that there is a lot going on, maintenance-wise. I'd like to share a tip I've used for a few years to manage my TODOs and FIXMEs throughout code bases. I use the syntax # <CATEGORY>(<scope>): <comment> (FIXME, respectively)(you may notice that it's the same "conventional" syntax that I use in this very same review). The idea is that you can quickly extract all the TODOs related to a specific subject. For instance, in _utils.py, in the pairwise function, the comment about Python 3.10 could be # TODO(py310): Remove because part of stdlib. With this one trick, you can easily track down all TODOs and FIXMEs related to Python 3.10.

Issues

  • issue (general): We have numerous unneeded imports throughout the files.
    I recommend setting up a linter to track down unnecessary imports to reduce the boilerplate and make the format more consistent (for instance in _helpers.py where we have two different ways to import stuff from _text.py). isort is quite easy to setup with black. ruff is another alternative which plays nice with black out of the box, though this discussion would then broaden the discussion to replacing flake8 as well. Both solutions would also require removing comments from "imports blocs", something that I saw quite often in the code base.
  • issue (general): There are a fair number of files with just one pass-through function. Is this because you want to keep the codebase as close as possible to gt's, or is it just a refactoring waiting to be done?
  • issue (_boxhead.py, _formats.py, _modify_rows.py, _spanners.py, _utils_nanoplots.py, others): I can spot a few places where we could move some import statements to the top of the file instead of being in functions. AFAICT there is no circular import issue there, and it does not seem to be for performance reasons either.
  • issue (_boxhead.py): The type annotation for cols_align is missing | None for the columns parameter.
  • issue (_utils_nanoplots.py): I am a little on the fence about this file. It seems a little out of place, and I would not be surprised if this was extracted in its own package, just like htmltools. It has a LOT of content, its scope is way bigger than other files: data validation, statistic computation, and the actual SVG build. The thousand lines long function seems high maintenance as well.

@Batalex
Copy link
Contributor

Batalex commented Nov 20, 2024

@rich-iannone Congrats on the 0.14 release!

Guillaume will need more time to work on the review. Meanwhile, you can go through the content in the two available reviews, we don't have to wait for all of them. Really, it's your call

@glemaitre
Copy link

Package Review

Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide

  • As the reviewer I confirm that there are no conflicts of interest for me to review this work (If you are unsure whether you are in conflict, please speak to your editor before starting your review).

Documentation

The package includes all the following forms of documentation:

  • A statement of need clearly stating problems the software is designed to solve and its target audience in README.
  • Installation instructions: for the development version of the package and any non-standard dependencies in README.
  • Vignette(s) demonstrating major functionality that runs successfully locally.
  • Function Documentation: for all user-facing functions.
  • Examples for all user-facing functions.
  • Community guidelines including contribution guidelines in the README or CONTRIBUTING.
  • Metadata including author(s), author e-mail(s), a url, and any other relevant metadata e.g., in a pyproject.toml file or elsewhere.

Readme file requirements
The package meets the readme requirements below:

  • Package has a README.md file in the root directory.

The README should include, from top to bottom:

  • The package name
  • Badges for:
    • Continuous integration and test coverage,
    • Docs building (if you have a documentation website),
    • A repostatus.org badge,
    • Python versions supported,
    • Current package version (on PyPI / Conda).

NOTE: If the README has many more badges, you might want to consider using a table for badges: see this example. Such a table should be more wide than high. (Note that the a badge for pyOpenSci peer-review will be provided upon acceptance.)

  • Short description of package goals.
  • Package installation instructions
  • Any additional setup required to use the package (authentication tokens, etc.)
  • Descriptive links to all vignettes. If the package is small, there may only be a need for one vignette which could be placed in the README.md file.
    • Brief demonstration of package usage (as it makes sense - links to vignettes could also suffice here if package description is clear)
  • Link to your documentation website.
  • If applicable, how the package compares to other similar packages and/or how it relates to other packages in the scientific ecosystem.
  • Citation information

Usability

Reviewers are encouraged to submit suggestions (or pull requests) that will improve the usability of the package as a whole.
Package structure should follow general community best-practices. In general please consider whether:

  • Package documentation is clear and easy to find and use.
  • The need for the package is clear
  • All functions have documentation and associated examples for use
  • The package is easy to install

Functionality

  • Installation: Installation succeeds as documented.
  • Functionality: Any functional claims of the software been confirmed.
  • Performance: Any performance claims of the software been confirmed.
  • Automated tests:
    • All tests pass on the reviewer's local machine for the package version submitted by the author. Ideally this should be a tagged version making it easy for reviewers to install.
    • Tests cover essential functions of the package and a reasonable range of inputs and conditions.
  • Continuous Integration: Has continuous integration setup (We suggest using Github actions but any CI platform is acceptable for review)
  • Packaging guidelines: The package conforms to the pyOpenSci packaging guidelines.
    A few notable highlights to look at:
    • Package supports modern versions of Python and not End of life versions.
    • Code format is standard throughout package and follows PEP 8 guidelines (CI tests for linting pass)

For packages also submitting to JOSS

Note: Be sure to check this carefully, as JOSS's submission requirements and scope differ from pyOpenSci's in terms of what types of packages are accepted.

The package contains a paper.md matching JOSS's requirements with:

  • A short summary describing the high-level functionality of the software
  • Authors: A list of authors with their affiliations
  • A statement of need clearly stating problems the software is designed to solve and its target audience.
  • References: With DOIs for all those that have one (e.g. papers, datasets, software).

Final approval (post-review)

  • The author has responded to my review and made changes to my satisfaction. I recommend approving this package.

Estimated hours spent reviewing:


Review Comments

  • In the CONTRIBUTING.md file, it could be useful to mention how to install the
    package in editable mode and document the different options, e.g. [all], [dev],
    etc.
  • I would find it easier if the contributing guidelines would be on the HTML website
    (thought that the current guideline mentions the README or CONTRIBUTING file).
  • Some of the examples are linking to the GitHub repository with pre-rendered notebooks.
    I don't like it so much and I usually prefer a solution like sphinx-gallery allowing
    a nicer integration with the documentation and provide examples that can be
    downloaded.
  • At the time of the review, the badge for the CIs indicated "No Status". Maybe it
    should be checked (the CI tests are passing).
  • In the code, there is some code using the if TYPE_CHECKING statement. This could be
    excluded from the coverage report since this is False at runtime.

This was referenced Dec 2, 2024
@rich-iannone
Copy link
Author

@CorinneBassin-SOI @Batalex @glemaitre sorry for the delayed response here, but thank you all for the detailed reviews! As you can see just above, we taken all of the reviewer comments and created separate issues in the Great Tables repo.

We're getting pretty close to finishing up but might need a few more days yet. The current plan is to close all of these issues on the repo and provide a long-form response for each of the comments here (linking back to the issue). Thanks for your patience here!

@rich-iannone
Copy link
Author

Thank you @CorinneBassin-SOI @Batalex @glemaitre for providing reviews. Here is our response, sectioned by reviewer.
I think this covers all of the comments. Please let us know if there's anything missing! We plan to release the next version of Great Tables shortly.

Response for @Batalex

Thanks for providing so many suggestions! We've implemented quite a few of them. Here are a few closed issues:

Response for @CorinneBassin-SOI

I also used conda install conda-forge::great_tables . If you are comfortable adding that as a possible secondary example on instructions, I always find it helpful to know what channel might be the best to install from.

We've included install instructions for installing from conda. Thanks for letting us know about this possibility! (posit-dev/great-tables#528)

Also, in order to run through all the examples using from great_tables.data import islands you have to have pandas installed. The error ModuleNotFoundError: Currently, importing great_tables.data requires pandas. This will change in the future. Most of great_tables can be used without pandas. that comes up is great, but it would be better to have it clear in the documentation at https://posit-dev.github.io/great-tables/get-started/#a-basic-table-using-great-tables that it needs to be installed to use this example data set at this point to lower the barrier of entry for users.

We've updated our Get Started guide and before the first example there's now a note about requiring the Pandas library. (posit-dev/great-tables#529)

Although you have a CONTRIBUTING.MD in the repository, it is not linked in the README or in the docs. Linking this along with where you have the Code of Conduct would make it easier to find.

The contributing guide is now in the README and also in the Get Started guide in the docs site. (posit-dev/great-tables#527)

The basic example assumes you are not working at a command line. Make it clear either that examples should be run in a notebook environment or make the initial example include saving output to HTML in the documentation as proposed

We now have a note about where Great Tables could be used in the README file. (posit-dev/great-tables#409)

  • Governance and Engagement is clear, but I did not find a clear reference to CITATION in the README or DOCS

There is now a Citation section in the README. (posit-dev/great-tables#531)

Response for @glemaitre

Review Comments

In the CONTRIBUTING.md file, it could be useful to mention how to install the
package in editable mode and document the different options, e.g. [all], [dev],
etc.

We've included information on all the different installs in the CONTRIBUTING.md guide. (posit-dev/great-tables#543)

I would find it easier if the contributing guidelines would be on the HTML website
(thought that the current guideline mentions the README or CONTRIBUTING file).

We've created a CONTRIBUTING.md file and placed it in the docs website. Also, it's more
easily findable on the README.md. (posit-dev/great-tables#543)

Some of the examples are linking to the GitHub repository with pre-rendered notebooks.
I don't like it so much and I usually prefer a solution like sphinx-gallery allowing
a nicer integration with the documentation and provide examples that can be
downloaded.

From @machow: I think this feedback makes a lot of sense -- pre-rendered notebooks in github aren't an ideal way to view examples. Our hope with making 1 of our 8 examples link to a notebook in github was to show examples in a variety of outputs. I think we wouldn't want to do much more linking to github notebooks. (posit-dev/great-tables#545)

At the time of the review, the badge for the CIs indicated "No Status". Maybe it
should be checked (the CI tests are passing).

This has been fixed. Thanks for letting us know! (posit-dev/great-tables#546)

In the code, there is some code using the if TYPE_CHECKING statement. This could be
excluded from the coverage report since this is False at runtime.

We now exclude those statements from code coverage reports. (posit-dev/great-tables#547)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: under-review
Development

No branches or pull requests

6 participants