Skip to main content

A library containing common functions developers used to write repetitevly

Project description

Utility Library

A collection of utility functions for file operations, text processing, AI, and machine learning, designed to streamline common tasks in PyTorch projects.

Features

  • Load and save JSON and YAML files.
  • Text processing utilities including tokenization and normalization.
  • Device management for PyTorch (CPU, CUDA, or MPS).
  • Similarity computation for embeddings using cosine similarity.
  • Utility functions for data manipulation such as moving averages, safe division, and flattening dictionaries.

Installation

You can install the library via pip:

pip install FuncHub

Usage

File Operations

Load YAML File

from pytorch_utility_library import open_yaml

config = open_yaml('config.yaml', key='model')

Load JSON File

from pytorch_utility_library import open_json

data = open_json('data.json')

Save Data to JSON

from pytorch_utility_library import dump_to_json

dump_to_json('output.json', data)

Save Text to File

from pytorch_utility_library import dump_to_text

dump_to_text('Hello, World!', 'output/hello.txt')

Text Processing

Tokenize Text

from pytorch_utility_library import tokenize

tokens = tokenize("Hello, how are you?")

Normalize Text

from pytorch_utility_library import normalize_text

normalized = normalize_text("  Hello,   How Are You?  ")

AI and Machine Learning

Get Device

from pytorch_utility_library import get_device

device = get_device()
print(f"Using device: {device}")

Compute Cosine Similarity

from pytorch_utility_library import compute_similarity

similarity = compute_similarity(embedding1, embedding2)

Utility Functions

Calculate Moving Average

from pytorch_utility_library import moving_average

averages = moving_average([1, 2, 3, 4, 5], window_size=3)

Flatten a Nested Dictionary

from pytorch_utility_library import flatten_dict

flat_dict = flatten_dict({'a': {'b': 1, 'c': 2}, 'd': 3})

Logging

The library uses a custom logger for error and information logging. Make sure to configure the logger in your application as needed.

Contributing

Contributions are welcome!

License

This project is licensed under the MIT License - see the LICENSE file 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

funchub-0.1.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

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

FuncHub-0.1.1-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file funchub-0.1.1.tar.gz.

File metadata

  • Download URL: funchub-0.1.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for funchub-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4063192f1a40cc534ac0504a7808b9dee7ff9a3c6699caa66a5fca41a4f6128a
MD5 f65c2c51380d76bc164a27b6bb20158e
BLAKE2b-256 9dc0b19902dbbda39833d6e53e0bf6c1b8abc9fcf64b47fdc15df01d943988fa

See more details on using hashes here.

File details

Details for the file FuncHub-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: FuncHub-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for FuncHub-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5ac1904cadb7cf0e0caad332e98452ec9c3256d4b4cc21b8e13b0bff9a57de05
MD5 2be18eba04abd2ef03170f029fd4456a
BLAKE2b-256 d37345a1cbae3d6dcf5db1e5d3197f4faf856d0a142546264747e5b01856aa15

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