Metadata-Version: 2.3
Name: devsetgo_lib
Version: 0.12.2
Summary: DevSetGo Common Library provides reusable Python functions for enhanced code efficiency. It includes utilities for file operations, calendar, pattern matching, logging, FastAPI endpoints, and async database handling with CRUD operations.
Project-URL: Homepage, https://github.com/devsetgo/devsetgo_lib
Project-URL: Documentation, https://devsetgo.github.io/devsetgo_lib/
Project-URL: Repository, https://github.com/devsetgo/devsetgo_lib
Author-email: Mike Ryan <mikeryan56@gmail.com>
Maintainer-email: Mike Ryan <mikeryan56@gmail.com>
License: MIT License
        
        Copyright (c) 2020 Mike Ryan
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Requires-Dist: loguru>=0.7.0
Requires-Dist: packaging>=20.0
Provides-Extra: all
Requires-Dist: aioodbc>=0.4.1; extra == 'all'
Requires-Dist: aiosqlite>=0.17.0; extra == 'all'
Requires-Dist: asyncpg>=0.21.0; extra == 'all'
Requires-Dist: cx-oracle>=8.0.0; extra == 'all'
Requires-Dist: fastapi>=0.100.0; extra == 'all'
Requires-Dist: pydantic[email]>=2.0; extra == 'all'
Requires-Dist: sqlalchemy<2.0.99,>=2.0.10; extra == 'all'
Provides-Extra: fastapi
Requires-Dist: fastapi>=0.100.0; extra == 'fastapi'
Requires-Dist: pydantic[email]>=2.0; extra == 'fastapi'
Provides-Extra: mssql
Requires-Dist: aioodbc>=0.4.1; extra == 'mssql'
Requires-Dist: sqlalchemy<2.0.99,>=2.0.10; extra == 'mssql'
Provides-Extra: oracle
Requires-Dist: cx-oracle>=8.0.0; extra == 'oracle'
Requires-Dist: sqlalchemy<2.0.99,>=2.0.10; extra == 'oracle'
Provides-Extra: postgres
Requires-Dist: asyncpg>=0.21.0; extra == 'postgres'
Requires-Dist: sqlalchemy<2.0.99,>=2.0.10; extra == 'postgres'
Provides-Extra: sqlite
Requires-Dist: aiosqlite>=0.17.0; extra == 'sqlite'
Requires-Dist: sqlalchemy<2.0.99,>=2.0.10; extra == 'sqlite'
Description-Content-Type: text/markdown

Python:

[![PyPI version fury.io](https://badge.fury.io/py/devsetgo-lib.svg)](https://pypi.python.org/pypi/devsetgo-lib/)
<a href="https://github.com/psf/black"><img alt="Code style: black" src="https://img.shields.io/badge/code%20style-black-000000.svg">

[![Python 3.9](https://img.shields.io/badge/python-3.9-blue.svg)](https://www.python.org/downloads/release/python-390/)
[![Python 3.10](https://img.shields.io/badge/python-3.10-blue.svg)](https://www.python.org/downloads/release/python-3100/)
[![Python 3.11](https://img.shields.io/badge/python-3.11-blue.svg)](https://www.python.org/downloads/release/python-3110/)
[![Python 3.12](https://img.shields.io/badge/python-3.12-blue.svg)](https://www.python.org/downloads/release/python-3120/)

CI/CD Pipeline:

[![Testing - Main](https://github.com/devsetgo/devsetgo_lib/actions/workflows/testing.yml/badge.svg?branch=main)](https://github.com/devsetgo/devsetgo_lib/actions/workflows/testing.yml)
[![Testing - Dev](https://github.com/devsetgo/devsetgo_lib/actions/workflows/testing.yml/badge.svg?branch=dev)](https://github.com/devsetgo/devsetgo_lib/actions/workflows/testing.yml)

SonarCloud:

[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=devsetgo_devsetgo_lib&metric=coverage)](https://sonarcloud.io/dashboard?id=devsetgo_devsetgo_lib)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=devsetgo_devsetgo_lib&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=devsetgo_devsetgo_lib)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=devsetgo_devsetgo_lib&metric=alert_status)](https://sonarcloud.io/dashboard?id=devsetgo_devsetgo_lib)

[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=devsetgo_devsetgo_lib&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=devsetgo_devsetgo_lib)
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=devsetgo_devsetgo_lib&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=devsetgo_devsetgo_lib)

# 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](https://devsetgo.github.io/devsetgo_lib/recipes/fastapi/)

## Installation Guide
[Quick Start](https://devsetgo.github.io/devsetgo_lib/quickstart/)

```python
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](https://github.com/devsetgo/devsetgo_lib/blob/main/CONTRIBUTING.md).

## License
[MIT Licensed](https://github.com/devsetgo/devsetgo_lib/blob/main/LICENSE)

## Author Information
[Mike Ryan](https://github.com/devsetgo)

## Further Documentation
For more detailed information, visit [LINK_TO_DETAILED_DOCUMENTATION](https://devsetgo.github.io/devsetgo_lib/).
