Language Selection

English French German Italian Portuguese Spanish

Python Programming

Filed under
  • Improve your time management with Jupyter

    JupyterLab and Jupyter Notebook provide a great environment to scrutinize my laptop-based life.
    My exploration is powered by the fact that almost every service I use has a web application programming interface (API). I use many such services: a to-do list, a time tracker, a habit tracker, and more. But there is one that almost everyone uses: a calendar. The same ideas can be applied to other services, but calendars have one cool feature: an open standard that almost all web calendars support: CalDAV.

  • PyDev 8.0 released (17 years of PyDev, typing support, MyPy and Debugger)

    As with the previous release, this release keeps on improving the support for type hinting and MyPy.

    On the MyPy front, besides showing an error it will also show the related notes for a message on the tooltip (which would previously be available only in the output view) and MyPy processes are no longer launched in parallel when using the same cache folder (as this could end up making MyPy write wrong caches which required the cache folder to be manually erased).

    In the type inference front there are multiple improvements to take advantage of type hints (such as support for Optional[] in code completion, handle types given as string and following type hints when presenting an option to create a new method in a class).

    The debugger had a critical fix on the frame-evaluation mode (the mode which works by adding programmatic breakpoints by manipulating bytecode) which could make it skip breakpoints or even change the behavior of a program in extreme cases.

  • EuroPython 2020: First batch of edited videos available

    We’re happy to release the first 30 cut videos of EuroPython 2020.

  • Changes in chemfp 3.4

    In a previous essay I talked about the new licensing model in the recent chemfp 3.4 release. In short, no-cost academic licensing is now available, a pre-compiled version of the package, with some restrictions on use, is available for no-cost use on for Linux-based OSes.

    The 3.4 release had the unofficial title back in action. I took time off from development to (among other things) write a paper about the chemfp project and take parental leave for our second kid.


    There are a number of small tool improvements, like adding a --help-formats command-line option to give more detailed information about the support format types and options for each of the toolkits. (Previously much of this information was available from --help but that lead to information overload.)

    One nice change is that simsearch now accepts a structure query as command-line input or a file, rather than an FPS file. Simsearch will read the target file to get the fingerprint type, then use that to parse the query structures correctly.

  • Command Line Interfaces in Python

    Adding the capability of processing Python command line arguments provides a user-friendly interface to your text-based command line program. It’s similar to what a graphical user interface is for a visual application that’s manipulated by graphical elements or widgets.

    Python exposes a mechanism to capture and extract your Python command line arguments. These values can be used to modify the behavior of a program. For example, if your program processes data read from a file, then you can pass the name of the file to your program, rather than hard-coding the value in your source code.

  • Python Software Foundation: Answer these surveys to improve pip's usability

    The pip team has been working on improving the usability of pip since the start of this year. We've been carrying this work out remotely - by interviewing pip users, by sending short surveys, and doing usability tests of new pip functions.

    We want to thank everybody who is contributing input to this work and are taking part in this research, which is still ongoing. We've learned a lot about who uses pip and how you use it. This has helped the team make decisions to improve pip, such as error messages and documentation to help you fix dependency conflicts.

    Our team has put together a User Experience (UX) section in pip's documentation to tell you about this UX work. It covers what has happened so far, how you can contribute, and what is coming in the future.

  • Python 101: An Intro to Working with JSON

    JavaScript Object Notation, more commonly known as JSON, is a lightweight data interchange format inspired by JavaScript object literal syntax. JSON is easy for humans to read and write. It is also easy for computers to parse and generate. JSON is used for storing and exchanging data in much the same way that XML is used.


    Python’s json module uses the dump() function to serialize or encode an object as a JSON formatted stream to a file-like object. File-like objects in Python are things like file handlers or objects that you create using Python’s io module.

  • TDD in Python with pytest - Part 3

    This is the third post in the series "TDD in Python from scratch" where I develop a simple project following a strict TDD methodology. The posts come from my book Clean Architectures in Python and have been reviewed to get rid of some bad naming choices of the version published in the book.

    What I introduced in the previous two posts is commonly called "unit testing", since it focuses on testing a single and very small unit of code. As simple as it may seem, the TDD process has some caveats that are worth being discussed. In this chapter I discuss some aspects of TDD and unit testing that I consider extremely important.

  • PyCoder’s Weekly: Issue #438 (Sept. 15, 2020)

More in Tux Machines

Open Source Lightweight Directory Access Protocol Solutions

LDAP (Lightweight Directory Access Protocol) is an application protocol for accessing directory services. It runs on a layer above the TCP/IP stack incorporating simplified encoding methods, and offers a convenient way to connect to, search, and modify Internet directories, specifically X.500-based directory services. It is an open, vendor-neutral, industry standard application protocol. LDAP utilizes a client-server model. This protocol is specifically targeted at management applications and browser applications that provide read/write interactive access to directories. The main benefit of using an LDAP server is that information for an entire organization can be consolidated into a central repository. LDAP supports Secure Sockets Layer (SSL) and Transport Layer Security (TLS), so that sensitive data can be protected. LDAP servers are used for a variety of tasks including, but not limited to, user authentication, machine authentication, user/system groups, asset tracking, organization representation, and application configuration stores. Read more

Telegram for Ubuntu 20.04 LTS, Mint Ulyana and Latest Fedora

This is for you who want to have Telegram application on Ubuntu Focal Fossa and latest GNU/Linux Mint 20 Ulyana and Fedora 32. You can also practice this on other great OSes released just recently most notably MX Patito Feo and deepin 20. This means you can enjoy the fastest instant messenger on latest free software operating systems released this year for your computer and laptop. Enjoy Telegram! Read more

Introducing Precursor

Precursor is a mobile, open source electronics platform. Similar to how a Raspberry Pi or an Arduino can be transformed into an IoT gadget with the addition of a couple breakout boards, some solder, and a bit of code, Precursor is a framework upon which you can assemble a wide variety of DIY mobile applications. Precursor is unique in the open source electronics space in that it’s designed from the ground-up to be carried around in your pocket. It’s not just a naked circuit board with connectors hanging off at random locations: it comes fully integrated—with a rechargeable battery, a display, and a keyboard—in a sleek, 7.2 mm (quarter-inch) aluminum case. Read more

today's howtos