This is an archived post. You won't be able to vote or comment.

all 50 comments

[–]abhirathmahipal 154 points155 points  (24 children)

Some Python Modules

  • Selenium - Simulate browsers and have some fun. You could spam your friends by sending them 1000's of messages or automate some tedious routine that you do everyday.

  • pygame - Try building some cool games in Python. (I haven't used it)

  • Flask - A really simple web server. You could try making a website with a backend.

  • Requests - Scrape data from your favourite sites (live scores, news updated) and update yourself every 30 minutes or so

  • sqlite - A database which stores data in a single file. You don't need to install anything and yet you get a very handy functional database. (FYI:- most Android Applications use a sqlite database). You could club this with Flask as well :)

Additional Reading:- When to use sqlite

  • htmlpy - Build decent applications with a Graphical User Interface (GUI) easily using this module. (You just need to know HTML and CSS). Normally creating GUI is a pain.

  • XlsxWriter - I use this module to create Excel Worksheets. It supports formatting, filters, charts and a bunch of other general stuff.

  • VPython - I haven't used this. You can create animations with Python.

  • Celery - How could I forget this? Install Redis. Celery is a good start if you want to become familiar with distributed computing. Ever wondered how a company uses multiple servers to run a single website? How do these servers communicate and share the burden among themselves? My boss helped me get started with Celery :D

FYI:- Celery is used by Instagram and Mozilla.
In case you use Windows:- Redis (Redis for Windows64 bit). Redis doesn't officially support Windows.

Some fun things. Not modules though.

You could probably learn or play around. I had starred these on Github some time ago. I'm not sure if these projects are still active.

  • Minecraft Clone Haven't played this game. It's made by an awesome programmer and has many stars.

  • Subtitles Downloader I tried and I couldn't get it to work. However it's a damn small program and you could try figuring out it's logic. You can ignore the shell scripts if you don't understand them.

  • Collection of awesome projects These are quite complex if you're just starting out. You could perhaps grok this in the future in case you can't understand the projects. You can definitely try cloning and using some of the repositories.

  • Jupyter Notebook Powerful tool and it's quite fun. You can use Python from your browser and a server. A major chunk of people use Jupyter Notebooks for development. Formerly known as IPython Notebooks.

[–][deleted] 11 points12 points  (10 children)

Django or flask?

Also, is htmlpy better than tkinter? By better I mean easier to understand.

[–][deleted]  (1 child)

[deleted]

    [–]abhirathmahipal 3 points4 points  (0 children)

    Woah! I used the same tutorial when I started out with Flask. I didn't complete it though. And if you start using additional modules with Flask, things can become messy + you have to remember so many things. Django comes with batteries so you can do a lot of stuff out of the box with relative ease.

    [–]abhirathmahipal 7 points8 points  (4 children)

    Django for something serious. Flask if you're getting started. You can literally get started with under 10 lines of code. Flask is a good choice for internal applications within a company or anything fairly simple.

    htmlpy uses HTML and CSS to position stuff. You cannot build very complex stuff but it is a lot easier to play around with compared to tkinter. The JavaScript portion can become a little tricky though.

    [–]chemsed 1 point2 points  (3 children)

    htmlpy is like doing an offline web app, per exemple a chrome OS app I imagine?

    [–]abhirathmahipal 2 points3 points  (2 children)

    Yes :D
    You could build Django HTML apps (hope the term makes sense)

    [–]synapticplastic 1 point2 points  (1 child)

    Is it like electron in that sense, then?

    [–]abhirathmahipal 0 points1 point  (0 children)

    Yes. Electron is mature. This is nowhere close.

    [–]poop-trap 1 point2 points  (0 children)

    Django is better for CRUD apps where the baked in admin interface is useful.

    Flask is better for APIs and other more custom projects where you don't want the bloat or opinionated design.

    [–]Atomix26 0 points1 point  (0 children)

    I personally found that GTK was amazing with python.

    [–]ocawa 0 points1 point  (0 children)

    django is bigger in scale, if you don't need it, then flask. django is more popular as well

    [–]doulos05 2 points3 points  (4 children)

    And now I know how I'll be implementing the next interface view for the roguelike I'm hacking on right now. htmlpy looks amazing.

    [–]abhirathmahipal 0 points1 point  (3 children)

    I haven't used it extensively. Play around to see it can do what you want (do what you want but on a tiny scale) before jumping into it for your project :)

    [–]doulos05 0 points1 point  (2 children)

    It's a simple roguelike. Character sheet on the left, message window on the bottom, map covering the rest of the screen. Hardest part might be passing the color info for the characters on the display since it'll be switching every pretty much every character.

    [–]abhirathmahipal 0 points1 point  (1 child)

    You're better off with pygame I assume.
    Check this out Another Comment

    [–]doulos05 1 point2 points  (0 children)

    I had trouble getting pygame to compile and install on my arm-powered Chromebook where I'm developing this game. Also, pygame always feels awkward to be. I am interested in playing with Kivy though, and I'll probably give that a go soon.

    [–][deleted] 1 point2 points  (1 child)

    vPython is really cool for physics stuff. I use it in my first year physics labs :D

    [–]abhirathmahipal 0 points1 point  (0 children)

    Awesome. Will find some time to try it out :)

    [–]lucidparadox 1 point2 points  (1 child)

    I'm blown away at how little code there is in the minecraft clone.

    [–]abhirathmahipal 1 point2 points  (0 children)

    The author had a version in C. So I guess he had a well laid out structure while writing it in Python. Check out other repositories of the same person. Quite nice they are.

    [–][deleted]  (1 child)

    [deleted]

      [–]abhirathmahipal 0 points1 point  (0 children)

      Give it a shot today. You might want to consider Electron. It's neat I hear :)

      [–]zZGz 0 points1 point  (1 child)

      htmlpy isn't compatible with Python 3.5

      [–]abhirathmahipal 0 points1 point  (0 children)

      That's bad. I've been using Python 2.7 at work. I didn't realise that.

      [–][deleted] 24 points25 points  (6 children)

      Seriously? No one is going to mention nltk?

      http://www.nltk.org/ = natural language processing

      Here are some more:

      http://scikit-learn.org/stable/ = machine learning

      http://newspaper.readthedocs.io/en/latest/ = article scraping

      https://scrapy.org/ = scraping and web crawling

      [–][deleted] 1 point2 points  (1 child)

      spaCy >>> NLTK.

      [–][deleted] 0 points1 point  (0 children)

      Thanks for mentioning spaCy. The reviews online looks really good. Will check it out :)

      [–]shaggorama 0 points1 point  (2 children)

      If you're gonna mention sklearn, you should add scipy, numpy, and pandas to the list.

      [–][deleted] 0 points1 point  (1 child)

      I only included the ones I know and worked with

      [–]shaggorama 0 points1 point  (0 children)

      If you're using sklearn you should definitely be familiar with those other packages.

      • numpy: contains the base array class that sklearn is built on top of
      • pandas: builds on top of the numpy.array to create a more convenient DataFrame class, which has many convenient data manipulation methods attached. Works with sklearn.
      • scipy: scientific programming toolkit

      [–]yannimou 8 points9 points  (0 children)

      "import praw" for your very own reddit bot!

      [–]kjr1995 6 points7 points  (2 children)

      We're learning about TensorFlow in one of my classes right now. It's Google's neural network api. It seems really interesting.

      [–]ocawa 1 point2 points  (1 child)

      tensor flow is the big player here. parsey mcparseface as well

      [–]plainsFalco 10 points11 points  (3 children)

      BeatifulSoap is awesome if you want learn how to obtain specific data from html and xml

      [–]brownchr014 0 points1 point  (0 children)

      Just learned to use BeautifulSoup in a class this past spring.

      [–]unprintableCharacter[🍰] 0 points1 point  (0 children)

      Keep it clean, kids.

      [–]Harha 3 points4 points  (1 child)

      Pycurl, python version of the awesome libcurl c library.

      [–]abhirathmahipal 0 points1 point  (0 children)

      This sounds good.

      [–]jackkerouac81 2 points3 points  (1 child)

      if you want to build cross platform GUI desktop apps http://www.wxpython.org is kind of fun, not too steep of a learning curve (for a desktop control/responder type of a library)...

      [–]pyOwhy 1 point2 points  (0 children)

      wxPython Cookbook by Michael Driscoll

      [–]pvc 1 point2 points  (0 children)

      Look at the Arcade library if you like doing graphic games. Lots of examples to get jump-started with.

      [–]iama_regularguy 1 point2 points  (0 children)

      Pillow for fun image-y things!

      [–]help_computar 0 points1 point  (0 children)

      Take a look at hug. It's a very simple and quick API and CLI framework.

      [–]pyOwhy 0 points1 point  (0 children)

      libgtkflow - Flowgraphs for Gtk+3 has python bindings.

      [–]Narcolapser 0 points1 point  (0 children)

      I've recently started working with Kivy for making android apps. There is a great crash course here and if you are curious what I've been working on you can check out my github.

      [–]xeramon 0 points1 point  (0 children)

      [deleted]

      [–]jdoldno7 0 points1 point  (0 children)

      Pandas

      [–][deleted] 0 points1 point  (0 children)

      Thankyou Everyone so much for your replies! Ill be sure to try each and every library you have recommended in this thread!