Cool Things You Can Build With Python As Soon As You’re Out Of Tutorial Hell

Cool Things You Can Build With Python As Soon As You’re Out Of Tutorial Hell

Python is a great language and I have always enjoyed it to a degree when I had the chance to – but honestly for a long time I did not even understand that Python is more than just a cute little language – it’s something you can build actual, real and fun projects with. Large ones, too, real money-makers if you put your mind behind it.

Today I want to show you some things that require intermediate Python skills, but actually not that much considering that I can or could build all of them. I have been in programming for eight years now, but my experience with Python is still pretty low compared to many – but that is good since it shows that these are real projects that an intermediate learner can tackle on their own.

Websites

Python isn’t the first language you think of when it comes to building websites – I would even argue that a majority of people don’t know that you can do that.

At the same time though it is one of the best choices if you want to build things like login-sites, webstores or the easiest of them all: Building an API / Server for your front-end website.

Starting points:

  • Flask or django both work for web projects, personally I’m a big fan of flask for being awesome and simple. The first time I learned about Flask it took me under an hour to get my first website up and running, it’s that simple to break into.
  • Hosting works really well on www.pythonanywhere.com, it’s free for one personal project and even after that you pay like 5$ a month. The free version will last you long enough though, it can supply tens of thousands of page requests.

I’m working on a slightly different angle here myself, a Python-based website CMS that generates static HTML pages from Markdown files. You can take a look at JackalCMS on my Github.

Tweeting / Tumblr bots

You know what’s really fun? Having an automated twitter or Tumblr account that you can tinker with and hopefully even provide value with. I have one 46k follower tumblr blog now that is 100% automated and it has been a fun experiment start to finish. I hand-picked all the images myself and poured a good bit of work into the project, but now it’s running on a 2k-post loop that is randomized and rolls over every six months so the content will always feel fresh.

Uploading to the Tumblr queue is pretty straight-forward using pyTumblr, the script that I use basically grabs cool posts, finds the reblog ID and adds that reblog to the queue.

Twitter can be automated in the same way and I assume it can be great fun as well, it’s just that I never managed to get an application registered with them somehow. I guess Twitter does not like my IP address or something.

Related  The Perfect Mobile Writing And Coding Setup (For Me And Most)

An image optimizer

Now this may still fall within the realms of tutorials, but it’s actually a really useful thing to have when you work with websites. It can save you real money over getting one of the WordPress plugins that do this and it also works offline – and really fast.

Mine even has a GUI for configuration and I wrote a post over on Medium about how I built that.

A website scraper that is actually useful

Website scraping is an often used example to teach beginners a bit about Python – but usually that won’t go much past grabbing some posts or digesting RSS feeds. And then?

But scraping can be really powerful, let me give you some pointers on cool things you can build with scraped data:

  • You can create wrappers (aka your own website) around someone else’s. Case in point is the shop website that I built for a friend that takes the images and descriptions from his etsy listing, creates new posts from them and still has the purchase button link back to etsy so that he does not have to deal with payment or user login data on his own.
  • You can either scrape or use a site that generates RSS feeds from any website to build a dataset and then build something like daily.dev and curate content (or don’t).
  • You can scrape specific websites to train a natural languge model for a specific type of output, let’s say you wanted to AI-write books for NaNoWriMo using a scifi setting.

Make your code write code

I have in the past used python several times to generate other code for me, most recently in my website CMS project where I use python to write HTML based on Markdown posts. I also have another script that allows me to generate Jekyll-compliant Markdown files with proper frontmatter, date formatting and title case conversions.

You can also use the pretty cool Python Node Editor framework to put a graphical UI on top of your code components – enabling anyone even without programming knowledge to write programs. Or you may use it yourself in cases where program flow gets really complicated and you want a way to visualize it.

If you look at my CMS again it’s easy to see how powerful this can be when you want to be flexible and maybe deliver your work to various clients with different needs (the main idea behind my script is that it can be swapped out for various themes)

Summary: Python can do some pretty cool things for you once you’re past basic tutorials

I hope you got some good ideas from this post and inspiration for your own projects – actual, useful ones that you can put on a portfolio or put into production if you so wish.

Related

Comments

No Comments Yet!

You can be first to comment this post!

Post Reply