Skip to content

This repo contains all the scripts/module that I have written and useful for other projects as well.

License

Notifications You must be signed in to change notification settings

connectwithprakash/pibrary

Repository files navigation

Pibrary

Pibrary framework: A package of reusable code for ML projects

Test Documentation Status Package version Supported Python versions License: MIT

Installation

pip install pibrary

Features

  • File Class: Read and write files in csv, json, and pickle formats.
  • String Class: String manipulation functions.
  • LoguruPro Class: Loguru logger with additional features.
    • Timeit Decorator: Decorator to measure the execution time of a function.
    • Log Table Method: Print a table in the log.

Usage

from pibrary.file import File
from pibrary.loguru import logger
from pibrary.string import String

# File Class
dataframe = File(file_path).read().csv()
File(file_path).write(dataframe).csv()

json_data = File(file_path).read().json()
File(file_path).write(json_data).csv()

pickle_data = File(file_path).read().pickle()
File(file_path).write(pickle_data).csv()

# Logger
@logger.timeit
def some_function(...):
    ...

data = [
    ["Item 1", "Value 1", "Description 1", "Extra 1"],
    ["Item 2", "Value 2", "Description 2", "Extra 2"],
    ["Item 3", "Value 3", "Description 3", "Extra 3"],
    ["Item 4", "Value 4", "Description 4", "Extra 4"],
]
# Log the timing data as a table
logger.log_table(data)

# String Class
new_text = String(text).lower().remove_digits().remove_punctuation().strip()

Documentation

The full documentation of Pibrary is available at https://pibrary.readthedocs.io/en/latest/.

Contributing

Contributions are welcome! Please read CONTRIBUTING for details on how to contribute to this project.

License

This project is licensed under the terms of the MIT license.

About

This repo contains all the scripts/module that I have written and useful for other projects as well.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published