christopher-wild / FAIR4RS-Packaging

https://christopher-wild.github.io/FAIR4RS-Packaging/
Other
1 stars 0 forks source link

Feedback: Section 2. History! #17

Open christopher-wild opened 1 week ago

christopher-wild commented 1 week ago

Render first solution better

f-allian commented 1 week ago

@christopher-wild Hint syntax

:::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::: challenge

Challenge 1

:::::::::::::::::::::::: hint

Hint

Hint here

:::::::::::::::::::::::::::::::::

:::::::::::::::::::::::: solution

Solution

Solution here

::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::::::::::::::::::::

christopher-wild commented 1 week ago

Fibonacci throughout the episodes.

christopher-wild commented 1 week ago

Render markdown link better

christopher-wild commented 1 week ago

missing keypoints

christopher-wild commented 1 week ago

Make it clearer which is the best and latest standard

christopher-wild commented 1 week ago

Compress this episode, its a good to know not need to know

christopher-wild commented 1 week ago

Add challenge: Research solutions and note which package standards are recommended

Joe-Heffer-Shef commented 1 week ago

add link to https://docs.python.org/3/library/venv.html

ns-rse commented 1 week ago

Sorry to miss the review the other day I had school pickup that was bang in the middle.

Reading through this section I'm curious what the motivation is for mentioning older and dated package configuration options such as requirements.txt / setup.py / setup.cfg is?

PEP621 proposed pyproject.toml as the standard and has been accepted and both the Python Packaging User Guides and the Scientific Python Packaging Tutorial both only mention/describe/show how to use pyproject.toml.

It seems a bit redundant to be referencing these when they are dated and we should be teaching people current practices. I guess it would be ok to mention them briefly afterwards that there are older ways that were used should they encounter other packages that haven't updated but the focus should be on teaching them one, current, way of doing things.

ns-rse commented 1 week ago

On a more technical aspect it might be worth incorporating into the pyproject.toml description the use of setuptools_scm which makes versioning of releases as simple as applying a tag to a commit.

To do so you need to have the following in pyproject.toml

[build-system]
requires = [
  "setuptools>=45",
  "setuptools_scm[toml]>=6.2",
  ]
build-backend = "setuptools.build_meta"
...
[tool.setuptools_scm]
write_to = "_version.py"
christopher-wild commented 1 week ago

Sorry to miss the review the other day I had school pickup that was bang in the middle.

Reading through this section I'm curious what the motivation is for mentioning older and dated package configuration options such as requirements.txt / setup.py / setup.cfg is?

PEP621 proposed pyproject.toml as the standard and has been accepted and both the Python Packaging User Guides and the Scientific Python Packaging Tutorial both only mention/describe/show how to use pyproject.toml.

It seems a bit redundant to be referencing these when they are dated and we should be teaching people current practices. I guess it would be ok to mention them briefly afterwards that there are older ways that were used should they encounter other packages that haven't updated but the focus should be on teaching them one, current, way of doing things.

No worries for missing it, thank you for taking the time to go through it! We're playing to have a more formal go through them like your session in the next few weeks.

The motiviation for at least setup.py is that when beginners are looking up 'how to do x in python packaging' a lot of the information out there still pertains to setup.py files. I think it's nice to at least understand what that file was and why we moved away from it so when they read older threads and guides they aren't confused.

One of the take aways from our session though is to cut back on how long this is! They probably don't need to know as much as is in here. I'll probably remove setup.cfg all together as well.

ns-rse commented 1 week ago

Volume is something I also made a mistake on.

I had similar feedback on redundant explanations for my material (i.e. why teach git commit --ammend and git commit --fixup when they are really just short-cuts for git rebase -i) and do appreciate and understand the gentle introduction approach.

After reading through more of the course material I can see the pyproject.toml has been adopted :+1: