Kyle Pericak

"It works in my environment."

Sat 24 August 2019

Project: FOSS Python App

Posted by Kyle Pericak in development   

Github Link: here


Open source software is great, and Python is a super popular language for writing an open source tool. In this project I create a greenfield project called JSC2F: Json SQL Cell to File and distribute it freely and publicly on PyPi. I'll also set up a Travis CI pipeline and some automated tests to get a bit of CI/CD magic going.


Project Posts & Progress

This project includes, or will include, the following posts. If any aren't finished, check back later!

Status Article
Not Started Building a simple CLI app in Python
Not Started Publishing a Python application to PyPi
Not Started Building a deployment pipeline with Travis CI
Not Started Writing unit and functional tests for a Python CLI app
Not Started Integrating tests with Tox

A simple Python Application

The purpose of this project was primarily to learn and deploy the tools needed to build a full Free & Open Source application. I chose a Python CLI app because I've made a few of those before.

For deployment, the app will go in PyPi.

The app itself solves a real-world problem. At work we have this one database field that stores a huge JSON string. It was a JSON type cell in the old MySQL database but since we moved to HA MariaDB and it doesn't support that, it's just a string now. Anyways, the app, JSC2F, has two features:

  1. Connect to the database and select the cell holding the JSON data. Export that data to a nicely formatted file for editing in your IDE of choice.
  2. Upload a JSON file from your workstation into a SQL cell.

Its pretty trivial and there's certainly a million other ways to solve this problem, but it was low hanging fruit.

Another objective of this project is to try out Travis CI, and have it run some simple tests then handle my deployments.


Building the App

So, I haven't actually broken down how I made the app into posts yet, but you can find the app here.


Deploying the App to PyPi

Currently I'm deploying the app manually after testing the app by hand.

Publishing a Python application to PyPi

Check back for updates as I automate this.


Javascript appears to be disabled. Comments can't load.