(Part 2) Best products from r/Python

We found 49 comments on r/Python discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 281 products and ranked them based on the amount of positive reactions they received. Here are the products ranked 21-40. You can also go back to the previous section.

Top comments mentioning products on r/Python:

u/Covered_in_bees_ · 6 pointsr/Python

I wrote a long response to a similar thread a little while ago which I am quoting below.

Apart from that, I'd definitely recommend using Spyder IDE for scientific computing, especially if you are making the transition from Matlab. I really like it a lot and it integrates very well with IPython, and has great functionality for debugging, with access to variables in the variable explorer.

Matplotlib has a bit of a learning curve, but it is great for plotting and is quite similar to Matlab. I'd recommend staying away from becoming dependent on Pylab as it pollutes the namespace by importing a whole bunch of crap by default.

Once you get familiar with Python + Numpy + Scipy and Matplotlib, I'd highly recommend familiarizing yourself with Pandas for 2D data wrangling and Numpy Structured Arrays for structured, multidimensional records. They are far better than the options I found in Matlab when handling and manipulating large datasets.


> I was in your shoes around a year ago and I jumped headfirst into Python and have not looked back. After years of frustration with Matlab, I reached the breaking point when I made a GUI based tool in Matlab and was extremely underwhelmed with how clunky the whole experience was.
>
> Here are some links that should be really helpful:
>
> https://github.com/jrjohansson/scientific-python-lectures
>
> https://scipy-lectures.github.io/
>
> I would not recommend diving head first into Pandas or Wes McKinney's book just yet unless you really need Dataframes (which is unlikely if you are coming from Matlab).
>
> Python + Numpy + SciPy should pretty much cover most standard Matlab use unless you were using some specialized toolkits in Matlab extensively.
>
> You will need to familiarize yourself with matplotlib, but for that, JR Johansson's tutorial (1st link) is an excellent quick guide. Matplotlib is not too difficult to pick up if you are familiar with Matlab, and the quality of the plots are far superior to what Matlab produces.
>
> I also found this book pretty invaluable when I was a Python + Numpy noob: http://www.amazon.com/Scientific-Programming-Computational-Science-Engineering/dp/3642302920
>
> In addition to all this, you will perhaps gain the most benefit by learning Python, and how to think and code in a Pythonic manner and to divorce yourself from some of the poor programming styles Matlab cultivates in users.
>
> For that, a combination of books on the sidebar in this subreddit as well as copious amounts of Googling and perusing StackOverflow will gain you a lot of knowledge.
>
> What worked for me was to start by porting some code/scripts from Matlab into Python. Then, as I gained familiarity and confidence, I began tackling newer projects for work/fun in Python + the Numpy stack right off the bat. You don't need to learn very much to get to the point that you can do most basic Matlab stuff in Python.
>
> In time, I messed around with Cython and wrote a Fresnel reflection solver that was almost 10X faster than native Python and Matlab implementations. I've also written a Matplotlib wrapper for reducing a bit of the boilerplate cruft when generating plots (Easyplot)
>
> Since then, I've also learned to use and have fallen in love with IPython Notebook. In a scientific environment, it is amazing to be able to self document code in a living document where you can write beautifully rendered equations in Latex and simultaneously run Python code and create plots via Matplotlib, all from within a web browser. I've certainly impressed several people at work with what I have been able to do with Ipython Notebook.
>
> Lastly, I'd highly recommend installing Anaconda for your local Python distribution. It is amazingly hassle free to have a full Python + Numpy stack installation, and the package manager (conda) is excellent and simple to use. I'd also recommend using the Spyder IDE (ships by default with Anaconda) as it will be familiar to those from a Matlab background and it has a variable explorer (a feature I really loved in Matlab, and continue to love in Spyder).
>
> Sorry for this rather long essay. Hope it's helpful and feel free to PM if you have any questions.

http://www.reddit.com/r/Python/comments/2vl1kv/learning_python_after_using_matlab_for_so_long/coiygup

u/hell_onn_wheel · 13 pointsr/Python

Good on you for looking to grow yourself as a professional! The best folks I've worked with are still working on professional development, even 10-20 years in to their profession.

Programming languages can be thought of as tools. Python, say, is a screwdriver. You can learn everything there is about screwdrivers, but this only gets you so far.

To build something you need a good blueprint. For this you can study objected oriented design (OOD) and programming (OOP). Once you have the basics, take a look at design patterns like the Gang of Four. This book is a good resource to learn about much of the above

What parts do you specify for your blueprint? How do they go together? Study up on abstract data types (ADTs) and algorithms that manipulate those data types. This is the definitive book on algorithms, it does take some work to get through it, but it is worth the work. (Side note, this is the book Google expects you to master before interviewing)

How do you run your code? You may want to study general operating system concepts if you want to know how your code interacts with the system on which it is running. Want to go even deeper with code performance? Take a look at computer architecture Another topic that should be covered is computer networking, as many applications these days don't work without a network.

What are some good practices to follow while writing your code? Two books that are widely recommended are Code Complete and Pragmatic Programmer. Though they cover a very wide range (everything from organizational hacks to unit testing to user design) of topics, it wouldn't hurt to check out Code Complete at the least, as it gives great tips on organizing functions and classes, modules and programs.

All these techniques and technologies are just bits and pieces you put together with your programming language. You'll likely need to learn about other tools, other languages, debuggers and linters and optimizers, the list is endless. What helps light the path ahead is finding a mentor, someone that is well steeped in the craft, and is willing to show you how they work. This is best done in person, watching someone design and code. Also spend some time reading the code of others (GitHub is a great place for this) and interacting with them on public mailing lists and IRC channels. I hang out on Hacker News to hear about the latest tools and technologies (many posts to /r/programming come from Hacker News). See if there are any local programming clubs or talks that you can join, it'd be a great forum to find yourself a mentor.

Lots of stuff here, happy to answer questions, but hope it's enough to get you started. Oh, yeah, the books, they're expensive but hopefully you can get your boss to buy them for you. It's in his/her best interest, as well as yours!

u/autisticpig · 1 pointr/Python

If you were serious about wanting some deep as-you-go knowledge of software development but from a Pythonic point of view, you cannot go wrong with following a setup such as this:

  • learning python by mark lutz
  • programming python by mark lutz
  • fluent python by luciano ramalho

    Mark Lutz writes books about how and why Python does what it does. He goes into amazing detail about the nuts and bolts all while teaching you how to leverage all of this. It is not light reading and most of the complaints you will find about his books are valid if what you are after is not an intimate understanding of the language.

    Fluent Python is just a great read and will teach you some wonderful things. It is also a great follow-up once you have finally made it through Lutz's attempt at out-doing Ayn Rand :P

    My recommendation is to find some mini projecting sites that focus on what you are reading about in the books above.

  • coding bat is a great place to work out the basics and play with small problems that increase in difficulty
  • code eval is setup in challenges starting with the classic fizzbuzz.
  • codewars single problems to solve that start basic and increase in difficulty. there is a fun community here and you have to pass a simple series of questions to sign up (knowledge baseline)
  • new coder walkthroughs on building some fun stuff that has a very gentle and friendly learning curve. some real-world projects are tackled.

    Of course this does not answer your question about generic books. But you are in /r/Python and I figured I would offer up a very rough but very rewarding learning approach if Python is something you enjoy working with.

    Here are three more worth adding to your ever-increasing library :)

  • the pragmatic programmer
  • design patterns
  • clean code

u/novel_yet_trivial · 6 pointsr/Python

If there was a "best" then everyone would use it and there would only be one.

There is only "best for" ... which means you need to tell us what you want from a GUI library before we can tell you what's best for you.

in a nutshell:

  • Tkinter: best for super fast development and if you don't want to require your windows users to install extra libraries
  • pyGTK / PyGObject: best for native looking programs in GTK based Linux distros. Uses Glade.
  • PyQT/ PySide: best for highly custom very pretty interfaces and automatic event linking. Looks native on any OS. You can use QTDesigner to create GUIs.
  • wxPython: Alternative to tkinter for fast and easy interfaces. Has a GTK-like Glade. (Now for python3!)
  • Kivy: best for multi-touch and small screens - tablets and phones.
  • Remi: best for programs that can be accessed via a browser locally or remotely
  • Bokah: best for interactive data display in a browser.

    > i don't mind starting with something difficult, as long as it would be worth the time a i won't have to go looking for something else some time after

    From that I'd recommend PyQT / PySide. I really liked Mark Summerfield's [Rapid GUI Programming with Python and Qt](
    https://www.amazon.com/Rapid-GUI-Programming-Python-Definitive/dp/0134393333/). It's pretty outdated at this point, but it still will give you a solid foundation.
u/nihilo · 1 pointr/Python

That was going to be my recommendation too. It's a very good reference work that contains lots of good, idiomatic code.

The python.org docs are surprisingly good at times as well. The data model section of the Python Language Reference is worth a quick read even by experienced Python developers.

For packaging, the Python Packaging Authority is doing some great work. The Python Packaging User Guide is a nice read that fills a large hole in the packaging space. Now with Pip in 3.4 by default and PyPA making rapid progress, it looks like there is an end in sight to the slow-motion train-wreck-in-progress that has been the Python packaging & install landscape for many years now.

The Python Standard Library by Example and Python Module of the Week have been mentioned already, but they are outstanding and should definitely be consulted, although they are unfortunately Python 2 -- I'm not sure if pymotw.com/3/ is the beginning of a new PyMOTW for Python3 or an aborted reboot under Python3.

If you would like to learn about asynchronous programming and the Twisted framework, there is a really great and extensive set of tutorials by Dave Peticolas: Twisted Introduction | krondo./?page_id=1327)

u/drivelous · 2 pointsr/Python

For me, it's Core Python Applications Programming by Wesley Chun. Just check out the table of contents. He gives you insight into seeing the power of Python and allows you to explore what else you want to do.

I think docs are cool and all, but project based learning is what I like best and he goes line by line through working code samples. For example, in chapter 7 or 8 (I forget) he codes a functioning web crawler. I've been sticking print statements everywhere to see what works and why and he explains things really well. I'm skipping the first part of the book and diving directly into the web development portion, but the stuff he has in there about GUI programming with Tkinter, Multithreading, and Network Programming all seem really cool.

u/mitchell271 · 1 pointr/Python

Been using python for 5 years, professionally for 1. I learn new stuff every day that makes my python code more pythonic, more readable, faster, and better designed.

Your first mistake is thinking that you know the "things that every python programmer should know." Everyone has different opinions of what you should know. For example, I work with million+ entry datasets. I need to know about generators, the multiprocessing library, and the fastest way to read a file if it's not stored in a database. A web dev might think that it's more important to know SQLAlchemy, the best way to write UI tests with selenium, and some sysadmin security stuff on the side.

If you're stuck with what to learn, I recommend Effective Python and Fluent Python, as well as some Raymond Hettinger talks. You'll want to go back through old code and make it more pythonic and efficient.

u/carillon · 1 pointr/Python

Working Effectively With Legacy Code is probably the best book currently on how to add tests to an existing system.

Specifically it outlines a number of strategies for getting badly-written code under test so you can begin refactoring with confidence.

If you took an untested (or poorly tested) Django app from GitHub or BitBucket and added some tests that would be a really effective example.

u/O5marD · 19 pointsr/Python

C++ is my favourite language. I have four books for you. 1) Exploring C++11 by Ray Lischner http://www.amazon.com/Exploring-Experts-Voice-Ray-Lischner/dp/1430261935. C++ is extremely complicated and this book will help you get up to speed programming with C++ and also understand it. 2) Programming Principle and Practice: using C++. http://www.stroustrup.com/Programming/. Even though this book is for beginners even seasoned programmers from other languages will gain huge insight for using/programming with C++ from the C++ creator himself. 3) The C++ Programming Language 4th Ed. Everything (99%) you need to know about the language is there. You can use it as a tutorial or reference. 4) Effective Modern C++ by Scott Meyer. As I said above C++ is complicated and quirky and the info in this book will help you understanding some of the language's 'subtleties'. Other links: The home of Standard C++ on the web http://isocpp.org/ . Nice onlice reference http://en.cppreference.com/w/cpp. Bjarne Stroustrup's homepage: http://www.stroustrup.com/. Of course there more books I'd recommend and more links but these I hope will get you started. Get Exploring C++11 first!!

u/obiwan90 · 2 pointsr/Python

Formatted for a little better readability:

> C++ is my favourite language. I have four books for you.

> 1. Exploring C++11 by Ray Lischner. C++ is extremely complicated and this book will help you get up to speed programming with C++ and also understand it.
> 2. Programming – Principles and Practice Using C++ by Bjarne Stroustrup. Even though this book is for beginners even seasoned programmers from other languages will gain huge insight for using/programming with C++ from the C++ creator himself.
> 3. The C++ Programming Language (4th Ed.) by Bjarne Stroustrup. Everything (99%) you need to know about the language is there. You can use it as a tutorial or reference.
> 4. Effective Modern C++ by Scott Meyers. As I said above C++ is complicated and quirky and the info in this book will help you understanding some of the language's 'subtleties'.

> Other links:

> The home of Standard C++ on the web
>
Nice online reference
> * Bjarne Stroustrup's homepage

> Of course there are more books I'd recommend and more links but these I hope will get you started. Get "Exploring C++11" first!

Edit: well, somebody deleted their comment. That makes mine look a little less funny. Removed the offending bits...

u/eatstraw · 6 pointsr/Python

If you are new to programming concepts, I suggest this book to my students:

The Super Simple Programming Book: Learn Basic Programming Concepts With Python

​

For a more thorough look at Python, here's a good free one:

Think Python: How to Think Like a Computer Scientist

​

Whatever you do, focus on Python 3, as Python 2 will lose support in 2020.

u/Hotel_Arrakis · 1 pointr/Python

OP, thanks for this. These are amazing.

​

I've been wanting to do this for birds and fish for a long time. I got some drinking glasses a while back like this: https://www.amazon.com/Charley-Harper-Birds-Glasses-Box/dp/B00DSRDQM6/

and was thinking it would be great to make a generator for the images. Hopefully this will get me off my ass.

​

If you threw in a shading library and tweaked the antennae algorithm they would be professional grade .

u/PhantomHost334 · 0 pointsr/Python

AMAZING!


If you can build and sell for less that the $5500 Samsung charges, i'd say you got a great business opportunity!


https://www.amazon.com/55-Smart-TV-Mirror-Frame/dp/B01J77TZG6

u/raydlor · 3 pointsr/Python

The Python Standard Library by Example by Doug Hellmann is a great way to get you more comfortable using the various modules in the standard library. I believe the book was inspired by a series of blog posts Hellmann previously wrote each week on Python topics called Python Module of the Week. Both the blog and the book itself present the material in the same way - basically, each chapter or blog post covers a specific module in the standard library with examples of how to use its key features.

u/PeteStrawberry · 1 pointr/Python

I'm currently learning from this:
https://www.amazon.co.uk/Programming-Python-Complete-Introduction-Developers/dp/0321680561
Seems to be a great book out of all the Python books I've seen but I'm interested to see how other people are finding their learning experience. Do people find that videos help their learning or is it a bit too passive?

u/cheeseboythrowaway · 4 pointsr/Python

Everyone writes their PoCs in python nowadays.

Here's an example of a really cool C2 toolkit using rpyc:

https://github.com/n1nj4sec/pupy

The rapid7 folks still use ruby for all their stuff (i.e. metasploit) but building your own tools is totally the way to go.

This book is a great intro to building security tools in Python: https://www.amazon.com/Black-Hat-Python-Programming-Pentesters/dp/1593275900/ref=sr_1_1?ie=UTF8&qid=1526665441&sr=8-1&keywords=black+hat+python

u/linked0 · 1 pointr/Python

A really nice and useful site!
And I think you should add Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems for Machine Learning as soon as possible.

u/nerdwaller · 2 pointsr/Python

It's really hard to tell people how to learn, especially since everyone learns differently - so if this doesn't work for you don't get discouraged! A large portion of programming is pushing through these barriers (seriously every few weeks I hit another new thing, feel similar, eventually push through, repeat).

That said, I've given the book Python for Kids to quite a few people (all adults) and they seemed to really engage with it. I read it myself (though this was long after I had been programming) and enjoyed how it built on the concepts in a clear way after both introducing new concepts and applying them.

u/Whoopska · 9 pointsr/Python

I think Working Effectively with Legacy Code is the classical book on the subject. My personal recommendation is to write a test for every piece of code you read. It doesn't have to be a perfect test, but giving yourself something that will keep your understanding tied to the code and which you can pdb through if you lose understanding will be really helpful. At a certain point, you have to say screw the side-effects and construct a large numpy array and pass that in, create some files in weird places, or inline some text to make it work. Take the time to do things the right way and they'll go faster.

u/meegee · 1 pointr/Python

Check out Foundations of Python Network Programming

> This book will be of interest to python programmers who need to program networked applications using Python. From web application developers, to systems integrators, to system administrators—this book has everything you need to know.

>This book assumes that you know how to program in Python, but does not assume that you know anything about networking. If you have used something like a web browser before, and are vaguely aware that your computer talks to other computers in order to display web pages, then you should be ready to start reading this book.

u/[deleted] · 1 pointr/Python

I have doodled in python earlier, and made some more or less successful attempts at solving some problems with Project Euler.

But I first started learning Python properly when I took a University Class (http://www.uio.no/studier/emner/matnat/ifi/INF1100/index-eng.html) which focus on teaching programming thorugh scientific problems (which are, at least for me, more interesting than the endless stream of trivial assignments normally given in intro-courses).

The class used http://www.amazon.com/Scientific-Programming-Computational-Science-Engineering/dp/3642302920 for the syllabus, and I can heartily recommend to read through it if you want to learn python to do math-problems (but also get knowledge about general programming).

I don't have enough fingers or toes to count all the times I've just used Python and matplotlib to visualize data instead of being frustrated with excel in the last 3 months alone. I've started to use python for sysadmin-tasks, as both me and colleagues that are less proficient in programming find it more readable and easy to understand than perl (or bash for that matter).

u/jelloeater85 · 3 pointsr/Python

Core Python Applications Programming is a great book. Touches on a TON of different technologies and the examples are very easy to follow.

u/rbenamotz · 1 pointr/Python

Just finished similar project. At first I tried placing a small magnet on the chain with sensor physically mounted on the opener. Bad idea - the magnet kept falling.

Ended up with this: https://www.amazon.com/gp/product/B00V57QGRI/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1.

A bit expensive but very reliable and looks great. It also solved the open / close issues as the sensor is "on" when the door is 2" or less from the floor - really closed.

u/Yoghurt42 · 3 pointsr/Python

A quick google for "low level python network programming book" found this:

https://www.amazon.com/Foundations-Python-Network-Programming-comprehensive/dp/1430230037

I haven't read it, but at least one of the author (Brandon Rhodes) is known for giving good talks about Python. So i'd suggest you go with that.

u/piedepiew · 1 pointr/Python

https://www.amazon.com/Mason-Storm-Reapers-TRULY-CONQUER-ebook/dp/B08176L3P1

​

​

//I WANT THE XPATH FOR THIS

Kelly
After what happened, I walked away from everything I loved and vowed never to come back.


Mason
I fucked up years ago and trusted a friend over the woman I loved and have regretted it to this day.


He was her high school boyfriend.
She was his one that got away.
His best friend sexually assaulted her.
He didn't know that. So, when he said the words that ultimately destroy any future that they might have had, they both thought that was the end.


After ten years of avoidance and the death of her mother brings her back to the small town of Delway, North Carolina. A flat tire and a dead cellphone leads her to the door of the "Storm Reapers MC Clubhouse." Behind this door, she'll come face-to-face with her past and the man that once had her heart. She's not the same girl he knew before she left. She'll prove that by carving her path to vengeance.


Can they pick up where they ended so many years ago and have the future they were once hoping to have? Or will outside forces from their past tear them apart before they have the chance to find out?


A full-length novel featuring an MFM Menage Scene. Warning: Sexual Assualt, Violence, and Strong language.

u/OmegaVesko · 1 pointr/Python

Thanks! I've already started reading Beginning Game Development with Python and Pygame, but those look interesting too.

u/bitcoin-dude · 1 pointr/Python

I like data analysis, but if that's not your thing then maybe you'd be more interested in hacking

u/chuwiki · 33 pointsr/Python

I'd recommend this book. It's really nice for beginners :D

u/Julius_Henry_Marx · 1 pointr/Python

> I can never see the attributes of the Qt objects I'm actually interested in

I don't know what you mean by that. I don't use the designer, to me it was more trouble than it was worth. I just google (alot) and reference this all the time: https://www.amazon.com/Rapid-GUI-Programming-Python-Definitive/dp/0134393333

u/DarkCrusader2 · 2 pointsr/Python

Try this. I heard it's quite good. I am going to start this one myself in a couple of weeks.

u/hell_0n_wheel · 1 pointr/Python

All I could recommend you are the texts I picked up in college. I haven't looked for any other resources. That being said:

http://www.amazon.com/Computer-Organization-Design-Fifth-Architecture/dp/0124077269

This text is really only useful after learning some discrete math, but is THE book to learn algorithms:

http://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844

This one wasn't given to me in college, but at my first job. Really opened my eyes to OOD & software architecture:

http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

u/OverQualifried · 4 pointsr/Python

I'm freshening up on Python for work, and these are my materials:

Mastering Python Design Patterns https://www.amazon.com/dp/1783989327/ref=cm_sw_r_cp_awd_kiCKwbSP5AQ1M

Learning Python Design Patterns https://www.amazon.com/dp/1783283378/ref=cm_sw_r_cp_awd_BiCKwbGT2FA1Z

Fluent Python https://www.amazon.com/dp/1491946008/ref=cm_sw_r_cp_awd_WiCKwbQ2MK9N

Design Patterns: Elements of Reusable Object-Oriented Software https://www.amazon.com/dp/0201633612/ref=cm_sw_r_cp_awd_fjCKwb5JQA3KG

I recommend them to OP.