Title: tryout on existing package GEMDAT · Issue #682 · NLeSC/python-template · GitHub
Open Graph Title: tryout on existing package GEMDAT · Issue #682 · NLeSC/python-template
X Title: tryout on existing package GEMDAT · Issue #682 · NLeSC/python-template
Description: I wanted to try to see what happens when I apply the template on the GEMDAT package. Here I want to highlight some issues I ran across. I will just copy here the process I went through in my terminal and interject it with comments. git c...
Open Graph Description: I wanted to try to see what happens when I apply the template on the GEMDAT package. Here I want to highlight some issues I ran across. I will just copy here the process I went through in my termin...
X Description: I wanted to try to see what happens when I apply the template on the GEMDAT package. Here I want to highlight some issues I ran across. I will just copy here the process I went through in my termin...
Opengraph URL: https://github.com/NLeSC/python-template/issues/682
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"tryout on existing package GEMDAT","articleBody":"I wanted to try to see what happens when I apply the template on the [GEMDAT package](https://github.com/GEMDAT-repos/GEMDAT). Here I want to highlight some issues I ran across. I will just copy here the process I went through in my terminal and interject it with comments.\r\n\r\n```bash\r\ngit clone git@github.com:GEMDAT-repos/GEMDAT.git\r\ncopier copy https://github.com/nlesc/python-template.git GEMDAT\r\n```\r\n\r\n## Questions\r\n\r\n### Q1: profile\r\nI chose the Minimum profile.\r\n\r\nNote that here I have my first issue, because I tried to copy-paste the terminal output, but somehow Copier makes it so that I cannot. I think it activates some kind of fancy mouse capturing, which prevents me from selecting text with my mouse, as I usually do. I guess I could find workarounds for this, but anyway, just noting that it's annoying to me.\r\n\r\n### Q2: project name\r\nI had to choose `gemdat` as project name.\r\n\r\nThis already gives us the second issue, because the project's name is actually `GEMDAT`! We set our validation too strictly here, this should be loosened.\r\n\r\n### Q3-5, 7, 8, 10: version, full name, license, description, keywords, email\r\nQ3 (version) auto-suggests 0.1.0, which is the default. This is not good default behavior for applying the template on existing projects. The version is easily accessible from pyproject.toml, so this should be reused. I looked it up manually and set it to 1.5.0 (the current version).\r\n\r\nThe same goes for Q4 (full name) which is [specified here as a list](https://github.com/GEMDAT-repos/GEMDAT/blob/34a0cc014d5ee7574dc469d8967afce2b1435281/pyproject.toml#L12C1-L12C8) (sounds like a good default to use and to change \"full name\" to \"first author name\" noting that you can easily add more authors to the list later), Q5 (license) which is specified also already, Q7 (description), Q8 (keywords) and even Q10 (email; is also in the authors list).\r\n\r\n### Q6: copyright holder\r\nBy default, this will often be your organization, not the individual. Would be good to suggest that here, instead of the default \"full name\".\r\n\r\n### Q9: github username/org\r\nThis is of course a separate issue that will also come up when we start looking into GitLab support. It cannot be taken blindly from the pyproject.toml, but at the same time it could perhaps be taken from the `git remote` info. Would be good to at least detect that info and suggest it as the default option.\r\n\r\nSet this to GEMDAT-repos.\r\n\r\n## Generation\r\n\r\nThen generation starts. The choices made here (either by me or by Copier):\r\n- Overwrite README.md? No (I chose).\r\n- Conflict in LICENSE. Copier chose to skip.\r\n- Conflict in .gitignore. Copier chose to skip.\r\n- Overwrite MANIFEST.in? No (I chose).\r\n- Overwrite pyproject.toml? No (I chose)!\r\n- Overwrite `src/gemdat/__init__.py`? NEIN!\r\n\r\nOne thing to note here is that I chose no everywhere, whereas the default choice is yes. We should probably make \"no\" the default.\r\n\r\n## Result\r\n\r\n```bash\r\n$git status\r\nOn branch main\r\nYour branch is up to date with 'origin/main'.\r\n\r\nUntracked files:\r\n (use \"git add \u003cfile\u003e...\" to include in what will be committed)\r\n\t.copier-answers.yml\r\n\tNOTICE\r\n\tproject_setup.md\r\n\tsrc/gemdat/my_module.py\r\n```\r\n\r\nWe see that a NOTICE file was added, which I think is a requirement for Apache v2, so that's good. The .copier-answers.yml file makes sense as well. The other two files, however, I'm not so sure are helpful in case of an existing project.\r\n\r\n## Conclusion\r\n\r\nGEMDAT seems to already adhere to the Minimum profile mostly, although it's hard to say what exactly was ignored or skipped during generation and how crucial that stuff was. The additions are a mixed bag: the extra license compliance is good, but the \"getting started\" files should be skipped in this scenario. Also there were a lot of questions that did not need to be asked, because they could be answered automatically from the pyproject.toml. All considered, there is a lot of streamlining to do to make \"scenario 2\" in the README (applying to an existing project) worthwhile. This is just considering the Minimum profile, we could also look at the other options.","author":{"url":"https://github.com/egpbos","@type":"Person","name":"egpbos"},"datePublished":"2024-11-19T11:21:28.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/682/python-template/issues/682"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:75f039e1-b51f-c9cb-53cc-6f43148955da |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | DE08:21741:27820F6:33F3AEA:69819E5D |
| html-safe-nonce | 07223916f284600e8d3581e99b8f3a408b2acbabd85868b92447a4b0585bd6f0 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJERTA4OjIxNzQxOjI3ODIwRjY6MzNGM0FFQTo2OTgxOUU1RCIsInZpc2l0b3JfaWQiOiIzNTg5Nzc4NDE3MDMxMTU5Mzg5IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 373d9b2a840a92def1c5fc5eacbac87ee07a5655a973caba7be3af705de0eb77 |
| hovercard-subject-tag | issue:2671813436 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/NLeSC/python-template/682/issue_layout |
| twitter:image | https://opengraph.githubassets.com/8c21900fe63737b827e22197c6fd7d35349f7a4ea869c4549e9aca707891e497/NLeSC/python-template/issues/682 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/8c21900fe63737b827e22197c6fd7d35349f7a4ea869c4549e9aca707891e497/NLeSC/python-template/issues/682 |
| og:image:alt | I wanted to try to see what happens when I apply the template on the GEMDAT package. Here I want to highlight some issues I ran across. I will just copy here the process I went through in my termin... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | egpbos |
| hostname | github.com |
| expected-hostname | github.com |
| None | e137814e266030874fd2c86863529d0622b13889eeda04148c57654b6ea84ad6 |
| turbo-cache-control | no-preview |
| go-import | github.com/NLeSC/python-template git https://github.com/NLeSC/python-template.git |
| octolytics-dimension-user_id | 1705862 |
| octolytics-dimension-user_login | NLeSC |
| octolytics-dimension-repository_id | 68704490 |
| octolytics-dimension-repository_nwo | NLeSC/python-template |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 68704490 |
| octolytics-dimension-repository_network_root_nwo | NLeSC/python-template |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | dd58d68a7813bbec9c91422c8c35f4af33832d70 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width