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

Feedback from reviewing cookie! #133

Open
lwasser opened this issue Jun 20, 2023 · 3 comments
Open

Feedback from reviewing cookie! #133

lwasser opened this issue Jun 20, 2023 · 3 comments

Comments

@lwasser
Copy link

lwasser commented Jun 20, 2023

  • Date you used Cookiecutter Python Package: 20 June 2023
  • Cookieninja version used, if any:
  • Python version, if any: 3.10
  • Operating System: mac

Description

Describe what you were trying to get done. Tell us what happened, what went wrong, and what you expected to happen.

What I Did

I went through the entire scicookie command line interface and ran into some quirks

  1. At the beginning it asks for slugs for the package name and the code. I think i know what you are saying but am not sure. do you want the name for the package name (the name that ends up on pypi)? Or the directory containing all of the package contents. Or the directory containing the code. It's a bit unclear. and that might throw of people who are newer.
Screen Shot 2023-06-20 at 11 37 35 AM

Here when i selected a license, i thought i would type in an answer but instead i think i was supposed to use the arrow keys. this was not intuitive and i ended up selecting a license that i didn't want by mistake. after a few questions i figured it out. i suggest adding the prompt some text that says "use the up and down keys on your keyboard to highlight the license that you wish to select". Be very clear. Most cookie cutters that i've used don't have this feature. i think it's super nice but you need to tell people how to use it.

Screen Shot 2023-06-20 at 11 38 41 AM

The command line interface is interesting. I suspect if a scientist who has never written a command line utility reads this they will not know what to select. can you ask the users if it's a command line utility vs a python API type tool that might run in jupyter etc first and skip that question if it's not command line? Also could you provide a bit more info about the command line part (thinking about new users)
Screen Shot 2023-06-20 at 11 37 54 AM

Screen Shot 2023-06-20 at 11 37 42 AM

At the end it just failed.

ERROR: The project slug (do-stuff) is not a valid Python module name.Please do not use a - and use _ instead
ERROR: Stopping generation because pre_gen_project hook script didn't exit successfully
Hook script failed (exit status: 1)
 [EE] 

  RAN: /Users/leahawasser/mambaforge/envs/cookie/bin/cookieninja --no-input /Users/leahawasser/mambaforge/envs/cookie/lib/python3.10/site-packages/scicookie 'author_name=leah wasser' [email protected] 'project_name=my python package' 'project_description=it does stuf' project_slug=do-stuff package_slug=do-stuff project_version=0.1x project_url=https://someurl.com project_license=MIT project_layout=flat 'command_line_interface=No command-line interface' documentation_engine=sphinx use_bandit=no use_black=no use_blue=no use_conda=no use_coverage=no use_flake8=no use_ruff=no use_isort=no use_mccabe=no use_pre_commit=no use_pydocstyle=no use_pytest=no use_shellcheck=no use_vulture=no use_containers=None code_of_conduct=contributor-covenant governance_document=numpy-governance roadmap_document=pytorch-ignite-roadmap git_username=lwasser git_https_origin= git_https_upstream= git_main_branch=main

  STDOUT:


  STDERR:

What is hard about this is you go through the entire process and it fails at the end. can you make it check input and provide guidance as you go rather than at the very end??
Screen Shot 2023-06-20 at 11 40 14 AM

Build tools

i'm unclear after this all gets setup can you suggest build tools? maybe it just errored out before i got to that section but i'm curious what tools you offer and how you guide users to selecting a tool.

This overall will be really great once i think a few of the above quirks can be cleaned up (or perhaps it's user error and you just need a bit more guidance to help users make better decisions) :) Great work - happy to review again if it's useful!!

@xmnlab
Copy link
Member

xmnlab commented Jun 26, 2023

Hi @lwasser , thank you so much for taking time to review scicookie!

Agree, we can improve that adding some explanation before each question, maybe with a link to a documentation as well. And reword some questions to make it clear.
I will take a look into that this week to start some prototype :)

@xmnlab
Copy link
Member

xmnlab commented Jun 26, 2023

  • about the command line comment, I think that if the user don't know what is the command line normally the user will just skip the question. Adding more explanation and a link to the documentation, maybe would be enough to address the issue you mentioned.

  • Also, maybe the user would like to have CLI + API, so that is why we have this option like that.

  • The error you showed maybe is because this confusion about package slug (the names used when we use import ) and project slug (the name used for the repository).

  • about the validation, I think that is a good idea, we can have a step for validation for each question.

  • about the build system, we just have poetry for now. last week we had some improvements in the structure to allow more build-system and @Anavelyz @YurelyCamacho and @ayeankit are already working to provide more options.

about your comment on slack about copier, I took a look into that, and looks nice. for now we changed to cookieninja, but we will keep one eyes on that.

a good point about scicookie is that, as it is now a package, we can change the backend (cookiecutter, cookieninja or copier) without changing the user experience.

now we are using inquirer for the text user interface (tui), but we can investigate other options as well.

thank you so much for your review, if you don't mind I will ping you again for another round of review :)

@xmnlab
Copy link
Member

xmnlab commented Aug 21, 2023

@lwasser , when you have time, I would love to hear your feedback about the version 0.6.1

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

No branches or pull requests

2 participants