Metadata-Version: 2.1
Name: penut
Version: 0.0.2
Summary: This is a collection of my useful functions.
Home-page: https://github.com/penut85420/Penut
Author: PenutChen
Author-email: penut85420@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown

# Penut

![GitHub Release](https://img.shields.io/github/v/release/penut85420/penut?style=for-the-badge)
![PyPI Release](https://img.shields.io/pypi/v/penut?style=for-the-badge)
![Python Version](https://img.shields.io/pypi/pyversions/penut?style=for-the-badge)
![PyPI Downloads](https://img.shields.io/pypi/dm/penut?style=for-the-badge)
![License](https://img.shields.io/pypi/l/penut?style=for-the-badge)

## Introduction
+ This package is a collection of my useful functions, including some useful IO operations.

## Installation
+ You can install this package through pip:
  ```bash
  $ pip install penut
  ```

## Usage
+ Easily load or dump and json/pkl/csv/npy file:
  ```python
  import penut.io as pio

  data = pio.load('data.json')
  data = pio.load('data.pkl')
  data = pio.load('data.csv')
  data = pio.load('data.npy')

  pio.dump(data, 'data.json')
  pio.dump(data, 'data.pkl')
  pio.dump(data, 'data.csv')
  pio.dump(data, 'data.npy')
  ```
+ Easily measure the execution time of code:
  ```python
  import time
  from penut import TimeCost

  with TimeCost('Sleep Time'):
      time.sleep(1)
  # Output: Sleep Time: 1.000262s

  # With custom format
  fmt = lambda msg, tts: f'Hello {msg}, you cost {tts:.2f}s!!'
  with TimeCost('Custom Format', verbose_fmt=fmt):
      time.sleep(1)
  # Output: Hello Custom Format, you cost 1.00s!!
  ```
+ Easily convert `datetime.timedelta` to string:
  ```python
  from penut import td2s
  from datetime import datetime

  a = datetime(2021, 1, 6, 11, 32, 23)
  b = datetime(2021, 1, 7, 12, 38, 17)
  d = b - a

  print(td2s(d)) # 62:17:54

  fmt = lambda h, m, s: f'{h}h{m}m{s}s'
  print(td2s(d, fmt)) # 62h17m54s
  ```

