I really love the idea, but it's sent me down the Python packaging rabbit hole because the very first page's recommendation to use `python3 setup.py develop --user` doesn't work without some customization that I have yet to figure out.
First, it seems to (maybe?) work better with a venv running, which I didn't have. Ok, I can create one.
Next, `SetuptoolsDeprecationWarning: setup.py install is deprecated`, although I can live with that for now.
Python packaging is dead simple. You just define your package in requirements.txt, setup.py, setup.cfg, MANIFEST.in, pyproject.toml (although this one has two different ways to declare dependencies), and/or Pipfile. You then use pip, pipenv, virtualenv, venv, virtualenvwrapper, pyenv, pyenv-virtualenv, pyenv-virtualenvwrapper, poetry, and/or conda to install and manage the package.
It's almost surprising how far Python has come with the state pip is in; it's so rare to have any remotely sizeable software's dependencies install properly without some hacking.
Python packaging sucks. It's a big part of my job right now. To get various things to work, I've had to downgrade setuptools and manually install Cython.
To make it work, use a virtualenv, seriously always use a virtualenv. Then inside: pip install --editable ./
This has been the standard way to install packages since forever. Don’t know why author complicates it with lower level setuptools. This is the same message that deprecationwarning is giving btw.
Putting aside git, i love the format and step-by-step teaching! You've done a better job at this than 99% of CS professors i've ever had. Thank you for doing this!
This interface is downright awesome; I'd love something that takes a git repository and displays the commit message along with the diffs like this (might be how this works under the hood)
If there's something usable like this I didn't know about, please say!
EDIT: from comment in the first page the author said it's custom typescript which isn't open-source yet, there's still hope :)
This seems to be a similar idea to James Coglan's excellent book _Building Git_, which reimplemented Git in Ruby: https://shop.jcoglan.com/building-git/
This has been posted before but it’s incredibly well written and easy to follow. I had a blast with it last time it made the front page. Great post to reshare!
[+] [-] macintux|2 years ago|reply
First, it seems to (maybe?) work better with a venv running, which I didn't have. Ok, I can create one.
Next, `SetuptoolsDeprecationWarning: setup.py install is deprecated`, although I can live with that for now.
Next, I'm provided with a long list of ideas for how to enable `.pth` files, but https://setuptools.pypa.io/en/latest/deprecated/easy_install... strongly implies that `export PYTHONUSERBASE=`pwd`` prior to running setup should work. It doesn't.
Python, why does your ecosystem have to be so broken?
[+] [-] PufPufPuf|2 years ago|reply
[+] [-] xcdzvyn|2 years ago|reply
[+] [-] alex_lav|2 years ago|reply
[+] [-] Too|2 years ago|reply
To make it work, use a virtualenv, seriously always use a virtualenv. Then inside: pip install --editable ./
This has been the standard way to install packages since forever. Don’t know why author complicates it with lower level setuptools. This is the same message that deprecationwarning is giving btw.
[+] [-] unknown|2 years ago|reply
[deleted]
[+] [-] ibitto|2 years ago|reply
- https://wyag.thb.lt
- https://benhoyt.com/writings/pygit/
[0]: https://github.com/codecrafters-io/build-your-own-x#build-yo...
[+] [-] forgotpwd16|2 years ago|reply
[+] [-] jamesdutc|2 years ago|reply
“Write a Git Client from Scratch in 25 Minutes”
https://youtu.be/xvzo_nV9PjU
[+] [-] TuringNYC|2 years ago|reply
[+] [-] evgpbfhnr|2 years ago|reply
EDIT: from comment in the first page the author said it's custom typescript which isn't open-source yet, there's still hope :)
[+] [-] microtherion|2 years ago|reply
[+] [-] teleforce|2 years ago|reply
This book teach building Git from scratch with Ruby:
https://shop.jcoglan.com/building-git/
[+] [-] tech234a|2 years ago|reply
https://github.com/jelmer/dulwich
[+] [-] okasaki|2 years ago|reply
[+] [-] anamexis|2 years ago|reply
I find it very readable.
[+] [-] fiddlerwoaroof|2 years ago|reply
It’s nearly complete, I just have to finish a couple annoying edge cases around delta compression.
[+] [-] zserge|2 years ago|reply
[+] [-] aardvarkr|2 years ago|reply
[+] [-] asicsp|2 years ago|reply
https://news.ycombinator.com/item?id=28735425 (194 points | Oct 3, 2021 | 23 comments)
https://news.ycombinator.com/item?id=24517925 (309 points | Sept 18, 2020 | 30 comments)
[+] [-] wild_pointer|2 years ago|reply