<h1 align="center">LogiTyme</h1>
<p align="center">A Python handler for <a href="https://github.com/lmas3009/LogiTyme"><i>logityme</i></a>.</p>
[//]: # ([![python compatibility](https://github.com/lmas3009/LogiTyme/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions/badge.svg)](https://github.com/lmas3009/LogiTyme/actions/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions.yml))
[![python version](https://img.shields.io/badge/Works_With_Python-3.9,%203.10,%203.11-orange)](https://github.com/lmas3009/LogiTyme/actions/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions.yml)
---
LogiTyme is a Python package used to track the time spent on each function, custom functions, and the entire Python Program
- Python package repo link: https://pypi.org/project/LogiTyme/
# *Installation Process*:
1. Install LogiTyme via pip:
To install the LogiTyme package, use the following pip command
```bash
pip install LogiTyme
```
3. Verifify the Installation:
After installation, you can verify it by importing LogiTyme in a python script
```bash
import LogiTyme
print(LogiTyme.__version__)
```
# *Usage*
Simple example on how to use:
```bash
from LogiTyme import LogiTyme
logityme = LogiTyme(env="local")
logityme.StartReport()
def slow_function(n):
result = 0
for i in range(n):
for j in range(n):
result += i*j
print(result)
return result
slow_function(500)
logityme.LogiFuncStart(name="for-loop")
re = 0
for i in range(500):
for j in range(500):
re += i * j
print(re)
logityme.LogiFuncEnd()
logityme.GenerateReport()
```
**_Resulted Output:_**
```text
Performance Analysis
1. Introduction:
This report presents the findings of performance analysis conducted on the python program 'test_main.py'. This purpose of the analysis is to give insights of time consumed by the program and provide recommendations for optimizing the programs's performance
2. Methodolgy:
The program was profiled using cprofile mmodile to collect data on exection time. The collected data was analyzed to identify functions consuming the most time.
3. Results:
- Started the program at: 2024-06-14 14:25:01.708068
- Ended the program at: 2024-06-14 14:25:07.886945
- Total Execution Time: 6.179 seconds
- memory consumed: 0.0203MB
4. Functions Results:
+---------------+---------------+
| Function Name | Time Consumed |
+---------------+---------------+
| slow_function | 3.024 secs |
| for-loop | 2.65 secs |
+---------------+---------------+
5. inBuilt-functions Time-Consumed Report:
+----------------------------------+---------------+
| Function Name | Time Consumed |
+----------------------------------+---------------+
| <built-in method builtins.print> | 5.253 secs |
| <built-in method nt.stat> | 0.001 secs |
+----------------------------------+---------------+
6. Environment Suggestions:
- Short tasks (less than 5 minutes):
-- GCP (Cloud Functions, Compute Engine, GKE, Cloud Run) or AWS (Lambda, EC2, ECS, Step Function, Glue):
Both are well-suited for tasks that complete quickly.
-- Azure Functions (Consumption Plan, VM, AKS, Container Instances):
Good choice for short tasks
7. Code Optimization:
+---------------+---------------+
| Function Name | Time Consumed |
+---------------+---------------+
| slow_function | 3.024 secs |
| for-loop | 2.65 secs |
+---------------+---------------+
The above function "slow_function" is in the 1 position for having highest amount of time in the entire program. Since the function took 3.024 secs is less then 300 seconds (i.e < 5 mins). The function is quite optimized
The above function "for-loop" is in the 2 position for having highest amount of time in the entire program. Since the function took 2.65 secs is less then 300 seconds (i.e < 5 mins). The function is quite optimized
8. Conclusion:
The analysis revealed areas for potential optimization in the Python program 'test_main.py'. By implementing the recommendations outlined in this report, the program's performance can be improved, leading to better overall efficency
```
# _Release Version_
- **```0.0.2 / 0.0.3 / 0.0.4 / 0.0.5```**
- Launching LogiTyme
- Functions Included:
- **StartReport:** _used to start the process of logging the time for you python program._
- **GenerateReport:** _used to end the logging process and generate a report based on each function used in the code.
Now this will start process the logged data and generate a report based on the time spent in each function used in your code.
The generated report will provide insights into the performance if different functions_
- env To run the code in local machine or in cloud machine
- env = "local" / "cloud"
- **LogiFuncStart & LogiFuncEnd:** _used to log time for custom code._
# *Creator Information*:
- Created By: Aravind Kumar Vemula
- Twitter: https://x.com/AravindKumarV09
- Github: https://github.com/lmas3009
Raw data
{
"_id": null,
"home_page": "https://github.com/lmas3009/LogiTyme",
"name": "LogiTyme",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "logging, analyzing",
"author": "Aravind Kumar Vemula",
"author_email": "<30lmas09@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/7c/52/80e4d2120510b019a3222664613dad5879ce78c536682f3205f1c2f9d7cc/logityme-0.0.5.tar.gz",
"platform": null,
"description": "\n<h1 align=\"center\">LogiTyme</h1>\n<p align=\"center\">A Python handler for <a href=\"https://github.com/lmas3009/LogiTyme\"><i>logityme</i></a>.</p>\n\n[//]: # ([![python compatibility](https://github.com/lmas3009/LogiTyme/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions/badge.svg)](https://github.com/lmas3009/LogiTyme/actions/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions.yml))\n[![python version](https://img.shields.io/badge/Works_With_Python-3.9,%203.10,%203.11-orange)](https://github.com/lmas3009/LogiTyme/actions/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions.yml)\n\n---\n\nLogiTyme is a Python package used to track the time spent on each function, custom functions, and the entire Python Program\n\n- Python package repo link: https://pypi.org/project/LogiTyme/\n\n\n# *Installation Process*:\n1. Install LogiTyme via pip:\nTo install the LogiTyme package, use the following pip command\n ```bash\n pip install LogiTyme\n ```\n3. Verifify the Installation:\nAfter installation, you can verify it by importing LogiTyme in a python script\n ```bash\n import LogiTyme\n print(LogiTyme.__version__)\n ```\n\n\n# *Usage*\n\nSimple example on how to use:\n```bash\nfrom LogiTyme import LogiTyme\n\nlogityme = LogiTyme(env=\"local\")\n\nlogityme.StartReport()\n\ndef slow_function(n):\n result = 0\n for i in range(n):\n for j in range(n):\n result += i*j\n print(result)\n\n return result\nslow_function(500)\n\nlogityme.LogiFuncStart(name=\"for-loop\")\nre = 0\nfor i in range(500):\n for j in range(500):\n re += i * j\n print(re)\nlogityme.LogiFuncEnd()\n\nlogityme.GenerateReport()\n```\n\n**_Resulted Output:_**\n```text\nPerformance Analysis\n\n1. Introduction:\n\tThis report presents the findings of performance analysis conducted on the python program 'test_main.py'. This purpose of the analysis is to give insights of time consumed by the program and provide recommendations for optimizing the programs's performance\n\n2. Methodolgy:\n\tThe program was profiled using cprofile mmodile to collect data on exection time. The collected data was analyzed to identify functions consuming the most time.\n\n3. Results:\n\t- Started the program at: 2024-06-14 14:25:01.708068\n\t- Ended the program at: 2024-06-14 14:25:07.886945\n\t- Total Execution Time: 6.179 seconds\n\t- memory consumed: 0.0203MB\n\n4. Functions Results:\n+---------------+---------------+\n| Function Name | Time Consumed |\n+---------------+---------------+\n| slow_function | 3.024 secs |\n| for-loop | 2.65 secs |\n+---------------+---------------+\n\n5. inBuilt-functions Time-Consumed Report:\n+----------------------------------+---------------+\n| Function Name | Time Consumed |\n+----------------------------------+---------------+\n| <built-in method builtins.print> | 5.253 secs |\n| <built-in method nt.stat> | 0.001 secs |\n+----------------------------------+---------------+\n\n6. Environment Suggestions:\n\t- Short tasks (less than 5 minutes):\n\t\t-- GCP (Cloud Functions, Compute Engine, GKE, Cloud Run) or AWS (Lambda, EC2, ECS, Step Function, Glue): \n\t\t\t Both are well-suited for tasks that complete quickly.\n\t\t-- Azure Functions (Consumption Plan, VM, AKS, Container Instances):\n\t\t\t Good choice for short tasks\n\n7. Code Optimization:\n+---------------+---------------+\n| Function Name | Time Consumed |\n+---------------+---------------+\n| slow_function | 3.024 secs |\n| for-loop | 2.65 secs |\n+---------------+---------------+\nThe above function \"slow_function\" is in the 1 position for having highest amount of time in the entire program. Since the function took 3.024 secs is less then 300 seconds (i.e < 5 mins). The function is quite optimized \nThe above function \"for-loop\" is in the 2 position for having highest amount of time in the entire program. Since the function took 2.65 secs is less then 300 seconds (i.e < 5 mins). The function is quite optimized \n\n8. Conclusion:\n\tThe analysis revealed areas for potential optimization in the Python program 'test_main.py'. By implementing the recommendations outlined in this report, the program's performance can be improved, leading to better overall efficency\n```\n\n\n# _Release Version_\n- **```0.0.2 / 0.0.3 / 0.0.4 / 0.0.5```**\n - Launching LogiTyme\n - Functions Included:\n - **StartReport:** _used to start the process of logging the time for you python program._\n - **GenerateReport:** _used to end the logging process and generate a report based on each function used in the code.\n Now this will start process the logged data and generate a report based on the time spent in each function used in your code.\n The generated report will provide insights into the performance if different functions_\n - env To run the code in local machine or in cloud machine\n - env = \"local\" / \"cloud\" \n - **LogiFuncStart & LogiFuncEnd:** _used to log time for custom code._\n\n\n# *Creator Information*:\n- Created By: Aravind Kumar Vemula\n- Twitter: https://x.com/AravindKumarV09\n- Github: https://github.com/lmas3009\n\n",
"bugtrack_url": null,
"license": null,
"summary": "LogiTyme is a Python package used to track the time spent on each function, custom functions, and the entire Python Program.",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://github.com/lmas3009/LogiTyme"
},
"split_keywords": [
"logging",
" analyzing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "4a45b6c5a209017949bde4eaedaefe97a15535d67f50222167e2564f03a356dd",
"md5": "12f124c75220c7e73eac4d7c735d90d4",
"sha256": "ae8c119162dccb8a09ef3b886580b6a85121a65484165aa4f0b53faf726c2b6e"
},
"downloads": -1,
"filename": "LogiTyme-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "12f124c75220c7e73eac4d7c735d90d4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 7478,
"upload_time": "2024-06-18T06:13:12",
"upload_time_iso_8601": "2024-06-18T06:13:12.339724Z",
"url": "https://files.pythonhosted.org/packages/4a/45/b6c5a209017949bde4eaedaefe97a15535d67f50222167e2564f03a356dd/LogiTyme-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7c5280e4d2120510b019a3222664613dad5879ce78c536682f3205f1c2f9d7cc",
"md5": "9c0450c1592e15367c0bb9ee4a8e4e8d",
"sha256": "19f9431ae659b83c0e8f7b4b85a23e274af957f0d16de0942fef46d1bb861c27"
},
"downloads": -1,
"filename": "logityme-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "9c0450c1592e15367c0bb9ee4a8e4e8d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 6743,
"upload_time": "2024-06-18T06:13:16",
"upload_time_iso_8601": "2024-06-18T06:13:16.464509Z",
"url": "https://files.pythonhosted.org/packages/7c/52/80e4d2120510b019a3222664613dad5879ce78c536682f3205f1c2f9d7cc/logityme-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-18 06:13:16",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "lmas3009",
"github_project": "LogiTyme",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "terminaltables",
"specs": [
[
"==",
"3.1.10"
]
]
}
],
"lcname": "logityme"
}