Packaging and distributing your Python apps

Sunit Kumar Nandi (~sunitknandi)




So you've made your groundbreaking idea into a Python app? What's next? How do you get people to use it? Not everyone knows Python and not everyone is willing to python install or pip install, especially non-techies.

What you need to do is package and distribute your apps to people so that they can install and use right away.

We will be guiding you step-by-step in the following manner:

  1. Managing Python libraries and reducing the number of external dependencies.
  2. Making your app, Python interpreter and Python libraries self-contained.
  3. Handling Python path problems and making the decision to statically or dynamically link to system libraries.
  4. Packing your app + dependencies into AppImage, Flatpak and Debian deb.
  5. Distributing your app via software repositories and app stores.

After this Devsprint, you'll be a capable Python software maintainer over and above being a skilled Python developer.


  1. Working knowledge of Python, setuptools, pip and virtualenv.
  2. Basic knowledge of Linux shell commands and POSIX conventions.
  3. A computer running a Linux distribution.

Content URLs:

WIll be added soon.

Speaker Info:

This Devsprint is brought to you by Sunit Kumar Nandi and Pradeepkumar Bhale.

About Sunit:

Sunit Kumar Nandi is a Trainee Teacher at National Institute of Technology, Arunachal Pradesh and is also pursuing Ph.D. at IIT Guwahati.

He is deeply interested in computer networking, telecommunications, operating systems and distributed systems design using Python for most of his daily work involving a great deal of experimentation. Apart from that he contributes to SuperX OS, a Linux distribution with KDE, based out of Assam, India. He loves BSD and Linux based systems and has been involved with them since childhood. As a result, he has 14 years of experience managing Linux servers, networking equipment and designing automated systems in the simplest way possible. In his free time, he runs Techno FAQ, an e-magazine for science, technology, education and business.

About Pradeepkumar:

Pradeepkumar Bhale received the Bachelor of Engineering in Computer Science and Engineering from the Govt. Collage of Engineering Aurangabad, Maharashtra, India, in 2010. Following that, he worked with Tech Mahindra Pvt. Ltd. as Technical Associate for a period of 2 years. Later on, he completed his Master of Technology in Information Security from ABV-Indian Institute of Information Technology Gwalior, Madhya Pradesh, India in 2014. He was awarded State of Maharashtra Post Graduate Fellowship for pursuing his Master. After that he joined as an Assistant Professor at Dr. B.R. Ambedkar National Institute of Technology Jalandhar, Punjab, India and worked for 2 years. Currently, he is pursuing his Doctorate of Philosophy in the Department of Computer Science and Engineering, Indian Institute of Technology Guwahati, Assam under the supervision of Prof. Sukumar Nandi and Dr. Santosh Biswas. His current research interests are Internet-of-Things, wireless security, network security, and discrete event system modeling.

Speaker Links:

Sunit Kumar Nandi

Follow him on:

Open source contributions:

Packages for Arch Linux:

Other projects:

Pradeepkumar Bhale

Follow him on:

Id: 1028
Section: Developer tools and Automation
Type: Dev Sprint
Target Audience: Intermediate
Last Updated: