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

Submission: UCSCXenaTools #315

Closed
10 of 25 tasks
ShixiangWang opened this issue Jun 18, 2019 · 34 comments
Closed
10 of 25 tasks

Submission: UCSCXenaTools #315

ShixiangWang opened this issue Jun 18, 2019 · 34 comments

Comments

@ShixiangWang
Copy link
Member

ShixiangWang commented Jun 18, 2019

Submitting Author: ShixiangWang (@ShixiangWang)
Repository: https://github.com/ShixiangWang/UCSCXenaTools
Version submitted: 1.2.3
Editor: @melvidoni
Reviewer 1: @ChristineStawitz-NOAA
Reviewer 2: @carlganz
Archive: TBD
Version accepted: TBD


  • Paste the full DESCRIPTION file inside a code block below:
Package: UCSCXenaTools
Title: Download and Explore Datasets from UCSC Xena Data Hubs
Version: 1.2.3
Authors@R: c(person("Shixiang", "Wang", email = "w_shixiang@163.com", role = c("aut", "cre"), 
            comment = c(ORCID = "0000-0001-9855-7357")),
            person("Martin", "Morgan", role="aut"))
Maintainer: Shixiang Wang <w_shixiang@163.com>
URL: https://github.com/ShixiangWang/UCSCXenaTools
BugReports: https://github.com/ShixiangWang/UCSCXenaTools/issues
Description: Download and explore datasets from UCSC Xena data hubs, which are
    a collection of UCSC-hosted public databases such as TCGA, ICGC, TARGET, GTEx, CCLE, and others.
    Databases are normalized so they can be combined, linked, filtered, explored and downloaded.
Depends: R (>= 3.0)
Imports: 
    httr,
    readr,
    methods,
    utils,
    dplyr,
    magrittr,
    jsonlite,
    shinydashboard,
    shiny,
    DT
License: GPL-3
Encoding: UTF-8
LazyData: true
Suggests: 
    knitr,
    rmarkdown,
    prettydoc,
    testthat (>= 2.1.0),
    covr
VignetteBuilder: knitr
RoxygenNote: 6.1.1
Roxygen: list(markdown = TRUE)

Scope

  • Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):

    • data retrieval
    • data extraction
    • database access
    • data munging
    • data deposition
    • reproducibility
    • geospatial data
    • text analysis
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences):

The package falls under the data retrieval category because it pulls data from UCSC Xena Hubs.

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

    • Target Audience: cancer and clinical researchers, bioinformaticians
    • Applications: genomic and clinical analyses
  • Are there other R packages that accomplish the same thing? If so, how does yours differ or meet our criteria for best-in-category?

None that I am aware of. There is a Python package called xenaPython which is the official API for Xena Hubs. However, UCSCXenaTools is more powerful and provides more features including download whole dataset and query a small amount of data.

  • 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.

#314

Technical checks

Confirm each of the following by checking the box. This package:

Publication options

  • Do you intend for this package to go on CRAN?
    This package is already available at CRAN
  • Do you wish to automatically submit to the Journal of Open Source Software? If so:
JOSS Options
  • The package has an obvious research application according to JOSS's definition.
    • 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:
    • (Do not submit your package separately to JOSS)
MEE Options
  • The package is novel and will be of interest to the broad readership of the journal.
  • The manuscript describing the package is no longer than 3000 words.
  • You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see MEE's Policy on Publishing Code)
  • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no guarantee that your manuscript will be within MEE scope.)
  • (Although not required, we strongly recommend having a full manuscript prepared when you submit here.)
  • (Please do not submit your package separately to Methods in Ecology and Evolution)

Code of conduct

@melvidoni
Copy link
Contributor

melvidoni commented Jun 20, 2019

Editor checks:

  • Fit: The package meets criteria for fit and overlap
  • Automated tests: Package has a testing suite and is tested via Travis-CI or another CI service.
  • License: The package has a CRAN or OSI accepted license
  • Repository: The repository link resolves correctly
  • 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)?

Editor comments

Thank you for submitting your package! Please add a LICENCE file to the repo, and fix the following suggestions of goodpractices::gp() package:

── GP UCSCXenaTools ──────────────────────────────────────────────────────────────────────────

It is good practice to

  ✖ not import packages as a whole, as this can cause name clashes
    between the imported packages. Instead, import only the specific functions you
    need.
────────────────────────────────────────────────────────────────────────────────────────────── 

Reviewers: @ChristineStawitz-NOAA and @carlganz
Due date: July 22nd, 2019.

@ShixiangWang
Copy link
Member Author

Dear editor @melvidoni,

All the comments you mentioned above have been fixed. A GPL-3 license file has been added by usethis::use_gpl3_license command. All import sentences in NAMESPACE file have been modified to importFrom, and corresponding code have also been modified.

Thanks for your comments. Please let me know if there are other issues.

Best,
Shixiang

@melvidoni
Copy link
Contributor

Thanks @ShixiangWang! I'm looking for reviewers, which may take a little. I will comment again when I assign them, and let you know about the due date.

@melvidoni
Copy link
Contributor

Reviewers @ChristineStawitz-NOAA and @carlganz have been assigned to the package. They'll have until July 22nd to get the reviews in.

@ShixiangWang
Copy link
Member Author

Thanks, @melvidoni. Welcome the reviewers👏 👏 👏

@ChristineStawitz-NOAA
Copy link

ChristineStawitz-NOAA commented Jul 22, 2019

Apologies for getting this in at the last possible moment!

Package Review

  • 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

    This might be obvious to those who use the USCS data hubs, but the target audience was not clear to me in the README; please add in this information as described above in the README.

  • Installation instructions: for the development version of package and any non-standard dependencies in README

    Worked fine on my PC

  • Vignette(s) demonstrating major functionality that runs successfully locally

  1. I was able to find the Vignettes on the author's website. However, they are not installed locally either when using devtools::install_github() or installing from CRAN. Even if there is a website version that is more up-to-date, it seems like a local version would be useful, particularly for CRAN users who might not find the Github link.
  2. I tried some of the intro vignette with the CRAN version and some with the Github one - with the CRAN version, XenaScan() is not found. There should be some guidance on minimum versions to run the vignette when describing installation.
  3. Intro vignette - For the examples using local files with XenaPrepare() it would be better to put some sample .gz files in the data/ directory and use rather than referencing E:/Github or ./downloads/ which all users won't have. I'm not sure if this is recommended by rOpenSci but in the past I've used system.file("data", package = "UCSCXenaTools") to access this directory.
  4. API vignette - typo in one of the headers: "Find out the number of idnetifiers in a dataset"
  • Function Documentation: for all exported functions in R help

  • Examples for all exported functions in R Help that run successfully locally

  • Community guidelines including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).

    There is no guidance on how to contribute

For packages co-submitting to JOSS

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).

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: Unit tests cover essential functions of the package
    and a reasonable range of inputs and conditions. All tests pass on the local machine.

I get a warning when running devtools::check() - "qpdf is needed for size reduction on PDFs"

  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines
  1. Argument naming is not consistent - for example, the fetch_ API functions are in snake_case but a number of other functions are camel-cased with the first letter capitalized (i.e. XenaScan) or regular camel-cased (getTCGAdata). It would be helpful to adopt a similar casing style even if snake_case doesn't work because of consistency with other tools for these data sets.
  2. The Workflow.R and simplify.R files are a bit overloaded - style guidelines suggest not putting all of the key functions in a single file, and it wasn't clear to me where to search for some of the different functions.
  3. Throughout the R code, :: is used to reference functions within the UCSCXenaTools package itself as well as dplyr, which is imported. It could clean things up to remove these for packages that are explicitly imported.
  4. I think shiny and shinydashboard could be moved to suggests instead of imports in the DESCRIPTION

Review Comments

I'm not in the omics field, but this seems like a useful package for interacting with the UCSC Xena platform. I found the package reliable and stable, but it was a bit hard to follow where the vignettes were located after local install and there were a few vignette issues (see above). There are a couple of code simplifications and consistency improvements that could be made as well, which are detailed above.

@melvidoni
Copy link
Contributor

Thank you @ChristineStawitz-NOAA! We are waiting for @carlganz's now, then.

@carlganz
Copy link

carlganz commented Jul 23, 2019 via email

@ShixiangWang
Copy link
Member Author

@ChristineStawitz-NOAA Thanks for your all comments. Basically, I fixed all the problems you raised. And I also have some reasons for the non-modified parts.

All replies for problematic points have been put as the following. Please forgive me my English if you find something hard to understand, just ask me again. :)

  • A statement of need clearly stating problems the software is designed to solve and its target audience in README

    Thanks, this information has been added to README

  • Vignette(s)

    1. I have created a local version describing the basic usage of UCSCXenaTools, you can install it from the latest version at GitHub by remotes::install_github("ShixiangWang/UCSCXenaTools", build_vignettes = TRUE)
    2. The minimum version has been described at installation section
    3. I have updated the intro vignette and use /tmp directory to describe the message. I don't use local data because it will increase package size dramatically.
    4. The typo has been fixed, thanks :).
  • Submitting to JOSS

    I don't know what should I do next to submit the package to JOSS. After reviewing, is this package accepted by JOSS automatically? Or should I write the summary, authors, etc.. now and submit it along with the package to JOSS?

  • Test

I get a warning when running devtools::check() - "qpdf is needed for size reduction on PDFs"

  • qpdf is required for R package check but not this package, after you install qpdf according to your system, the warning will be gone.

  • Packaging

    1. Argument naming is indeed not consistent. The naming strategy has a different purpose for now. Functions start with Xena are core functions which can be combined by pipe operator %>% to operate datasets; functions like getTCGAdata, avail* etc. are side effects that I don't want the users to use them but they are useful for some users; functions using snake case basically are API functions for interacting with UCSC Xena database to query/download a part of a dataset. I agree with your consistent idea, but for now, I can't adjust them before I prepare to make an incompatible version.
    2. Thanks and I have split the workflow.R into individual files. The functions insimplify.R all work for one purpose: select and download TCGA datasets, it will be harder to maintain if I split it up.
    3. The mentioned code I don't like to change because they make me clearly know where the data or functions come from and write less redundant document comments like @importFrom.
    4. I have moved shiny, shinydashborad and DT packages to suggests and cleaned the corresponding code. This reduces the core dependencies, thanks.

@carlganz
Copy link

carlganz commented Jul 24, 2019

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 package and any non-standard dependencies in README
  • Vignette(s) demonstrating major functionality that runs successfully locally
  • Function Documentation: for all exported functions in R help
  • Examples for all exported functions in R Help that run successfully locally
  • Community guidelines including contribution guidelines in the README or CONTRIBUTING, and DESCRIPTION with URL, BugReports and Maintainer (which may be autogenerated via Authors@R).
For packages co-submitting to JOSS

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).

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: Unit tests cover essential functions of the package
    and a reasonable range of inputs and conditions. All tests pass on the local machine.
  • Packaging guidelines: The package conforms to the rOpenSci packaging guidelines

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: 4

  • Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Review Comments

I have very little knowledge of genomics, but I can see clearly that the UCSC Xena platform is valuable to the genomics community, and after thoroughly reviewing the code within your package I can see that working with the Xena platform is highly non-trivial, and that this package encapsulates a great deal of work that succesfully makes the Xena platform much more accessible to R users. Congrats on the wonderful package!

Statement of Need and JOSS summary

You explain what the Xena platform is, but it would be nice to have a sentence or two explaining why interfacing with the Xena platform is non-trivial, and how this interface significantly improves R user access.

Installation

  • When I used remotes::install_github("ShixiangWang/UCSCXenaTools", build_vignettes = TRUE) I got error about missing prettydoc dependency, but I found remotes::install_github("ShixiangWang/UCSCXenaTools", build_vignettes = TRUE, dependencies = TRUE) worked fine.

Small code suggestions

  • Here and a few other places use the discouraged antipattern 1:length(some_vec) or 1:nrow(some_df). seq_len is the safer alternative, but I am pretty sure it won't make a difference in this case.

  • Another antipattern worth avoiding is iteratively building a data.frame with rbind in a loop like here. Section 4 in this blog post by @noamross explains why not to do this, but essentially each iteration copys the entire data.frame in memory.

So I would replace this:

  resDF <- data.frame(stringsAsFactors = FALSE)
  for (i in 1:length(XenaList)) {
    hostNames <- names(XenaList)[i]
    cohortNames <- names(XenaList[[i]])
    res <- data.frame(stringsAsFactors = FALSE)

    for (j in 1:length(cohortNames)) {
      oneCohort <- XenaList[[i]][j]
      # The unassigned cohorts have NULL data, remove it
      if (names(oneCohort) != "(unassigned)") {
        resCohort <- data.frame(
          XenaCohorts = names(oneCohort),
          XenaDatasets = as.character(oneCohort[[1]]),
          stringsAsFactors = FALSE
        )
        res <- rbind(res, resCohort)
      }
    }
    res$XenaHosts <- hostNames
    resDF <- rbind(resDF, res)
  }

With something like:

  # use lapply to create list of dfs because why introduce purrr dependency
  resDF <- lapply(seq_len(XenaList), function(i) {
    hostNames <- names(XenaList)[i]
    cohortNames <- names(XenaList[[i]])
    res <- data.frame(stringsAsFactors = FALSE)

    for (j in 1:length(cohortNames)) {
      oneCohort <- XenaList[[i]][j]
      # The unassigned cohorts have NULL data, remove it
      if (names(oneCohort) != "(unassigned)") {
        resCohort <- data.frame(
          XenaCohorts = names(oneCohort),
          XenaDatasets = as.character(oneCohort[[1]]),
          stringsAsFactors = FALSE
        )
        res <- rbind(res, resCohort)
      }
    }
    res$XenaHosts <- hostNames
    return(res)
  }) %>%
  # convert list of dfs into single df
  bind_rows
  • Documentation from dplyr says dplyr::rbind_list is deprecated and to use dplyr::bind_rows, which I recommend you do here just in case Hadley removes the function at some point you don't want to be a breaking reverse dependency on CRAN.

Hope that helps!

@ShixiangWang
Copy link
Member Author

@ChristineStawitz-NOAA Sorry for ignoring There is no guidance on how to contribute yesterday, I have added it here.

@carlganz Thanks for your comments :). The modification can be seen from the last two commits. I also reply your comments point to point as the following.

Statement of Need and JOSS summary

It was a template in repository yesterday. I rewrite it today, you can see new version here. I am not good at English and also writing, so any suggestion is welcome :).

Installation

prettydoc package is in suggests field, so it will not be install automatically without option dependencies=TRUE. Thank you for poiniting it out, I have added this message in new README

use seq_len

I like 1:length(x) this format because it is more easy to read. seq_len is indeed a safer version for object with length 0. I have changed corresponding code.

use for

I won’t change such code for now. I do like for more than lapply here because for loop is much easier to read and debug.

For example,

  # use lapply to create list of dfs because why introduce purrr dependency
  resDF <- lapply(seq_len(XenaList), function(i) {
    hostNames <- names(XenaList)[i]
    cohortNames <- names(XenaList[[i]])
    res <- data.frame(stringsAsFactors = FALSE)
    ...

The code won’t work before modifying all XenaList to i and removing [i]. And I have to debug to make sure the code works.

When I developed this package, I have no idea how to use purrr, so this package is not used here.

As Hadley wrote in Advance in R, the for loop in R now is very quick. It will not affect the performance.

use bind_rows

This is modified.

@ShixiangWang
Copy link
Member Author

ShixiangWang commented Jul 24, 2019

I am glad to add two reviewers in DESCRIPTION file if you agree according to

Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file.

Thanks all your comments @ChristineStawitz-NOAA @carlganz

@melvidoni
Copy link
Contributor

Great to see this is moving! Please @ChristineStawitz-NOAA and @carlganz, review the changes. Feel free to go back and forth if you deem it necessary.

@ChristineStawitz-NOAA
Copy link

Statement of Need and JOSS paper
I don't see the bibliography showing up at the end of the paper.md file, though I can see the in-text references.

I initially did not review this as a JOSS submission, should I be also following their review criteria @melvidoni or will it go through a separate review at JOSS after the rOpenSci one?

I have some long-running code going in other RStudio sessions so I will not be able to reinstall the package and check the vignette again until tomorrow - assuming that works I will sign off on the review then as I am satisfied with the changes from what is in this thread and the repo :) Nice work @ShixiangWang ! I am also OK with being credited for the review, thanks.

@carlganz
Copy link

I am happy with the updates. I've updated review to give full approval. Congrats!

@ShixiangWang
Copy link
Member Author

@ChristineStawitz-NOAA the bibliography is shown in paper.bib file according to JOSS instruction.

@ChristineStawitz-NOAA @carlganz I have added your names here and here, please take a look and make sure they are right.

@ChristineStawitz-NOAA
Copy link

ChristineStawitz-NOAA commented Jul 26, 2019 via email

@melvidoni
Copy link
Contributor

melvidoni commented Jul 28, 2019

Approved! Thanks @ShixiangWang for submitting and @ChristineStawitz-NOAA @carlganz for your reviews!

To-dos:

  • Transfer the repo to rOpenSci's "ropensci" GitHub organization under "Settings" in your repo. I have invited you to a team that should allow you to do so. You'll be made admin once you do.
  • Add the rOpenSci footer to the bottom of your README
[![ropensci_footer](https://ropensci.org/public_images/ropensci_footer.png)](https://ropensci.org)
  • Fix any links in badges for CI and coverage to point to the ropensci URL. We no longer transfer Appveyor projects to ropensci Appveyor account so after transfer of your repo to rOpenSci's "ropensci" GitHub organization the badge should be [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/ropensci/pkgname?branch=master&svg=true)](https://ci.appveyor.com/project/individualaccount/pkgname).
  • We're starting to roll out software metadata files to all ropensci packages via the Codemeta initiative, see https://github.com/ropensci/codemetar/#codemetar for how to include it in your package, after installing the package - should be easy as running codemetar::write_codemeta() in the root of your package.
  • Activate Zenodo watching the repo
  • Tag and create a release so as to create a Zenodo version and DOI
  • Submit to JOSS using the Zenodo DOI. We will tag it for expedited review.

Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them "rev"-type contributors in the Authors@R field (with their consent). More info on this here.

Welcome aboard! We'd love to host a blog post about your package - either a short introduction to it with one example or a longer post with some narrative about its development or something you learned, and an example of its use. If you are interested, review the instructions, and tag @stefaniebutland in your reply. She will get in touch about timing and can answer any questions.

We've started putting together a gitbook with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding. Please tell us what could be improved, the corresponding repo is here.

@ShixiangWang
Copy link
Member Author

@melvidoni I got a message when I transferred the repository

You don’t have the permission to create repositories on ropensci

@melvidoni
Copy link
Contributor

@ShixiangWang I sent you an invitation to be part of rOpenSci organisation in GItHub. If you accept it, you should be able to transfer the repo. (Transfer, do not create!).

@ShixiangWang
Copy link
Member Author

@melvidoni Thanks, it works.
There is a problem when I do this step Activate Zenodo watching the repo, I can't find my package in the Github list

image

It seems I should have rights to access the repositories of ropensci.

image

I don't know where the problem comes from, the Zenodo (I just opened an issue) or the setting from ropensci? Please help me .

I also found I am in a team auk, please remove me from it.

image

@melvidoni
Copy link
Contributor

I removed you from that team @ShixiangWang, and added you to the package team. Can you accept that? (it shows as pending). Also, can you try adding Zenodo now?

@ShixiangWang
Copy link
Member Author

Strange, I was already in the package team yesterday, so why is it showing pending?. I will try Zenodo as soon as possible.

@ShixiangWang
Copy link
Member Author

@melvidoni Thanks, I can find the package in Zenodo now. :)

image

@melvidoni
Copy link
Contributor

Awesome! Then, if you can tackle everything and then let me know, that would be great.

@ShixiangWang
Copy link
Member Author

@melvidoni I have done everything in your todo list.

I have submitted URL https://doi.org/10.5281/zenodo.3358530 to JOSS.

If the DOI not found, please see https://zenodo.org/record/3358530

@stefaniebutland I would like to write a short introduction to this package.

Thanks all.
Shixiang

@stefaniebutland
Copy link
Member

Good to hear that @ShixiangWang

@melvidoni is there an element of the package, it's development, or applications that you think could be highlighted?

For a short introduction, a Tech Note is most appropriate. Examples. It's important not to repeat information that's in the vignette; refer to it where needed. You might illustrate a compelling use case for the package.

Editorial and technical information about preparing your submission, including a template: https://github.com/ropensci/roweb2#contributing-a-blog-post. In the template YAML, for a Tech Note, set categories: technotes

Please suggest a deadline for submitting your draft. Don't hesitate to ask me questions. I'll be away Mon Aug 5.

Thank you for doing this extra work. I hope the post will get more eyes on your work.

@ShixiangWang
Copy link
Member Author

@stefaniebutland Thanks, can I submit the draft within a month?

@melvidoni It seems that I should submit repository URL instead of Zenodo DOI to JOSS, please see openjournals/joss-reviews#1622 (comment)

@melvidoni
Copy link
Contributor

@ShixiangWang That is weird! If they need URL repo, then that's it. Send the repo. I will advise editors to fix this on the approval comment template as well!

@ShixiangWang
Copy link
Member Author

@melvidoni Yes 😭. Is there anything more I should do?

@melvidoni
Copy link
Contributor

Not for now! Just send them the URL repo then.

@ShixiangWang
Copy link
Member Author

@melvidoni The package has published on JOSS https://joss.theoj.org/papers/10.21105/joss.01627. Thanks for your work, the process is really fast.

@melvidoni
Copy link
Contributor

@ShixiangWang That is great! If you don't mind, I'm tweeting your package, and closing the thread. Congrats and thank you for all the hard work!

@stefaniebutland
Copy link
Member

can I submit the draft within a month?

Yes, sounds good. I'll mark my calendar to check with you on Aug 27. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants