Cover art for podcast The Python Podcast.__init__

The Python Podcast.__init__

100 EpisodesProduced by Tobias MaceyWebsite

The podcast about Python and the people who make it great

30:39

Modern Database Clients On The Command Line with Amjith Ramanujam

Summary

The command line is a powerful and resilient interface for getting work done, but the user experience is often lacking. This can be especially pronounced in database clients because of the amount of information being transferred and examined. To help improve the utility of these interfaces Amjith Ramanujam built PGCLI, quickly followed by MyCLI with the Prompt Toolkit library. In this episode he describes his motivation for building these projects, how their popularity led him to create even more clients, and how these tools can help you in your command line adventures.

Preface
  • Hello and welcome to Podcast.__init__, the podcast about Python and the people who make it great.
  • When you’re ready to launch your next app you’ll need somewhere to deploy it, so check out Linode. With private networking, shared block storage, node balancers, and a 200Gbit network, all controlled by a brand new API you’ve got everything you need to scale up. Go to podcastinit.com/linode to get a $20 credit and launch a new server in under a minute.
  • To get worry-free releases download GoCD, the open source continous delivery server built by Thoughworks. You can use their pipeline modeling and value stream map to build, control and monitor every step from commit to deployment in one place. And with their new Kubernetes integration it’s even easier to deploy and scale your build agents. Go to podcastinit.com/gocd to learn more about their professional support services and enterprise add-ons.
  • Visit the site to subscribe to the show, sign up for the newsletter, and read the show notes. And if you have any questions, comments, or suggestions I would love to hear them. You can reach me on Twitter at @Podcast__init__ or email hosts@podcastinit.com)
  • To help other people find the show please leave a review on iTunes, or Google Play Music, tell your friends and co-workers, and share it on social media.
  • Your host as usual is Tobias Macey and today I’m interviewing Amjith Ramanujam about DBCLI, an umbrella project for command line database clients with autocompletion and syntax highlighting.
Interview
  • Introductions
  • How did you get introduced to Python?
  • What is the DBCLI project?
    • Which of the clients was the first to be created and what was your motivation for starting it?
  • At what point did you decide to create the DBCLI umbrella for the different projects and what benefits does it provide?
  • How much functionality is shared between the different clients?
  • What additional functionality do the different clients provide over those that are distributed with their respective engines?
  • How do you optimize for cases where large volumes of data are returned from a query?
  • What are some of the most interesting or surprising things that you have learned about database engines in the process of building client interfaces for them?
  • What are the most challenging aspects of building the different database clients?
  • What are some unexpected hardships that you encountered through this open source project?
  • What are some unexpected pleasant surprises that you encountered through this project?
  • Why did you hand over the project leadership for pgcli and mycli to other devs? Was it a hard decision?
  • Why do you optimize on being nice over being right?
  • How did Microsoft get involved with dbcli? mssql-cli
  • What’s been the reception for the projects?
  • What are your plans for upcoming releases of the various clients?
  • Which database engines are you planning to target next?
Keep In Touch Picks Links

The intro and outro music is from Requiem for a Fish The Freak Fandango Orchestra / CC BY-SA

Listen to The Python Podcast.__init__

RadioPublic

A free podcast app for iPhone and Android

  • User-created playlists and collections
  • Download episodes while on WiFi to listen without using mobile data
  • Stream podcast episodes without waiting for a download
  • Queue episodes to create a personal continuous playlist
RadioPublic on iOS and Android
Or by RSS
RSS feed
https://www.pythonpodcast.com/feed/mp3/

Connect with listeners

Podcasters use the RadioPublic listener relationship platform to build lasting connections with fans

Yes, let's begin connecting
Browser window

Find new listeners

  • A dedicated website for your podcast
  • Web embed players designed to convert visitors to listeners in the RadioPublic apps for iPhone and Android
Clicking mouse cursor

Understand your audience

  • Capture listener activity with affinity scores
  • Measure your promotional campaigns and integrate with Google and Facebook analytics
Graph of increasing value

Engage your fanbase

  • Deliver timely Calls To Action, including email acquistion for your mailing list
  • Share exactly the right moment in an episode via text, email, and social media
Icon of cellphone with money

Make money

  • Tip and transfer funds directly to podcastsers
  • Earn money for qualified plays in the RadioPublic apps with Paid Listens