A utilities module that contains classes and functions that simplify interfaces with files and databases.
Project description
Describe project here
Overview
This library contains basic utility classes and functions that enable faster Python programming. THese functions and methods standardize the process for reading in files of different types to include .csv, .txt, .xls, .xlsx, .json, .xml, .yaml, toml, SQLite, MySQL, SQL-Server and PostGreSQL files. In addition this library standardizes the process of setting and implementing log files. NOTE: Despite the fact that github shows the tests as failing, all tests do pass on a Linux and Mac platform before being uploaded to github. This issue appears to be caused by a library that while it works, was not written to be compatible with Python 3.11. We are working to fix this issue, but rest assure, the unit tests to pass.
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to include and update tests as well as relevant doc-string and sphinx updates.
License
This project is licensed under a basic MIT License
Requirements
Python 3.8 or greater, developed with Python 3.11
Installation
In order to download this repository from github, follow these instructions
Install poetry globally on your computer. Follow the instructions from the Poetry website
Set the poetry virtual environment with the following command poetry config virtualenvs.in-project true
Ensure you have .git installed on your computer.
Open a terminal (Bash, zsh or DOS) and cd to the directory where you want to install the cobralib library
Type git clone https://github.com/Jon-Webb-79/cobralib.git
cd into the cobralib directory
Create a virtual environment with the command python3 -m venv .venv
Activate the virtual environment with the command source .venv/bin/activate
Install packages. This library uses underlying packages to manage MySQL and PostGreSQL; however, each of these libraries requires that the user have MySQL and PostGreSQL servers installed locally on their machine
If the user does not have MySQL or PostGreSQL server installed on their machine type poetry install. This will install all packages other than the libraries for these two database management systems (DBMSs). Note, you will not be able to use the underlying functionality for these to DBMS’s.
If the user only has MySQL server installed locally, type poetry install -E mysql
If the user only has PostGreSQL installed locally, type poetry install -E postgresql
If the user has both MySQL and PostGreSQL installed locally, type poetry install -E mysql -E postgresql
If you plan to support development, install the read_the_doc sphinx package with pip, pip install sphinx_rtd_theme
In the future this repository may also be available on PyPi
This package can also be installed via pip
Install with all packages pip install cobralib
Install with optional dependencies pip install 'cobralib[mysql, postgresql]'
Documentation
Documentation for this module can be found from the ReadtheDocs website.
Bug Report
Despite the fact that the test suite passes on Mac and Linux, the Github tests appear to be failing due to a mismatch in libraries.
Future Work
Strengthen unit testing for existing functions and classes
Strenghten typing requirements for functions in io.py (yaml, json, xml, etc)
Add support for Oracle RDBMS
Add functionality for database backup for all db classes
Add functionality for database migration for all db classes
Consider C++ implementation for linked list and binary search trees
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file cobralib-0.2.1.tar.gz
.
File metadata
- Download URL: cobralib-0.2.1.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.11.5 Linux/6.4.12-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bec127e825c3e579cd2154f488b2180754ecddf12c7e884cde3800aa5c038d31 |
|
MD5 | 0123a11093d6d7b661b4b3ba26ce7d3b |
|
BLAKE2b-256 | b2d04a146b1408bddf7c9c2b1ed461029a11c3468539cd35a436b897dae7f561 |
Provenance
File details
Details for the file cobralib-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: cobralib-0.2.1-py3-none-any.whl
- Upload date:
- Size: 29.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.11.5 Linux/6.4.12-arch1-1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a43191a9ed6a9414364ddcfefcc8f7d87aa5dae24664a67cb920be21fc46988 |
|
MD5 | 4875ebf1b2f2078809a4dbe4deb6dcb8 |
|
BLAKE2b-256 | f8e7ac20281d873b7541c7d55d61c9a7625598b81f68f5c454b19a45cde114fd |