Skip to content

devsetgo/devsetgo_lib

Repository files navigation

Python:

PyPI version fury.io Code style: black

Python 3.9 Python 3.10 Python 3.11 Python 3.12

CI/CD Pipeline:

Testing - Main Testing - Dev

SonarCloud:

Coverage Maintainability Rating Quality Gate Status

Reliability Rating Vulnerabilities

DevSetGo Common Library

Introduction

The DevSetGo Common Library is a comprehensive package of common functions designed to eliminate repetitive coding and enhance code reusability. It aims to save developers time and effort across various projects.

Compatibility and Testing

  • Tested on: Windows, Linux.
  • Compatibility: Potentially compatible with MacOS (feedback on issues is appreciated).

Library Functions

Common Functions

  • File Functions:
    • CSV File Functions
    • JSON File Functions
    • Text File Functions
  • Folder Functions:
    • Make Directory
    • Remove Directory
    • Last File Changed
    • Directory List
  • Calendar Functions:
    • Get Month
    • Get Month Number
  • Patterns:
    • Pattern Between Two Characters
  • Logging:
    • Logging configuration and interceptor

FastAPI Endpoints

  • Systems Health Endpoints:
    • Status/Health, Heapdump, Uptime
  • HTTP Codes:
    • Method to generate HTTP response codes

Async Database

  • Database Config
  • Async Session
  • CRUD Operations

Examples and Usage

Refer to the Recipes Pages

Installation Guide

Quick Start

pip install devsetgo-lib

# Aysync database setup
pip install devsetgo-lib[sqlite]
pip install devsetgo-lib[postgres]

# Consider these experimental and untested
pip install devsetgo-lib[oracle]
pip install devsetgo-lib[mssql]
pip install devsetgo-lib[mysql]

# For adding FastAPI endpoints
pip install devsetgo-lib[fastapi]

# Install everything
pip install devsetgo-lib[all]

Contribution and Feedback

Contributions and feedback are highly appreciated. Please refer to our Contribution Guidelines.

License

MIT Licensed

Author Information

Mike Ryan

Further Documentation

For more detailed information, visit LINK_TO_DETAILED_DOCUMENTATION.