Suggestions for using {ipumsr} package with API

Thanks for putting together the API and the {ipumsr} package!

I tried out the API using {ipumsr} and I had a few questions/suggestions:

  1. Is it possible to see how long each step of generating the extract took, for a completed call? Also, is there any way to generate an estimate of how long an extract will take? For example, I might want to know that an extract only takes a minute, or 15 min, so I can plan to work on something else in the meantime. I understand also that the API is not meant to be interactive, but I wonder if something like a progress bar regarding the status of the extract could be helpful for users, such as https://github.com/r-lib/progress.

  2. I was confused about the text printed with submit_extract() and get_extract_info(“usa:1”) (“Submitted…, Description…, Samples…, Variables…”) which is not all of the information provided by the API when you assign it to an object with “test ← submit_extract()”. Maybe a statement that says something like “To see more information about this extract, save this call to an object.” Or, print less information (and/or only print it once) - I think it can be confusing that there are 4 pieces of information printed here, but there are actually 11 pieces of information when you save it.

  3. I think the wait_for_extract( ) function could be more useful if it printed the status of the extract after it printed ie, “Checking extract status…QUEUED”, so you could see what stage the extract was in.

  4. The package could possibly combine get_recent_extracts_info_list( ) and get_recent_extracts_info_tbl( ) into one function like “see_recent_extracts( )”, with an argument for “type = list” or “type = tbl” so folks could select which they wanted. (It is also a little confusing that the tbl has a lot more information than the list, see above point)

Thanks! I’ll continue to explore the package.

Update to the first idea, I think an optional argument for “email” within submit_extract( ) could solve the issue of being notified when an extract is done. I think the system already automatically sends an email within the interactive data cart, so that might be the most straightforward way to get when an extract is ready for download!