Please provide your feedback in this short Flings' survey.
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_




Contributors

Similar Flings

No similar flings found. Check these out instead...
May 07, 2018
fling logo of Cellular Module User Space USB Driver on ESXi

Cellular Module User Space USB Driver on ESXi

version 1.0

This Fling provides this driver to enable deployment on ESXi on their IoT devices.

Nov 29, 2022
UPDATED
fling logo of Sample Exchange PowerShell ISE Integration

Sample Exchange PowerShell ISE Integration

SampleExchangePowerCLI Module
A PowerShell Module that contains integration between VMware's new sample code repository Sample Exchange, and PowerShell ISE. Sample Exchange contains an ever growing catalog of PowerCLI samples and snippets, and this module uses Sample Exchange REST web services to allow a user to paste sample code into their editors directly in PowerShell ISE.
Pre-Requisites
PowerShell version 4 or later.
Installation
1) Download (or clone) all files comprising the module.
2) Create a folder for the module in your module folder path, e.g. C:\Users\username\Documents\WindowsPowerShell\Modules\SampleExchangePowerCLI
3) Place the module files in the above folder. The SampleExchangePowerCLI.psd1 and SampleExchangePowerCLI.psm1 files should be in the root of the folder
NOTE: If you create the folder in the path above, then PowerShell ISE (and regular PowerShell windows) will load the module.
If you don't want to do this, you can manually install the module by running the command
PS C:> Import-Module -Force -Verbose C:\local\path\where\you\extracted\SampleExchangePowerCLI
where SampleExchangePowerCLI is the folder containing SampleExchangePowerCLI.psd1 and SampleExchangePowerCLI.psm1.
4) Restart PowerShell ISE
5) If you would like to have Sample Exchange samples available via the PowerShell ISE Snippets feature, Go to "Add-ons" > "Sample Exchange" > "Sync Snippets"
This command is the equivilent of calling the "Sync-SampleExchangeSnippetsWithISE" method directly. It downloads all samples and registers them as "Snippets" in PowerShell ISE thus making them available for use in the editor when you issue the "CTRL + J" hot-key.
If you later decide that you do not like this, you can simply go to C:\Users<user>\Documents\WindowsPowerShell\Snippets and delete all of the VMW*.ps1xml files and the snippets will go away.
Usage
Selecting Either Add-ons > VMware Sample Exchange > Search Samples, or hitting "CTRL + SHIFT + S" will bring up a dialog box which lists all available PowerShell language samples by default. You can additionally enter a search term and click the "Search" button to additionally filter the list.
Select any sample from the list and click the "Insert in Editor" button to insert the given sample code at the location of the cursor in the editor that had focus when the dialog was opened (yes, it doesn't work to select another editor after the dialog is opened, sorry).
If you click "OK" the sample content is pasted in the shell. "Cancel" simply closes the window.
To see a list of available functions:
Get-Command -Module SampleExchangePowerCLI

Oct 28, 2015
fling logo of Onyx for the Web Client

Onyx for the Web Client

version 1.0

Onyx for the Web Client is a Fling that translates actions taken in the vSphere Web Client to PowerCLI.Net code. This Fling was the winning entry in last year’s 2014 Fling Contest. It’s an update, of sorts, to the Onyx fling, as it allows for similar functionality in the web client.

Mar 18, 2021
fling logo of Hillview: Distributed Data Visualization

Hillview: Distributed Data Visualization

version 1.0

Hillview is a simple cloud-based spreadsheet program for browsing large data collections.

Oct 12, 2022
fling logo of HCIBench

HCIBench

version 2.8.0

HCIBench stands for "Hyper-converged Infrastructure Benchmark". It's essentially an automation wrapper around the popular and proven VDbench open source benchmark tool that makes it easier to automate testing across a HCI cluster.

Apr 19, 2019
fling logo of App Volumes Toolbox

App Volumes Toolbox

version 2.0

This utility connects to App Volumes 2.x, 3.x and Horizon Air Hybrid-Mode (Enzo) environments, pulling data from the native REST APIs into a single interface for ease of management.

View More