Letting Users Change a wx.ComboBox’s Contents in wxPython

This week I came across someone who was wondering if there was a way to allow the user to edit the contents of a wx.ComboBox. By editing the contents, I mean change the names of the pre-existing choices that the ComboBox contains, not adding new items to the widget.

While editing the contents of the selected item in a ComboBox works out of the box, the widget will not save those edits automatically. So if you edit something and then choose a different option in the ComboBox, the edited item will revert back to whatever it was previously and your changes will be lost.

Let’s find out how you can create a ComboBox that allows this functionality! Continue reading Letting Users Change a wx.ComboBox’s Contents in wxPython

Top 10 Most Read Mouse vs Python Articles of 2019

2019 was a good year for my blog. While we didn’t end up getting a lot of new readers, we did receive a small bump. There has also been a lot more interest in the books that are available on this site.

For the year 2019, these are the top ten most read:

Note that none of these articles were actually written in 2019. Half of them were written in 2018 and one of them dates all the way back to 2010. Interestingly enough, my most popular article of 2019 is about using Python to take a photo of the black hole. That article ranks way down at #28.

For 2020, I am going to work hard at creating new content and tutorials that you will find useful in your Python journey. In the meantime, I hope you’ll enjoy reading the archives while I work on some new ones!

PyDev of the Week: Bryan Weber

This week we welcome Bryan Weber (@darthbith) as our PyDev of the Week! Bryan is a contributor for Real Python and a core developer for Cantera. If you’d like to learn more about Bryan, you can check out his website or his Github profile. Let’s take a few moment to get to know him better!

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

I am a teaching professor at the University of Connecticut, as well as the Director of Undergraduate Studies for Mechanical Engineering. This means that I focus mostly on improving the education of our undergraduate students. I teach a lot of thermodynamics and fluid mechanics courses, and I’ve developed a few Python packages to help with that.

I got my doctorate in Mechanical Engineering in 2014, also from the University of Connecticut. One of my favorite things about mechanical engineering is that it is a super broad field, covering everything from robotics to chemistry, cars and trucks to planes and rockets, and everything in between.

My hobbies are open source software, Ultimate Frisbee, and cooking. I have a daughter and I love spending time as a family. Aside from that, there isn’t much time for anything else! Continue reading PyDev of the Week: Bryan Weber

PyDev of the Week: Saul Pwanson

This week we welcome Saul Pwanson (@saulfp) as our PyDev of the Week! Saul is the creator of VisiData, an interactive multitool for tabular data. If you’d like to see what Saul has been up to, then you should check out his website or his Github profile. You can also support Saul’s open source endeavors on Patreon. Let’s take a few moments to get to know Saul better!

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

I grew up in Chicagoland in the 80s, was on BBSes in the early 90s, and IRC in college and thereafter. I’ve been once to the Recurse Center in New York, twice to Holland, and six times to Bruno’s in Gerlach, NV. I like crossword puzzles, board games, and point-and-click adventures. One day I’d like to finish my “board simulation” of the awe-inspiring mechanics inside mitochondria. Continue reading PyDev of the Week: Saul Pwanson

PyDev of the Week: Kelly Schuster-Paredes

This week we welcome Kelly (@KellyPared) Schuster-Paredes. Kelly is the co-host of the popular Python podcast, Teaching Python. Kelly specializes in curriculum design and development. She blogs a bit over on her website which you should check out if you have the time.

For now though, let’s take a few moments to get to know Kelly better!

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

I am a Middle School Computer Science Teacher and a Technology Integration Specialist. I have been teaching for 23 years and have taught in the US, UK and in Peru. I have a Masters in Curriculum, Instruction and Technology, which means I know a lot about how to teach and invent cool lessons. Besides working and co-hosting Teaching Python, I spend most of my time with my two boys outside playing sports in the south Florida sun. Continue reading PyDev of the Week: Kelly Schuster-Paredes

PyDev of the Week: Ted Petrou

This week we welcome Ted Petrou (@TedPetrou) as our PyDev of the Week! Ted is the author of the Pandas Cookbook and also teaches Pandas in several courses on Udemy. Let’s take some time to get to know Ted better!

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

I graduated with a masters degree in statistics from Rice University in Houston, Texas in 2006. During my degree, I never heard the phrase “machine learning” uttered even once and it was several years before the field of data science became popular. I had entered the program pursuing a Ph.D with just six other students. Although statistics was a highly viable career at the time, it wasn’t nearly as popular as it is today.

After limping out of the program with a masters degree, I looked into the fields of actuarial science, became a professional poker play, taught high school math, built reports with SQL and Excel VBA as a financial analyst before becoming a data scientist at Schlumberger. During my stint as a data scientist, I started the meetup group Houston Data Science where I gave tutorials on various Python data science topics. Once I accumulated enough material, I started my company Dunder Data, teaching data science full time. Continue reading PyDev of the Week: Ted Petrou

PyDev of the Week: Sebastian Steins

This week we welcome Sebastian Steins (@sebastiansteins) as our PyDev of the Week! Sebastian is the creator of the Pythonic News website. You can find out more about Sebastian by checking out what he’s been up to over on Github. Let’s take a few moments to get to know him better!

Sebastian Steins

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

I am a software developer from Germany and live close to the Dutch and Belgian border. The internet emerged when I was in school. I have always been fascinated by computers and wanted to learn to program. Unfortunately, this was not so easy at the time, and I did not have teachers who could have supported me in that matter. It changed, however, when I got my first modem. The internet opened a whole new world for me, and I started to learn HTML, Perl and later, PHP. I built CGI scripts and small web apps back then, and it was really fun. Eventually, I took programming as my career path, although I sometimes struggled with that decision. Besides my degree in computer science, I also heard lectures on economics and had a few positions in the finance sector early in my career. Now, I enjoy coaching teams of great software engineers in architecture matters and try to pass my knowledge to junior devs.

When I’m not in front of a computer, I like to ride my road bike, learn new stuff from audiobooks and would never say no to a night out in a good restaurant. Continue reading PyDev of the Week: Sebastian Steins

Adding Notifications to Long-Running Jupyter Notebook Cells

If you use Jupyter Notebook to run long-running processes, such as machine learning training, then you would probably like to know when the cell finishes executing. There is a neat browser plugin that you can use to help solve this issue called jupyter-notify. It will allow you to have your browser send a pop-up message when the cell finishes executing.

The notification will look something like this:

jupyter-notify sample image

Let’s learn how you can add this notification to your Jupyter Notebook! Continue reading Adding Notifications to Long-Running Jupyter Notebook Cells

Two New Typosquatting Libraries Found on PyPI

Two new malicious packages were found on the Python Packaging Index (PyPI) that were designed to steal GPG and SSH keys according to ZDNet. The packages were named python3-dateutil and jeIlyfish where the first “L” is actually an I. These two libraries mimicked the dateutil and jellyfish packages respectively.

The fake python3-dateutil would import the fake jeIlyfish library which housed the malicious code that would attempt to steal GPG and SSH keys. While both of these libraries have been removed from PyPI, this is just another reminder to always be sure that you are installing the right package.

For full details, check out the ZDNet article as it breaks down how the libraries work.

Related Reading

PyDev of the Week: Bob Belderbos

This week we welcome Bob Belderbos (@bbelderbos) as our PyDev of the Week! Bob is a co-founder of PyBites. Bob has also contributed to Real Python and he’s a Talk Python trainer. You can learn more about Bob by checking out his website or visiting his Github profile. Let’s spend some quality time getting to know Bob better!

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

I am a software developer currently working at Oracle in the Global Construction Engineering group. But I am probably better known as co-founder of PyBites, a community that masters Python through code challenges.

I have a business economics background. After finishing my studies in 2004 though, I migrated from Holland to Spain and started working in the IT industry. I got fired up about programming. I taught myself web design and coding and started living my biggest passion: automate the boring stuff making other people’s lives easier.

When not coding I love spending time with my family (dad of 2), working out, reading books and (if time allows one day) would love to pick up painting and Italian again 🙂

Continue reading PyDev of the Week: Bob Belderbos