LogiTyme


NameLogiTyme JSON
Version 0.0.5 PyPI version JSON
download
home_pagehttps://github.com/lmas3009/LogiTyme
SummaryLogiTyme is a Python package used to track the time spent on each function, custom functions, and the entire Python Program.
upload_time2024-06-18 06:13:16
maintainerNone
docs_urlNone
authorAravind Kumar Vemula
requires_python>=3.9
licenseNone
keywords logging analyzing
VCS
bugtrack_url
requirements terminaltables
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
<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]&#40;https://github.com/lmas3009/LogiTyme/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions/badge.svg&#41;]&#40;https://github.com/lmas3009/LogiTyme/actions/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions.yml&#41;)
[![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]&#40;https://github.com/lmas3009/LogiTyme/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions/badge.svg&#41;]&#40;https://github.com/lmas3009/LogiTyme/actions/workflows/Check%20Python%20Package%20Compatiblity%20in%20all%20versions.yml&#41;)\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"
}
        
Elapsed time: 0.27625s