Skip to main content

A pacakge that allows the user to record and print out neatly the runtime of function and also the entire program.

Project description

CI/CD

Runtime Ponyo

alexh212- Alex Hmitti

as13909 - Aaron Stein

Rafinator123 - Rafael Nadal-Scala

jk021227 - Jhon Kim

Times the execution of functions while providing users to save and display recorded runtimes.

Installation

Import the provided functions from main.py into your Python script. from package_main.main import *

Functionalities

@tracker When this decorator is applied to a function, Runtime Ponyo begins to time that functions execution.

@tracker_print When this decorator is applied to a function, Runtime Ponyo begins to time that functions execution and displays the runtime upon completion.

'print_all_runtimes()' All runtimes recorded are displayed.

This only print the runtimes of functions that have been completed and tracked prior to the call of this function.

save_to_file(file.txt) This function saves the recorded runtimes to a specified file. If the file doesn't exist, it will be created with the given name, and the runtime data will be written to it.

'entire_runtime()' Calculates and prints the total runtime of the entire program.

Usage

  • To use @tracker_print, apply the decorator to a function.
@tracker
def  example_function():
	for  i  in  range(1000):
		i  +=  1
  • To use @tracker_print, apply the decorator to a function.
@tracker_print
def  example_function():
	for  i  in  range(1000):
		i  +=  1
  • Insert the print_all_runtimes() function at the desired location in your program to use it.
analyzed_data  = complex_data_analysis(pd.concat(processed_chunks))

print_all_runtimes() # Track and print function runtimes

log_operations(datetime.now())
print(f"Analyzed Data: \n{analyzed_data}")
  • Insert the save_to_file() function at the desired location in your program to use it.
with ThreadPoolExecutor(max_workers=4) as  executor:
	future_to_chunk  = {executor.submit(advanced_data_transformation, chunk): chunk  for  chunk  in  chunks}


save_to_file(my_runtimes.txt) # Save recorded runtimes to a specified file

processed_data  = [future.result() for  future  in  future_to_chunk]
  • Insert the 'entire_runtime()' function at the desired location in your program to use it.
data  = np.random.exponential(scale=1.0, size=(1000, 2))
df  = pd.DataFrame(data, columns=['id', 'values'])

chunks  = np.array_split(df, 4)

entire_runtime() # Print the total runtime of the program

Contributing

Here are the steps you need to take if you would like to contribute to the project.

  1. Fork and Clone the project repository

  2. Install pipenv if not already.

  3. Use pipenv to install all necessary development dependencies. pipenv install --dev

  4. Set up a new virtual environment using Python. python -m venv env

  5. Import the main package and the specific functions you wish to test into your test file (_tests.py located in package/tests).

  6. Execute your tests using pytest within the pipenv environment

Development Policy

  • Python 2/3 compatibility
  • PEP8-compliance (with exceptions)
  • Tests should be passing

Package Link in PyPI

https://pypi.org/project/runtimeponyo/

A little exercise to create a Python package, build it, test it, distribute it, and use it. See instructions for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

runtimeponyo-0.0.2.tar.gz (41.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

runtimeponyo-0.0.2-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file runtimeponyo-0.0.2.tar.gz.

File metadata

  • Download URL: runtimeponyo-0.0.2.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for runtimeponyo-0.0.2.tar.gz
Algorithm Hash digest
SHA256 2fa4d5972515eca5a03edb185eb86bebec87db6cdc4c479ef11d2d5c5481a74a
MD5 0135410490627c0d01f0af2c3c951c30
BLAKE2b-256 20c2ffce2faa2e46b975bb446de5db938ab243aa8619f34c15ed074b84985e1a

See more details on using hashes here.

File details

Details for the file runtimeponyo-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: runtimeponyo-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for runtimeponyo-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 00cb882b18bbcb90d07f57e372e324e30dee86d3bff1123b722a3785b7436de7
MD5 5136bcabb9b6f8841fd14b92dd11225a
BLAKE2b-256 cc4a58043cd9263a5b307d7e1f1d2b095572ad00b1e4c444a63b1e90d8af0820

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page