On my laptop, I use both Windows 10 and Ubuntu 18.04 LTS. When I first installed Linux a few months ago, I allocated 1/3 of the disk to Linux. But these days I am using more the Linux partition, and that partition is getting full.

I was looking for a way to resize the partitions (both encrypted, with BitLocker on Windows and LUKS on Ubuntu) without having to reinstall everything. And it turned out to be simpler than I would have imagined!

Below are my notes. In my case, everything went well, but don’t forget to backup your data and configuration in case you get less…


A few days ago I used GitHub Actions on a project of mine for the first time. Overall the outcome was very positive, but there was also some work involved. Hopefully, this post can help you do the same at a lower cost!

Activating GitHub Actions

Create a .github/workflows directory at the root of your project:

mkdir -p .github/workflows

and, in that directory, create one or more YAML file with the name of your choice.

In my case I created two files:

Naming your actions

At the top of the YAML file, we have this field: name: CI (pip). While the name of the YAML file does not seem to have any impact, the name field at the top of the file is the one that appears in your Actions tab, and also the name that you will see on your…


Image for post
Image for post

I work with Jupyter Notebooks every day. And every day I use and edit Python libraries. Both are key elements in my work. Notebooks are a great way to document and explain your findings. And libraries are a safe investment in the long-term as they make your code reusable. Now, did you ever wonder… outside of using Jupyter for the notebooks and IDEs for the libraries, could we do otherwise?

If you know me as the author of Jupytext, you already know that I think there’s a lot of added value of being able to edit your Jupyter notebooks in your favorite IDE. …


Jupytext is an extension for Jupyter Notebook and JupyterLab that can save Jupyter notebooks in various text formats: Markdown, R Markdown, Python, Julia and R scripts, and more!

Image for post
Image for post
A Jupyter Notebook represented as a Python script (light or percent format), Markdown, and R Markdown

Jupytext will allow you to:

  • Write or edit Jupyter notebooks in your favorite code editor
  • Enable version control on notebooks with a clear diff history
  • Collaborate on Jupyter notebooks and easily merge contributions
  • Refactor notebooks and extract their code into a library

A convenient way to use Jupytext is through paired notebooks. A paired notebook is a traditional .ipynb notebook that is synchronized with a text representation — say, a Python script. When the notebook is saved, Jupytext updates both files. …


A few weeks ago we announced Jupytext, a plugin for Jupyter that can read and write Jupyter notebooks as scripts. Representing Jupyter notebooks as text files significantly eases the use of notebooks. Notebooks as scripts are easily edited, refactored and even executed in specialized IDEs. The version control of Jupyter notebooks as scripts yields meaningful diffs. Finally, merging multiple contributions on the text representation of a notebooks is not harder than merging contributions to a standard script, opening the way to easier collaboration on Jupyter notebooks.

The initial release of Jupytext introduced the light format for notebooks as scripts. Since then, we continued to explore how to best represent Jupyter notebooks as text files. We had interesting exchanges with the Spyder, Hydrogen and Matplotlib teams which allowed to identify, in addition to the light format, two pre-existing and popular formats for representing Jupyter notebooks as Python scripts: the percent, and the sphinx format. …


Jupyter notebooks are interactive documents that contain code, narratives, plots. They are an excellent place for experimenting with code and data. Notebooks are easily shared, and the 2.6M notebooks on GitHub just tell how popular notebooks are!

Jupyter notebooks are great, but they often are huge files, with a very specific JSON file format. Let us introduce Jupytext, a Jupyter plugin that reads and writes notebooks as plain text files: either Julia, Python, R scripts, Markdown, or R Markdown documents.

Jupyter notebooks as text files

We wrote Jupytext to work on Jupyter notebooks just like we work on text files. With Jupytext,

  • refactoring a notebook (represented as e.g. a plain Python script) in your favorite text editor or IDE becomes a real…


Did you ever had to debug some large cell in a Jupyter notebook? In the below I share my experience on the subject. We’ll review the classical methods for debugging notebooks, and finally I’ll show how to set breakpoints in PyCharm for code being execute in a jupyter notebook, and benefit of the comfort of a real Python IDE for debugging.

Image for post
Image for post

Before I actually describe what Pycharm can do, we quickly review the jupyter commands for debugging.

Catch exceptions

%pdb on is my favorite. It is a magic command that start a debug shell on exceptions (deactivate this mode with %pdb off)

Breakpoint with set_trace

This is the jupyter version for the classical python import pdb; pdb.set_trace(). …

About

Marc Wouts

Mathematician, self-educated programmer. I have a passion for data visualization, and don't fear crossing programming language frontiers.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store