Hacker News new | comments | show | ask | jobs | submit login
Show HN: 100 Python books, categorized and ranked (pythonbooks.org)
150 points by gh1 11 months ago | hide | past | web | favorite | 29 comments



I wish I could be flattered that my book "Flask by Example" appears above the seminal "Two Scoops of Django" in the "Web Development" section[0], but instead I'm just left wondering how "Popularity Score" is calculated. We're only given:

"The scores are based on a combination of the popularity of the book and relevance to the topic. The best possible score is 100 and the worst is 0."

[0] http://pythonbooks.org/topical-books/web-development/


Two Scoops of Django is one of my favorite books! As to how popularity score is calculated: I used the Amazon Bestseller Rank of the book to assign a score for popularity. This rank loosely indicates how many copies of the book were bought recently. I found this to be well correlated with quality (I know many of these books by experience, and I found that the ones that I already knew to be good books rose to the top). In addition, when you filter for topics in the beginner section, another score is assigned based on relevance to those topics. This was a bit more work. I went through the contents of the book manually and tagged each book by the topics it covers and the percentage of the book devoted to that topic. After the relevance score is computed, it is combined with the popularity score to get a final score.


What about the free ones like Dive into python, LPTHW and others. People won't buy as much as the non free ones so the ratings may not be as accurate.


Good point. I bump the ranks of the free books slightly to adjust for that. Similarly, for books that have multiple editions, I make some adjustments to avoid penalizing these books for fragmentation.


Is Two Scoops on Amazon? I remember buying it (and some others - seems quite common for self published Dev books?) through leanpub or something like that.


Yup, it is on Amazon now, and so are many other self published books.


I created PythonBooks as a side project.

The website is a guided repository of Python books and currently lists the best 100 books. It classifies these books into fine grained categories and shows the best books in each category. It has filters for Python version, free and non free books etc. For the beginner book section, you can even filter the books by topics that you want to learn.


Nitpicking, but I would suggest reversing the chronological order of Publication Year. Newer release years towards the top.


That's actually a very good point because people are more likely to look for recent books. Will change that in the next update.


Thanks for your hard work


Thanks! I had a lot of fun making the site. I am also committed to keeping it comprehensive and updated. Made a powerful admin interface so that syncing would only take about 3-4 hours per week of my time. There's about 600 Python books out there according to my best estimate, so there's a lot of ground to cover.


Pretty sweet! Anything similar for JavaScript?

This is prolly there best list of Python books I've seen. Great job!


Thank you!


The site states:

"The Bestseller Rank was chosen as the popularity scale. The Bestseller Rank loosely indicates how many copies of the book were bought recently on Amazon. This turns out to be well correlated with quality."

Why should popularity automatically equate to quality? Here are a couple of examples where this is not true. For instance if I search by "algorithm and data structure."

I see "Data Structure and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles "by by Narasimha Karumanchi ranked above "Data Structures and Algorithms in Python" by Michael T. Goodrich. The book by Narasimha Karumanchi is absolutely terrible, it's filled with typos, plagiarisms, poor English and code that simply doesn't work.

So why is it ranked higher? Probably because the Michael T. Goodrich book is an expensive(but quality)text book while the Narasimha Karumanchi book is just plain cheap. Even look at the user reviews on Amazon for Karumanchi book, its an abomination.

Also there are a number Packt Publishing titles on here. Looking at these rankings you might believe that one of their books is 3rd most popular or 4th most popular so they must be of decent quality.

However Packt Publishing are generally not very good quality publications, they are often not spell-checked, have grammatical errors and often do little more than paraphrase existing documentation. They just crank out titles with little regard for quality - 'make 'em cheap and lots of them.'

If I search by "Intermediate" books. I see a Packt Publishing title ranked above the "Powerful Python: The Most Impactful Patterns, Features, and Development Strategies Modern Python Provides"by Aaron Maxwell which is an excellent book.

Why is it not as popular? Possibly because the author also sold the book DRM-free on their own website?


Some very good points indeed. Let me address them one by one.

> Why should popularity automatically equate to quality?

Popularity is the by far the best indicator of quality that I could find. HN, for example, also operates on this principle. The posts with the highest votes get to the top. However, this does not mean that the posts that do not get as many votes are not as high quality. dang has mentioned this several times and went on so far as to say that high quality posts getting overlooked is one of the biggest problems of HN. One of the ways HN solves this problem is by using moderator discretion to put some overlooked posts in the front page, overriding the algorithm (I believe this post was one of them, it had just 5 points when it was put on the front page). In the same way, I use some editorial discretion to penalize books that have typos and poor English, if I could detect this by going through the Amazon preview. Some books were not even included in the list for this reason, most of them being independently published books. However, the book by Narasimha Karumanchi escaped my attention. Thanks for mentioning that it has typos etc. I will review it again.

However, just as HN tries to provide value by best effort quality ranking, PythonBooks also makes a best effort attempt at judging quality. It is not perfect, but it's the best I could do. If you have a better idea, let me know. I am all for improving the site.

> However Packt Publishing are generally not very good quality publications

Don't agree with this. Many Packt books are high quality. I have read several, including the one by Dusty Phillips, which is above Powerful Python. I do not share the same prejudice about this publication.

> Possibly because the author also sold the book DRM-free on their own website?

Possibly also because the book is relatively new and will only get more popular with time. The scores are dynamic and changes every week when I sync my database.

Like Powerful Python, most other books are also available outside Amazon, so it's mostly a level playing field. The exception is genuinely free books like Automate the Boring Stuff. These books get a blanket score bump to adjust for this.

Hope I could answer some of your questions and thanks for taking your time to provide feedback.


>"Don't agree with this. Many Packt books are high quality. I have read several, including the one by Dusty Phillips, which is above Powerful Python. I do not share the same prejudice about this publication."

This observation about the poor quality of their books and their shady practices has been noted by many others as well. I am not saying all of them are bad but certainly the majority of them are. See these discussions:

https://www.quora.com/Why-are-the-books-from-Packt-Publishin...

https://forum.unity3d.com/threads/so-i-got-contacted-by-pack...

I have not read the particular Python book you are referring to but I have viewed many many other Packt Publishing titles and they are almost always poor and unacceptable quality. The reasons are what I stated earlier about poor English, typos, not spell-checked, bad grammar and often simply little more than paraphrasing official documentation.

I consider publishers like Pragmatic, Oreilly or Manning to be examples of reputable publishers. Packt comes nowhere near this level of quality or professionalism.

>"However, just as HN tries to provide value by best effort quality ranking, PythonBooks also makes a best effort attempt at judging quality. It is not perfect, but it's the best I could do."

I really don't think there's any substitute for judging a technical book solely by the content presented in it.


If you take a look at the website more closely, you will find that Packt books are rarely on the top. Your comment is actually well reflected in the ranking.

You had a problem with the Dusty Phillips book ranking on top of Powerful Python. And I can personally guarantee that this book is out of the world good and deserves that spot, if not higher (though the book above by Luciano Ramalho is also very high quality). Here is my review of the Dusty Phillips book, in case you are interested [0].

On your last point, it is certainly best to judge a technical book solely by the content. The problem is : you don't have access to the content until you buy the book. You can of course take a look at the TOC, but doing that for all books in a given field would take a lot of time. It is always nice to have some other indicator that correlates well with quality e.g. average reviews or popularity so that you can reduce the problem space. This is what PythonBooks aims to provide.

[0] http://pythonbooks.org/python-3-object-oriented-programming-...


>"If you take a look at the website more closely, you will find that Packt books are rarely on the top. Your comment is actually well reflected in the ranking."

Rarely on top but still a high ranking relatively speaking(2-4 etc.)

>"You had a problem with the Dusty Phillips book ranking on top of Powerful Python."

I didn't have any problem with this book and even mentioned I hadn't read it. I simply used it as an example of a book that had another perhaps more popular retail outlet than Amazon, that's all.


> Rarely on top but still a high ranking relatively speaking(2-4 etc.)

If you look at the beginner book section, the kid's section and the application walkthrough section, there are almost no Packt books there. In the reference book section, the Packt book ranks last among 6 listed books.

In the individual topical sections, there are on an average 5 books listed per topic, so 3-4 is a pretty low rank.

The only two exceptions are the ML book by Sebastian Raschka and the high performance book by Gabriele Lanaro which are ranked in the 2nd position. Both of these are outstanding books in their own domain and deserve their spot.

I see your point about Powerful Python having another retail outlet, but I think the same is true for all the other books because they too have other retail outlets.


The excellent "Two Scoops of Django" is now on version 1.11.

https://www.twoscoopspress.com/products/two-scoops-of-django...


Thanks for pointing that out. That book came out very recently (a week ago?) and my database is a few weeks old.


Very few of:

http://pythonbooks.org/for-experienced-programmers-new-to-py...

Are for experienced programmers new to Python, which is a shame.


The books in that section are topical books or reference books that contain a condensed introduction to Python in the beginning.


It structures the world of relevant python books quite well. Thanks, I appreciate it!


Glad that you find it helpful.


Would be cool to see what python version is used in the book


You can see that. On the pages that list books, there is a Python version filter. In desktops and tablets, it appears on the sidebar to the left. On mobile devices, the filter is collapsed and appears on the top right. On the book pages, the Python version information is available on the sidebar. On mobile devices, click on the Vital Stats link on the top to see this information.


Oh nice, thanks. Did not see that on mobile at first.


Hands-On Machine Learning with Scikit-Learn and TensorFlow by Aurelien Geron is also pretty great. Would like to see that in the list.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: