Getting Started with pywebview

I stumbled across the pywebview project a couple of weeks ago. The pywebview package “is a lightweight cross-platform wrapper around a webview component that allows to display HTML content in its own native GUI window.” It uses WebKit on OSX and Linux and Trident (MSHTML) on Windows, which is actually what wxPython’s webview widget also does. The idea behind pywebview is that it provides you the ability to load a website in a desktop application, kind of Electron.

While pywebview claims it “has no dependencies on an external GUI framework”, on Windows it requires pythonnet, PyWin32 and comtypes installed. OSX requires “pyobjc”, although that is included with the default Python installed in OSX. For Linux, it’s a bit more complicated. On GTK3 based systems you will need PyGObject whereas on Debian based systems, you’ll need to install PyGObject + gir1.2-webkit-3.0. Finally, you can also use PyQt 4 or 5.

You can use Python micro-web frameworks, such as Flask or bottle, with pywebview to create cool applications using HTML5 instead of Python.

To install pywebview itself, just use pip:

pip install pywebview

Once installed and assuming you also have the prerequisites, you can do something like this:

import webview
webview.create_window('My Web App', '')

This will load the specified URL in a window with the specified title (i.e. the first argument). Your new application should end up looking something like this:

Continue reading Getting Started with pywebview

PyDev of the Week: Honza Král

This week we welcome Honza Král (@HonzaKral) as our PyDev of the Week! Honza is one of the core developers of the Django web framework. He is also the maintainer of the official Python client to Elasticsearch. You can see some of the projects he is interested in or working on over at Github. Let’s spend some time getting to know Honza better!

Can you tell us a little about yourself (hobbies, education, etc):

I grew up in the Old Town of Prague, Czech Republic where I also went to school, including University where I studied computer science (which I didn’t finish). During my studies I discovered Python and immediately fell in love, first with the language and later, after going to my first Pycon in 2008, with the community.

I became a part of the Django community which was (and still is to this day) very welcoming. I became a part of it to learn and, hopefully, contribute something back. For my part it worked amazingly well – I got all my recent jobs through the community and even met my fiancee at a EuroPython conference!

Nowadays I work for Elastic, the company behind Elasticsearch where I do consulting – traveling around the world helping people be successful with open source – and also maintain the official Python client. Continue reading PyDev of the Week: Honza Král

wxPython Phoenix Alpha Release

The wxPython project made a major announcement over the weekend in releasing an alpha version of the new wxPython “Phoenix” package to the Python Packaging Index (PyPI). wxPython is a major cross-platform desktop graphics user interface toolkit for Python. It wraps wxWidgets and is one of the major competitors to PyQt. All new releases of wxPython will be going to PyPI in the future. You can get a copy directly here:

It should also be noted that wxPython is now being distributed as a Python wheel and a tarball. What this means is that you can now install wxPython with pip:

pip install wxPython

If you want to stay on the bleeding edge and use a daily snapshot build, then you do the following:

pip install --pre --find-links wxPython

I’ve been using the Phoenix version of wxPython for over a year and so far it has worked great! You can read more about the differences between it and Classic here:

PyDev of the Week: James Bennett

This week we welcome James Bennett as our PyDev of the Week! James is one of the core developers of the Django web framework. He is also on the Board of Directors of the Django Software Foundation. James maintains a blog and has several fun projects over on Github that are worth checking out. Now let’s take some time to get to know our fellow Pythoneer better!

Can you tell us a little about yourself (hobbies, education, etc):

I did my degree in philosophy, at a little liberal-arts college in Virginia. It wasn’t until I was in college that I had regular access to a computer or the internet, and I I taught myself HTML one weekend because a professor offered the choice between writing a 20-page paper or building a 5-page website to present some research, and I was lazy. Then people started paying me to do sites for them (it was the 90s, when people found out you knew HTML they’d do that!), and things just kind of proceeded from there. I never did take any CS courses, but I did learn DocBook and LaTeX when deciding how to typeset my thesis.

After college I bounced around a bit, worked an office job for a while to build up some savings, then started doing full-time contract work as a web developer. Later, I tried and fell in love with Django shortly after it was initially released which led to moving to Kansas and working at the company which originally developed Django. While I worked there, I picked up a commit bit and became the release manager. After five years there I went to Mozilla, where I spent four years as a member of the team building the Mozilla Developer Network platform.

These days I live in the San Francisco Bay area and work at Clover Health, where we’re trying to make health insurance a whole lot better. I also keep a blog where I occasionally write about Django, Python, or whatever else is on my mind.

My unbearably nerdy non-tech hobby is Magic: The Gathering, which came out originally when I was in middle school. I’ve played it off and on since then, and for the past seven years I’ve also worked as a tournament official on the semi-professional and professional circuits (yes, there are professional tournaments). I’ve met a lot of cool people through that, and gotten to travel quite a bit; once, for one of the top-tier pro tournaments I got a free trip to Hawaii, since that was where it was held.

The amount of travel I ended up doing between that and tech conferences and (until 2015) being a remote employee also got me sort of inevitably into being a bit of an aviation geek and knowing more than is good for me about planes, airports and frequent-flyer programs.

Continue reading PyDev of the Week: James Bennett

PyDev of the Week: Paweł Piotr Przeradowski

This week we welcome Paweł Piotr Przeradowski (@squeaky_pl ) as our PyDev of the Week! Pawel is the creative mind behind Japronto, which is a Python 3.5+ web micro-framework integrated with pipelining HTTP server based on uvloop and picohttpparser. Pawel has a couple of other interesting projects over on Github as well.

Let’s take a few moments to get to know Pawel!

Can you tell us a little about yourself (hobbies, education, etc):

I was born in a small town in north west Poland about 60 km from the German border. I was quite lucky to have a computer at home from the very early days. Knowing how things work behind the scene has been always very intriguing to me. At the of 8 I started doing short programs in BASIC language. I learnt to program by modifying examples given in Commodore 64 manual we had at home. At the age of 12 we’ve got our very first PC. I played for a while with QBASIC that was shipped with DOS and then I decided that I need to learn something more serious. I’ve bought my first book on C and started playing with Borland C++ compiler when I was 13. At the age of 15 I decided to learn x86 assembler to write my own boot loaders and primitive real mode operating systems. When I was 16 I got interested in web development and learnt PHP. At 19 I started a computer since course at the university but I got bored pretty quickly and after completing first year with literally no effort I landed my first job as a web developer and decided not to continue my studies. I also got interested in Python around that time but since there was no job market for it at the time in Poland it was only limited to my own private projects. After working for 2 years as a programmer I decided to go to the Netherlands and worked further as a web developer there. More or less 5 years ago I moved to Spain and I’ve been living between Spain and Brazil since then. I’ve been doing exclusively Python and DevOps for those last years.

Besides programming I love learning natural languages and I have a lot of passion for comparative grammar and etymology. I speak pretty good Portuguese and Spanish. I work mainly in English and of course my native language is Polish. I’m trying to learn French at the moment. I’m into digital photography a lot and I used to own several professional grade cameras. These days I don’t find time to make use of them so I sold all of that. I also love traveling and understanding cultures through meeting locals. Continue reading PyDev of the Week: Paweł Piotr Przeradowski

PyDev of the Week: Russell Keith-Magee

This week we welcome Russell Keith-Magee as our PyDev of the Week! Russell is a core Django developer and former president of the Django software Foundation. He has been a contributor to the open source community for quite some time. You can see some of his contributions over on Github. He is also the founder of the Beeware project, which is a collection of projects that can be used to help develop, debug and launch Python software. Let’s take a few minutes to get to know Russell better!

Can you tell us a little about yourself (hobbies, education, etc):

I’ve been tinkering with computers since I was 7, when my father bought one of the first Commodore 64s in Australia. I studied Physics as an undergraduate at university, but then transferred to the Computer Science department to complete my Honours degree and a PhD. While I was completing my PhD, my supervisor and I came to a mutual understanding that my future did not lie in research, and so I headed out into the world and have been working at various tech startups ever since.

I spend a lot of my spare time tinkering on computing stuff, but I’m also a huge LEGO fan, and I do a bit of photography as well. A relaxing weekend is binge watching a bunch of TV with a good toasted cheese sandwich and bottle of Speyside single malt by my side.

Why did you start using Python?

Originally (this was back in the Python 1.5 days), Python was just a system integration language for me. I started using RedHat quite early on, and many of RedHat’s tools were written in Python. Initially, coming from a C background, I had a fairly visceral dislike of the indentation-based syntax. But over time, I came to appreciate that it was really just enforcing good code style by making “bad” style invalid syntax.

Around the mid 2000s, I was starting to tinker around with the web, and I found Django – at which point, I pretty much pivoted to using Python full time.

Continue reading PyDev of the Week: Russell Keith-Magee

PyDev of the Week: Roman Sirokov

This week we welcome Roman Sirokov as our PyDev of the Week! He is the author of pywebview, which is a cross-platform lightweight native wrapper around a web view component. You can basically create a desktop user interface using web technologies and frameworks. He is quite active on Github where you can see all the projects he is involved with. Let’s take a few moments to learn more about our fellow Pythonista!

Can you tell us a little about yourself (hobbies, education, etc):

I am a software engineer from Helsinki, Finland. I currently work for Siili Solutions as a full-stack developer doing various client projects.

I have two master degrees, one in computer science from Aalto University and the second one in bioinformatics from University of Helsinki. The first degree was about graduating and the second one about actually wanting to learn something.

I have traveled quite a bit and the longest I have spent on the road was nine months. On one occasion I cycled about 3000km around Baltic Sea during a very rainy summer. I am an avid cross-country skier and try to get as much as skiing as possible with very little snow we get nowadays. I practice ashtanga yoga and vipassana meditation too and try to attend a vipassana retreat once a year. Other than that I dj mostly cosmic music and try to keep my cats entertained. Some of my mixes can be found here.

Continue reading PyDev of the Week: Roman Sirokov

Python 101 Online Course is FREE for 48 Hours!

My Python 101 online course will be completely FREE for the next 48 hours on Educative’s website. Be sure to go get yourself a copy.

It is based on my Python 101 book. When you get it from Educative, it will be yours to keep for life. Note that this is an interactive online course, not a video course. If you enjoy the Python 101 online course, you can get my second online course, Python 201 for 50% off just by using the following coupon: au-promo-py201.


  • Python 101 Online course (FREE for 48 Hours)
  • Python 201 Online course (50% off with au-promo-py201 coupon

You can also get my eBooks for 50% off the suggested price with the following links:

PyDev of the Week: Paul Moore

This week we welcome Paul Moore as our PyDev of the Week! Paul is a core developer of pip, the defacto method of installing packages in Python as well as a core developer of Python itself. You can get a glimpse of some of the projects that Paul is involved with on his Github profile. Let’s spend some time getting to know Paul better!

Can you tell us a little about yourself (hobbies, education, etc):

I was born in Liverpool, England, and (apart from a few years in Cambridge studying maths at university) I’ve lived in the north west of England all my life. When I was at school, my passion was for maths, which led to an interest in programming and computers. My first computer was a Sinclair ZX-81 and I learned Z80 assembler from a disassembly of the complete OS of that machine – not something I’d ever try these days! I quickly moved onto the BBC micro and then the Acorn Archimedes, until I finally joined the mainstream in about 1995 when I got my first PC. Although I’ve always been interested in Unix, I never really used it at home, so I’ve pretty much always been a Windows user (which has its frustrations, but is also much more fun as you get the chance to port stuff that the Unix people take for granted :-)).

In the past I’ve contributed to a lot of open source projects – vim (I wrote the original OLE and Python interfaces), the Boost C++ libraries, some long-gone Windows utility libraries – and ported a lot of Unix programs to Windows (I had my own ports of many of the GNU utilities). These have mostly died down now, and I focus mainly on Python.

In my working life, I work for a software consultancy doing Oracle support. While there’s not much official use of Python involved, I’ve always used it as much as possible for background scripts and personal utilities. And these days it’s nice to see it appearing more and more as a “mainstream” language – it’s popping up in all sorts of unexpected places these days.

Outside of computing I like to spend time with my family (I’m married and I have a son and daughter, both at university/college), as well as playing music (guitar and piano), playing boardgames and reading/watching videos. I used to practice Ju Jitsu, but haven’t had time in a few years now (advancing age may also have been a factor!)

Continue reading PyDev of the Week: Paul Moore