logyca


Namelogyca JSON
Version 0.1.18 PyPI version JSON
download
home_pagehttps://github.com/logyca/python-libraries/tree/main/logyca
SummaryThis package name is reserved by LOGYCA company
upload_time2024-08-17 01:18:02
maintainerNone
docs_urlNone
authorJaime Andres Cardona Carrillo
requires_python>=3.8
licenseMIT License
keywords api result result dto result scheme
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <p align="center">
  <a href="https://logyca.com/"><img src="https://logyca.com/sites/default/files/logyca.png" alt="Logyca"></a>
</p>
<p align="center">
    <em>LOGYCA public libraries</em>
</p>

<p align="center">
<a href="https://pypi.org/project/logyca" target="_blank">
    <img src="https://img.shields.io/pypi/v/logyca?color=orange&label=PyPI%20Package" alt="Package version">
</a>
<a href="(https://www.python.org" target="_blank">
    <img src="https://img.shields.io/badge/Python-%5B%3E%3D3.8%2C%3C%3D3.11%5D-orange" alt="Python">
</a>
</p>


---

# About us

* <a href="http://logyca.com" target="_blank">LOGYCA Company</a>
* <a href="https://www.youtube.com/channel/UCzcJtxfScoAtwFbxaLNnEtA" target="_blank">LOGYCA Youtube Channel</a>
* <a href="https://www.linkedin.com/company/logyca" target="_blank"><img src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white" alt="Linkedin"></a>
* <a href="https://twitter.com/LOGYCA_Org" target="_blank"><img src="https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white" alt="Twitter"></a>
* <a href="https://www.facebook.com/OrganizacionLOGYCA/" target="_blank"><img src="https://img.shields.io/badge/Facebook-1877F2?style=for-the-badge&logo=facebook&logoColor=white" alt="Facebook"></a>

---

# LOGYCA public libraries

* **Traversal libraries**: Standard methods to be used by microservices.
* **Return codes**: Standard methods for reporting result status codes using APIResult.
* **Monitoring**: Standard methods to report check health status codes.
* **Helpers**: Standard methods to be used. *

[Source code](https://github.com/logyca/python-libraries/tree/main/logyca)
| [Package (PyPI)](https://pypi.org/project/logyca/)
| [Samples](https://github.com/logyca/python-libraries/tree/main/logyca/samples)
| [Unit tests](https://github.com/logyca/python-libraries/tree/main/logyca/tests)

---

---

# "pip install" dependency check
The user must select the required libraries and versions for the project that uses this library, which validates that they are pre-installed in order to be installed.

To install the libraries of the logyca package (APIResult,Health) verifying the pydantic,pytz prerequisite without validating other packages, use the following command:

```Python
# Check pydantic dependency that is installed
pip install logyca
```

To install the fastapi package libraries and logyca authentication dependency injection, use the following command:

```Python
# Check the aiohttp dependency that is installed, for use with oauth authentication, e.g. single sign-on (SSO).
pip install logyca[oauth_token]
# Check the fastapi dependency that is installed, for use with Api-key authentication.
pip install logyca[api_key_simple_auth]
# Check the fastapi dependency that is installed, for use with Api-key and oauth authentication.
pip install logyca[oauth_token-api_key_simple_auth]
```

---

# Semantic Versioning

logyca < MAJOR >.< MINOR >.< PATCH >

* **MAJOR**: version when you make incompatible API changes
* **MINOR**: version when you add functionality in a backwards compatible manner
* **PATCH**: version when you make backwards compatible bug fixes

## Definitions for releasing versions
* https://peps.python.org/pep-0440/

    - X.YaN (Alpha release): Identify and fix early-stage bugs. Not suitable for production use.
    - X.YbN (Beta release): Stabilize and refine features. Address reported bugs. Prepare for official release.
    - X.YrcN (Release candidate): Final version before official release. Assumes all major features are complete and stable. Recommended for testing in non-critical environments.
    - X.Y (Final release/Stable/Production): Completed, stable version ready for use in production. Full release for public use.

# Quick install

```console
# Windows
python -m pip install logyca
# Linux
pip install logyca
```

---

# Example of concepts using library APIResult

```python
# Example output from ApiResult:
result={
  "resultToken": {
    "token": "",
    "refreshToken": "",
    "result": "",
    "emailActiveDirectory": "",
    "message": ""
  },
  "resultObject": [
    {
      "name": "Database server",
      "status": 0,
      "description": "Connection status fine"
    },
    {
      "name": "Redis server",
      "status": 0,
      "description": "Connection status fine"
    }
  ],
  "apiException": {
    "message": "",
    "isError": false,
    "detail": null,
    "status": 200,
    "logycaStatus": 0
  },
  "resultMessage": "",
  "dataError": false
}
```

## Use cases: you must catch de exception

1. if you get data only the token:
```json
{
"dataError":false,
"resultObject":null,
"resultToken":"Not Null"
}
```

2. if you get data correctly
```json
{
"dataError":false,
"resultObject"="Not Null"
"resultToken"=null
}
```

3. if you don't get because the operation was cancelled
```json
{
"dataError":true,
"resultObject":null,
"resultToken":null,
"apiException.logycaStatus":1,
"apiException.status"=404,
"resultMessage":"exception messages: the operation was cancelled"
}
```
[optional]apiException.message="if needed, return an object with structured failure data other than exception messages"


# Example of using library APIResult + Health Check

```python
from fastapi.encoders import jsonable_encoder
from logyca import HealthEnum, LogycaStatusEnum, APIResultDTO, ApiFilterExceptionDTO, HTTPExceptionDTO, HealthDTO, TokensDTO
from starlette.responses import JSONResponse
import json

def example_service():
    tokensDTO=TokensDTO()
    tokensDTO.token='Token Example'

    apiFilterExceptionDTO=ApiFilterExceptionDTO()
    apiFilterExceptionDTO.isError=False
    apiFilterExceptionDTO.logycaStatus=int(LogycaStatusEnum.Already_Exists)
    apiFilterExceptionDTO.status=int(LogycaStatusEnum.Already_Exists.mappingHttpStatusCode)

    httpExceptionDTO=HTTPExceptionDTO()
    httpExceptionDTO.detail='No Problem'

    listHealth=[]

    listHealth.append(HealthDTO(name='Check CPU',status=HealthEnum.Ok,description='OK').__dict__)
    listHealth.append(HealthDTO(name='Check Connect DB',status=HealthEnum.Warning,description='Warning').__dict__)
    listHealth.append(HealthDTO(name='Check Connect Storage',status=HealthEnum.Critical,description='Critical').__dict__)

    apiResultDTO=APIResultDTO()
    apiResultDTO.resultMessage=httpExceptionDTO.detail
    apiResultDTO.resultObject=listHealth
    apiResultDTO.dataError=False
    apiResultDTO.resultToken=tokensDTO
    apiResultDTO.apiException=apiFilterExceptionDTO

    return apiResultDTO

def simulator_api_return():
    apiResultDTO = example_service()
    content = jsonable_encoder(apiResultDTO)
    print((json.dumps(content,indent=4)))
    return JSONResponse(content=content,status_code=200)

simulator_api_return()

# output sample
  #
  # {
  #     "resultToken": {
  #         "token": "Token Example",
  #         "refreshToken": "",
  #         "result": "",
  #         "emailActiveDirectory": "",
  #         "message": ""
  #     },
  #     "resultObject": [
  #         {
  #             "name": "Check CPU",
  #             "status": 0,
  #             "description": "OK"
  #         },
  #         {
  #             "name": "Check Connect DB",     
  #             "status": 1,
  #             "description": "Warning"        
  #         },
  #         {
  #             "name": "Check Connect Storage",
  #             "status": 2,
  #             "description": "Critical"       
  #         }
  #     ],
  #     "apiException": {
  #         "message": "",
  #         "isError": false,
  #         "detail": null,
  #         "status": 409,
  #         "logycaStatus": 6
  #     },
  #     "resultMessage": "No Problem",
  #     "dataError": false
  # }

```

---

# Example of using helpers

```python
from logyca import buildUrl,convertDateTimeStampUTCtoUTCColombia

url1='https://domain.com'
url2='api/get'
print(f'buildUrl={buildUrl(url1,url2)}')
# ouput
# buildUrl=https://domain.com/api/get

datetimestampUTC=1679729109
print(f'datetimeUTCColombia={convertDateTimeStampUTCtoUTCColombia(datetimestampUTC)}')
# output
# datetimeUTCColombia=2023-03-25 02:25:09-05:00
```

---

# Example of using Logger
At the root of the project, the logs folder is created and the types of errors are differentiated by different files.
```python

# main.py
from logyca import Logger, ConstantsLogger
logger = Logger(logger_name=ConstantsLogger.NAME,log_dir=FOLDER_LOGS,log_file_name=f"{App.Settings.NAME}")
logger.info(f"message")

# Other files.py
from logyca import Logger, ConstantsLogger
import logging
logger = logging.getLogger(ConstantsLogger.NAME)

logger.info(f"message")
logger.error(f"message")

```
---

# Current library test

```console
# Library installation

# Windows
python -m pip install logyca[test]
# Linux
pip install logyca

# Run it
pytest -s
```

---

# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Types of changes

- Added for new features.
- Changed for changes in existing functionality.
- Deprecated for soon-to-be removed features.
- Removed for now removed features.
- Fixed for any bug fixes.
- Security in case of vulnerabilities.

## [0.1.9] - 2024-05-21
### Added
- New logger functionality.
- new authentication functionality in fastapi by dependency injection with api-key, to be used on endpoints.
- new authentication functionality in fastapi by dependency injection with oauth (single sign on), to be used on endpoints.
- In the samples folder of this library, there are complete working examples of using the code.

## [0.1.8] - 2023-10-03
### Fixed
- Due to a link error in the readme to internal documents in pypi, we chose to leave the changelog at the end of the readme. 

## [0.1.7] - 2023-10-02
### Fixed
- The url address for the logyca logo is corrected
- Adjust return code for LogycaStatusEnum class: LogycaStatusEnum.Created==HTTPStatus.CREATED
- Adjust return code for LogycaStatusEnum class: LogycaStatusEnum.InProcess==HTTPStatus.ACCEPTED
- Adjust return code for LogycaStatusEnum class: LogycaStatusEnum.Partial==HTTPStatus.ACCEPTED
- Empty files __init__.py removed

## [0.1.6] - 2023-09-11
### Fixed
- Pydantic restriction for versions lower than 2.0 is removed

## [0.1.5] - 2023-03-27
### Added
- Release ready for production

## [0.1.6-9] - 2024-5-21<
### Added
- new features such as: logging, helpers for fastapi

## [0.1.10] - 2024-05-23
### Added
- Documentation improvements.
- Documentation integrated with github

## [0.1.11] - 2024-05-24
### Deprecated
- add print info deprecated in convert_string_to_boolean()
### Added
- new parse_bool() function that will replace convert_string_to_boolean()

## [0.1.12-13] - 2024-06-13
### Fixed
- Oauth fix

## [0.1.13] - 2024-06-20
### Added
- New Logger feature to rotate backup logs and allow them to be written.

## [0.1.14] - 2024-07-02
### Added
- New APIResultDTOExternal feature to Scheme output

## [0.1.15] - 2024-07-05
### Fixed
- Updated LogycaStatusEnum for starlette library use
- Correction of exception handlers.

## [0.1.16] - 2024-07-12
### Added
- For object classes like APIResultDTO and others, the to_dict() function is added to be able to serialize the attributes to json in a simple way.
- Added object serialization example.

## [0.1.17] - 2024-07-22
### Fixed
- APIResultDTO fixes the data=False error external of the __init__ constructor.

## [0.1.18] - 2024-08-16
### Fixed
- Example of auth apkey with dockerfile and dependencies that were missing when installing the library is added.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/logyca/python-libraries/tree/main/logyca",
    "name": "logyca",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "api result, result dto, result scheme",
    "author": "Jaime Andres Cardona Carrillo",
    "author_email": "jacardona@outlook.com",
    "download_url": "https://files.pythonhosted.org/packages/e7/e2/5033288110637fa1ec7fc8ebec4dca22ddcb9ba8c7b2f606975bc848e776/logyca-0.1.18.tar.gz",
    "platform": null,
    "description": "<p align=\"center\">\r\n  <a href=\"https://logyca.com/\"><img src=\"https://logyca.com/sites/default/files/logyca.png\" alt=\"Logyca\"></a>\r\n</p>\r\n<p align=\"center\">\r\n    <em>LOGYCA public libraries</em>\r\n</p>\r\n\r\n<p align=\"center\">\r\n<a href=\"https://pypi.org/project/logyca\" target=\"_blank\">\r\n    <img src=\"https://img.shields.io/pypi/v/logyca?color=orange&label=PyPI%20Package\" alt=\"Package version\">\r\n</a>\r\n<a href=\"(https://www.python.org\" target=\"_blank\">\r\n    <img src=\"https://img.shields.io/badge/Python-%5B%3E%3D3.8%2C%3C%3D3.11%5D-orange\" alt=\"Python\">\r\n</a>\r\n</p>\r\n\r\n\r\n---\r\n\r\n# About us\r\n\r\n* <a href=\"http://logyca.com\" target=\"_blank\">LOGYCA Company</a>\r\n* <a href=\"https://www.youtube.com/channel/UCzcJtxfScoAtwFbxaLNnEtA\" target=\"_blank\">LOGYCA Youtube Channel</a>\r\n* <a href=\"https://www.linkedin.com/company/logyca\" target=\"_blank\"><img src=\"https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white\" alt=\"Linkedin\"></a>\r\n* <a href=\"https://twitter.com/LOGYCA_Org\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Twitter-1DA1F2?style=for-the-badge&logo=twitter&logoColor=white\" alt=\"Twitter\"></a>\r\n* <a href=\"https://www.facebook.com/OrganizacionLOGYCA/\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Facebook-1877F2?style=for-the-badge&logo=facebook&logoColor=white\" alt=\"Facebook\"></a>\r\n\r\n---\r\n\r\n# LOGYCA public libraries\r\n\r\n* **Traversal libraries**: Standard methods to be used by microservices.\r\n* **Return codes**: Standard methods for reporting result status codes using APIResult.\r\n* **Monitoring**: Standard methods to report check health status codes.\r\n* **Helpers**: Standard methods to be used. *\r\n\r\n[Source code](https://github.com/logyca/python-libraries/tree/main/logyca)\r\n| [Package (PyPI)](https://pypi.org/project/logyca/)\r\n| [Samples](https://github.com/logyca/python-libraries/tree/main/logyca/samples)\r\n| [Unit tests](https://github.com/logyca/python-libraries/tree/main/logyca/tests)\r\n\r\n---\r\n\r\n---\r\n\r\n# \"pip install\" dependency check\r\nThe user must select the required libraries and versions for the project that uses this library, which validates that they are pre-installed in order to be installed.\r\n\r\nTo install the libraries of the logyca package (APIResult,Health) verifying the pydantic,pytz prerequisite without validating other packages, use the following command:\r\n\r\n```Python\r\n# Check pydantic dependency that is installed\r\npip install logyca\r\n```\r\n\r\nTo install the fastapi package libraries and logyca authentication dependency injection, use the following command:\r\n\r\n```Python\r\n# Check the aiohttp dependency that is installed, for use with oauth authentication, e.g. single sign-on (SSO).\r\npip install logyca[oauth_token]\r\n# Check the fastapi dependency that is installed, for use with Api-key authentication.\r\npip install logyca[api_key_simple_auth]\r\n# Check the fastapi dependency that is installed, for use with Api-key and oauth authentication.\r\npip install logyca[oauth_token-api_key_simple_auth]\r\n```\r\n\r\n---\r\n\r\n# Semantic Versioning\r\n\r\nlogyca < MAJOR >.< MINOR >.< PATCH >\r\n\r\n* **MAJOR**: version when you make incompatible API changes\r\n* **MINOR**: version when you add functionality in a backwards compatible manner\r\n* **PATCH**: version when you make backwards compatible bug fixes\r\n\r\n## Definitions for releasing versions\r\n* https://peps.python.org/pep-0440/\r\n\r\n    - X.YaN (Alpha release): Identify and fix early-stage bugs. Not suitable for production use.\r\n    - X.YbN (Beta release): Stabilize and refine features. Address reported bugs. Prepare for official release.\r\n    - X.YrcN (Release candidate): Final version before official release. Assumes all major features are complete and stable. Recommended for testing in non-critical environments.\r\n    - X.Y (Final release/Stable/Production): Completed, stable version ready for use in production. Full release for public use.\r\n\r\n# Quick install\r\n\r\n```console\r\n# Windows\r\npython -m pip install logyca\r\n# Linux\r\npip install logyca\r\n```\r\n\r\n---\r\n\r\n# Example of concepts using library APIResult\r\n\r\n```python\r\n# Example output from ApiResult:\r\nresult={\r\n  \"resultToken\": {\r\n    \"token\": \"\",\r\n    \"refreshToken\": \"\",\r\n    \"result\": \"\",\r\n    \"emailActiveDirectory\": \"\",\r\n    \"message\": \"\"\r\n  },\r\n  \"resultObject\": [\r\n    {\r\n      \"name\": \"Database server\",\r\n      \"status\": 0,\r\n      \"description\": \"Connection status fine\"\r\n    },\r\n    {\r\n      \"name\": \"Redis server\",\r\n      \"status\": 0,\r\n      \"description\": \"Connection status fine\"\r\n    }\r\n  ],\r\n  \"apiException\": {\r\n    \"message\": \"\",\r\n    \"isError\": false,\r\n    \"detail\": null,\r\n    \"status\": 200,\r\n    \"logycaStatus\": 0\r\n  },\r\n  \"resultMessage\": \"\",\r\n  \"dataError\": false\r\n}\r\n```\r\n\r\n## Use cases: you must catch de exception\r\n\r\n1. if you get data only the token:\r\n```json\r\n{\r\n\"dataError\":false,\r\n\"resultObject\":null,\r\n\"resultToken\":\"Not Null\"\r\n}\r\n```\r\n\r\n2. if you get data correctly\r\n```json\r\n{\r\n\"dataError\":false,\r\n\"resultObject\"=\"Not Null\"\r\n\"resultToken\"=null\r\n}\r\n```\r\n\r\n3. if you don't get because the operation was cancelled\r\n```json\r\n{\r\n\"dataError\":true,\r\n\"resultObject\":null,\r\n\"resultToken\":null,\r\n\"apiException.logycaStatus\":1,\r\n\"apiException.status\"=404,\r\n\"resultMessage\":\"exception messages: the operation was cancelled\"\r\n}\r\n```\r\n[optional]apiException.message=\"if needed, return an object with structured failure data other than exception messages\"\r\n\r\n\r\n# Example of using library APIResult + Health Check\r\n\r\n```python\r\nfrom fastapi.encoders import jsonable_encoder\r\nfrom logyca import HealthEnum, LogycaStatusEnum, APIResultDTO, ApiFilterExceptionDTO, HTTPExceptionDTO, HealthDTO, TokensDTO\r\nfrom starlette.responses import JSONResponse\r\nimport json\r\n\r\ndef example_service():\r\n    tokensDTO=TokensDTO()\r\n    tokensDTO.token='Token Example'\r\n\r\n    apiFilterExceptionDTO=ApiFilterExceptionDTO()\r\n    apiFilterExceptionDTO.isError=False\r\n    apiFilterExceptionDTO.logycaStatus=int(LogycaStatusEnum.Already_Exists)\r\n    apiFilterExceptionDTO.status=int(LogycaStatusEnum.Already_Exists.mappingHttpStatusCode)\r\n\r\n    httpExceptionDTO=HTTPExceptionDTO()\r\n    httpExceptionDTO.detail='No Problem'\r\n\r\n    listHealth=[]\r\n\r\n    listHealth.append(HealthDTO(name='Check CPU',status=HealthEnum.Ok,description='OK').__dict__)\r\n    listHealth.append(HealthDTO(name='Check Connect DB',status=HealthEnum.Warning,description='Warning').__dict__)\r\n    listHealth.append(HealthDTO(name='Check Connect Storage',status=HealthEnum.Critical,description='Critical').__dict__)\r\n\r\n    apiResultDTO=APIResultDTO()\r\n    apiResultDTO.resultMessage=httpExceptionDTO.detail\r\n    apiResultDTO.resultObject=listHealth\r\n    apiResultDTO.dataError=False\r\n    apiResultDTO.resultToken=tokensDTO\r\n    apiResultDTO.apiException=apiFilterExceptionDTO\r\n\r\n    return apiResultDTO\r\n\r\ndef simulator_api_return():\r\n    apiResultDTO = example_service()\r\n    content = jsonable_encoder(apiResultDTO)\r\n    print((json.dumps(content,indent=4)))\r\n    return JSONResponse(content=content,status_code=200)\r\n\r\nsimulator_api_return()\r\n\r\n# output sample\r\n  #\r\n  # {\r\n  #     \"resultToken\": {\r\n  #         \"token\": \"Token Example\",\r\n  #         \"refreshToken\": \"\",\r\n  #         \"result\": \"\",\r\n  #         \"emailActiveDirectory\": \"\",\r\n  #         \"message\": \"\"\r\n  #     },\r\n  #     \"resultObject\": [\r\n  #         {\r\n  #             \"name\": \"Check CPU\",\r\n  #             \"status\": 0,\r\n  #             \"description\": \"OK\"\r\n  #         },\r\n  #         {\r\n  #             \"name\": \"Check Connect DB\",     \r\n  #             \"status\": 1,\r\n  #             \"description\": \"Warning\"        \r\n  #         },\r\n  #         {\r\n  #             \"name\": \"Check Connect Storage\",\r\n  #             \"status\": 2,\r\n  #             \"description\": \"Critical\"       \r\n  #         }\r\n  #     ],\r\n  #     \"apiException\": {\r\n  #         \"message\": \"\",\r\n  #         \"isError\": false,\r\n  #         \"detail\": null,\r\n  #         \"status\": 409,\r\n  #         \"logycaStatus\": 6\r\n  #     },\r\n  #     \"resultMessage\": \"No Problem\",\r\n  #     \"dataError\": false\r\n  # }\r\n\r\n```\r\n\r\n---\r\n\r\n# Example of using helpers\r\n\r\n```python\r\nfrom logyca import buildUrl,convertDateTimeStampUTCtoUTCColombia\r\n\r\nurl1='https://domain.com'\r\nurl2='api/get'\r\nprint(f'buildUrl={buildUrl(url1,url2)}')\r\n# ouput\r\n# buildUrl=https://domain.com/api/get\r\n\r\ndatetimestampUTC=1679729109\r\nprint(f'datetimeUTCColombia={convertDateTimeStampUTCtoUTCColombia(datetimestampUTC)}')\r\n# output\r\n# datetimeUTCColombia=2023-03-25 02:25:09-05:00\r\n```\r\n\r\n---\r\n\r\n# Example of using Logger\r\nAt the root of the project, the logs folder is created and the types of errors are differentiated by different files.\r\n```python\r\n\r\n# main.py\r\nfrom logyca import Logger, ConstantsLogger\r\nlogger = Logger(logger_name=ConstantsLogger.NAME,log_dir=FOLDER_LOGS,log_file_name=f\"{App.Settings.NAME}\")\r\nlogger.info(f\"message\")\r\n\r\n# Other files.py\r\nfrom logyca import Logger, ConstantsLogger\r\nimport logging\r\nlogger = logging.getLogger(ConstantsLogger.NAME)\r\n\r\nlogger.info(f\"message\")\r\nlogger.error(f\"message\")\r\n\r\n```\r\n---\r\n\r\n# Current library test\r\n\r\n```console\r\n# Library installation\r\n\r\n# Windows\r\npython -m pip install logyca[test]\r\n# Linux\r\npip install logyca\r\n\r\n# Run it\r\npytest -s\r\n```\r\n\r\n---\r\n\r\n# Changelog\r\n\r\nAll notable changes to this project will be documented in this file.\r\n\r\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),\r\nand this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).\r\n\r\n## Types of changes\r\n\r\n- Added for new features.\r\n- Changed for changes in existing functionality.\r\n- Deprecated for soon-to-be removed features.\r\n- Removed for now removed features.\r\n- Fixed for any bug fixes.\r\n- Security in case of vulnerabilities.\r\n\r\n## [0.1.9] - 2024-05-21\r\n### Added\r\n- New logger functionality.\r\n- new authentication functionality in fastapi by dependency injection with api-key, to be used on endpoints.\r\n- new authentication functionality in fastapi by dependency injection with oauth (single sign on), to be used on endpoints.\r\n- In the samples folder of this library, there are complete working examples of using the code.\r\n\r\n## [0.1.8] - 2023-10-03\r\n### Fixed\r\n- Due to a link error in the readme to internal documents in pypi, we chose to leave the changelog at the end of the readme. \r\n\r\n## [0.1.7] - 2023-10-02\r\n### Fixed\r\n- The url address for the logyca logo is corrected\r\n- Adjust return code for LogycaStatusEnum class: LogycaStatusEnum.Created==HTTPStatus.CREATED\r\n- Adjust return code for LogycaStatusEnum class: LogycaStatusEnum.InProcess==HTTPStatus.ACCEPTED\r\n- Adjust return code for LogycaStatusEnum class: LogycaStatusEnum.Partial==HTTPStatus.ACCEPTED\r\n- Empty files __init__.py removed\r\n\r\n## [0.1.6] - 2023-09-11\r\n### Fixed\r\n- Pydantic restriction for versions lower than 2.0 is removed\r\n\r\n## [0.1.5] - 2023-03-27\r\n### Added\r\n- Release ready for production\r\n\r\n## [0.1.6-9] - 2024-5-21<\r\n### Added\r\n- new features such as: logging, helpers for fastapi\r\n\r\n## [0.1.10] - 2024-05-23\r\n### Added\r\n- Documentation improvements.\r\n- Documentation integrated with github\r\n\r\n## [0.1.11] - 2024-05-24\r\n### Deprecated\r\n- add print info deprecated in convert_string_to_boolean()\r\n### Added\r\n- new parse_bool() function that will replace convert_string_to_boolean()\r\n\r\n## [0.1.12-13] - 2024-06-13\r\n### Fixed\r\n- Oauth fix\r\n\r\n## [0.1.13] - 2024-06-20\r\n### Added\r\n- New Logger feature to rotate backup logs and allow them to be written.\r\n\r\n## [0.1.14] - 2024-07-02\r\n### Added\r\n- New APIResultDTOExternal feature to Scheme output\r\n\r\n## [0.1.15] - 2024-07-05\r\n### Fixed\r\n- Updated LogycaStatusEnum for starlette library use\r\n- Correction of exception handlers.\r\n\r\n## [0.1.16] - 2024-07-12\r\n### Added\r\n- For object classes like APIResultDTO and others, the to_dict() function is added to be able to serialize the attributes to json in a simple way.\r\n- Added object serialization example.\r\n\r\n## [0.1.17] - 2024-07-22\r\n### Fixed\r\n- APIResultDTO fixes the data=False error external of the __init__ constructor.\r\n\r\n## [0.1.18] - 2024-08-16\r\n### Fixed\r\n- Example of auth apkey with dockerfile and dependencies that were missing when installing the library is added.\r\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "This package name is reserved by LOGYCA company",
    "version": "0.1.18",
    "project_urls": {
        "Homepage": "https://github.com/logyca/python-libraries/tree/main/logyca"
    },
    "split_keywords": [
        "api result",
        " result dto",
        " result scheme"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8857656075867849f2fe5705eeaf4cc2441ae2fb1ab7f381d0f3ce627c369f1a",
                "md5": "b76d68769aa43f5ea49185c0d912208c",
                "sha256": "f0f3639ecf40ff2a762c4a824791d1e6e244d3381a2d3efe94466102a3c5e893"
            },
            "downloads": -1,
            "filename": "logyca-0.1.18-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b76d68769aa43f5ea49185c0d912208c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 23192,
            "upload_time": "2024-08-17T01:18:00",
            "upload_time_iso_8601": "2024-08-17T01:18:00.959792Z",
            "url": "https://files.pythonhosted.org/packages/88/57/656075867849f2fe5705eeaf4cc2441ae2fb1ab7f381d0f3ce627c369f1a/logyca-0.1.18-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e7e25033288110637fa1ec7fc8ebec4dca22ddcb9ba8c7b2f606975bc848e776",
                "md5": "a1317b56ea09aba715abeb8bf12cd21a",
                "sha256": "fc6baf033c8940ba448ae81d35000a3f2c7887c9f9b8d1ddef3966d5fe7a66fb"
            },
            "downloads": -1,
            "filename": "logyca-0.1.18.tar.gz",
            "has_sig": false,
            "md5_digest": "a1317b56ea09aba715abeb8bf12cd21a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 22053,
            "upload_time": "2024-08-17T01:18:02",
            "upload_time_iso_8601": "2024-08-17T01:18:02.375459Z",
            "url": "https://files.pythonhosted.org/packages/e7/e2/5033288110637fa1ec7fc8ebec4dca22ddcb9ba8c7b2f606975bc848e776/logyca-0.1.18.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-17 01:18:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "logyca",
    "github_project": "python-libraries",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "logyca"
}
        
Elapsed time: 0.64065s