Flask + MongoDB Tutorial

In this tutorial, I’ll demonstrate how can you use Flask together with MongoDB.

Structure

We’ll use the following structure for our project

app/
__init__.py # Flask app
database.py # Main database class
models/
job.py # Job DB model
main/
__init__.py
routes.py # Main page routes
templates
main.html # Main page HTML template
requirements.txt # Requirements for running the application
Continue reading “Flask + MongoDB Tutorial”

Python: Pipenv Tutorial

What is Pipenv?

A package management tool which makes combined use of

  • pip – Python package manager
  • virtualenv – Tool for creating isolated Python environments so you can easily use different packages in different projects
  • Pipefile – records the package versions used in a given project so you can easily install them on any other system you want. Also considered as the replacement of Python requirements files

So basically with one short pipenv command you can install a package in a virtual environment and record it in pipfile and pipefile.lock files.

Continue reading “Python: Pipenv Tutorial”

Python: Working with Jinja2 templates

In this post we’ll see how to¬†work with Jinja2 in your Python projects, to easily create and modify templates.

Jinja2 is widely used and you probably already noticed it if you used projects such as Flask and Ansible or even if you simply searched for a robust templating engine.I can describe its greatness for a couple of minutes if not hours, but the

I can describe its greatness for a couple of minutes if not hours, but the official doc does it much better, so I recommend to go over them to get an idea on what you can achieve by using it. This post is mainly for those who are looking for a quickstart guide.

Continue reading “Python: Working with Jinja2 templates”

Python: check if two strings are permutations of each other

Another question I cover in a presentation¬†I’m preparing¬†for¬†“Open University meets Open Source” meetups.

What is a Permutation?

Permutation is the action of rearranging objects, characters or symbols into different, unique sequences.

Each sequence is called ‘permutation’.

It’s common to see people mix permutation with combination, but those are two different things. Remember, combination doesn’t care about the order, while permutation does.

Continue reading “Python: check if two strings are permutations of each other”

Python: check if one string is a rotation of another string

Another question I cover in a presentation¬†I’m preparing¬†for¬†“Open University meets Open Source” meetups.

The question

You have two strings, str1 and str2 and you need to return True if the first string is a rotation of the second string. Otherwise, return False.

Examples

“hello”, ¬† ¬†“llohe” -> True. If we’ll rotate the second string twice, you’ll get ‘hello’.

Continue reading “Python: check if one string is a rotation of another string”

Python: Run daemon process

What is a daemon?

Except for nature spirit, a daemon is also a process running in the background,¬†meaning it’s a¬†non-interactive program. It’s detached from the terminal of an interactive user.

There is no easy way to identify which processes on the system are daemons. It’s common to think that processes with ppid (parent pid) of 1 are daemons, but you can easily create in your terminal interactive process with ppid of 1, meaning not all processes with ppid 1 are daemons.

Continue reading “Python: Run daemon process”