fling logo of SQL30 - An ORM for SQLITE on ESX

SQL30 - An ORM for SQLITE on ESX

version 1.0 — September 30, 2020

Contributors 1

View All

Comments 0

View All

Summary

Persistence is an integral part of any real world software application. A widely used method of achieving (file based) persistence is through SQLITE database. Python natively provides support for interacting with SQLITE with the help of module "sqlite" (sqlite3 in python3). SQLAlchemy is a popular ORM used for interacting with sqlite database in Python. However, this and many other similar ORMs do not work on ESX Hypervisor as is. It is because these packages have dependency on other packages which are not supported / installable on ESX hypervisor further.

In this fling, we present SQL30, a ZERO weight ORM for SQLITE database written using only native python constructs. This python package has no dependency on any external python package and works as is on ESX version 6.5 and above.

SQL30 is useful as :

  • It helps developers achieve persistence in Python applications even on platforms such as ESX which have limited / trailing support for Python.
  • It improves productivity as developers can write (SQL based) database applications without having to learn SQL itself.

Requirements

Python and sqlite
(Both are available as of now on ESX 6.5)

Python is still 3.5 version on ESX 6.5 , while widely used on now is Python 3.6. However, beauty of this fling submission is that it works with very limited support of Python as well.

Instructions

Installation

SQL30 python package, sql30.egg, with applicable license can be downloaded from fling site under the file name sql30.zip. The package can also be built locally with the steps below or installed directly from pypi server ( https://pypi.org/project/sql30/ ). However, the license attached (in sql30.zip) would still be applicable to this fling.

$ virtualenv -p python3 . 
$ mkdir unpacked
$ bin/pip install --target=./unpacked/ sql30
$ cd unpacked
$ zip -r9 ../sql30.egg *
$ cd -
# 

sql30.egg file generated by above steps can now be taken and used with any machine with python3 and sqlite3 (python module) available. An example of the same is shown below. Here sql30.egg is being taken to an ESX Hypervisor with a Python 3.5.6 version and shown to consume egg file.

[root@prom-0505695d9ce:~] PYTHONPATH=sql30.egg python
Python 3.5.6 (default, Feb  2 2019, 01:09:51)
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
No entry for terminal type "screen.xterm-256color";
using dumb terminal settings.
>>> from sql30 import db
>>> import os
>>> os.system('uname -a')
VMkernel prom-0505695d9ce.nsbucqesystem.test 6.5.0 #1 SMP Release build-13753126 May 19 2019 21:13:25 x86_64 x86_64 x86_64 ESXi
0
>>> class Dummy(db.Model):
...     pass
...
>>> dir(Dummy)
['DB_SCHEMA', 'VALIDATE_BEFORE_WRITE', '__class__', '__delattr__', '__dict_




Similar Flings

No similar flings found. Check these out instead...
Apr 14, 2021
fling logo of vSphere HTML5 Web Client

vSphere HTML5 Web Client

version 5.0 - build 15670023

The vSphere HTML5 Web Client is here! It is written using HTML5 and Javascript, and we are looking forward to you trying it in your environment and hearing your feedback!

Jun 02, 2021
fling logo of Resource-Efficient Supervised Anomaly Detection Classifier

Resource-Efficient Supervised Anomaly Detection Classifier

version 1.0.0

Resource-Efficient Supervised Anomaly Detection Classifier is a scikit-learn classifier for resource-efficient anomaly detection that augments either Random-Forest or XGBoost classifiers to perform well in a resource-constrained setting.

May 17, 2023
fling logo of Horizon Instant Clone Associated VMs

Horizon Instant Clone Associated VMs

version 1.0

The Horizon Instant Clone Associated VMs Tool is a simple and powerful utility designed to help administrators manage the internal VMs associated with their Horizon Pools.

Jan 16, 2019
fling logo of Policy Enforcer

Policy Enforcer

version 1.0

Policy Enforcer is used to check and remediate restriction policies on a Workspace ONE Managed Windows 10 machine.

Aug 15, 2017
fling logo of vRealize Operations Export Tool

vRealize Operations Export Tool

The vRealize Operations Export Tool allows users to extract and export metrics and properties from vRealize Operations.

Sep 01, 2015
fling logo of vCO-CLI

vCO-CLI

version 2.0

vCO-CLI aims to provide exploratory programming to the vCO ecosystem. It connects to a running vCO server and presents a JavaScript REPL (Read-Eval-Print-Loop) to the user

View More