MoreUtilspy
moreutils is a Python utility package designed to handle a variety of text, number, and data transformations. It includes features for converting between different formats (e.g., numbers, dates, Roman numerals), working with text (e.g., anagrams, palindromes), and handling JSON/CSV conversions.
Installation
To install moreutilspy, use pip:
pip install moreutilspy
Usage
After installation, you can import and use the functions directly:
from moreutils import text_to_number, is_palindrome
Module: converter_utils
This module provides functions for converting numbers, dates, bytes, and more.
Functions
text_to_number(text: str) -> int
Converts a textual representation of a number into its numerical value.
Example:
text_to_number("one hundred twenty-three") # Returns: 123
number_to_text(num: int) -> str
Converts a number to its textual representation.
Example:
number_to_text(123) # Returns: "one hundred twenty-three"
int_to_roman(num: int) -> str
Converts an integer to a Roman numeral.
Example:
int_to_roman(2024) # Returns: "MMXXIV"
roman_to_int(roman: str) -> int
Converts a Roman numeral to an integer.
Example:
roman_to_int("MMXXIV") # Returns: 2024
snake_to_camel(snake_str: str) -> str
Converts a snake_case string to camelCase.
Example:
snake_to_camel("hello_world") # Returns: "helloWorld"
camel_to_snake(camel_str: str) -> str
Converts a camelCase string to snake_case.
Example:
camel_to_snake("helloWorld") # Returns: "hello_world"
seconds_to_text(seconds: int) -> str
Converts seconds into a human-readable format.
Example:
seconds_to_text(3665) # Returns: "1 hours, 1 minutes, 5 seconds"
text_to_seconds(time_str: str) -> int
Converts a text representation of time to seconds.
Example:
text_to_seconds("1 hour, 1 minute, 5 seconds") # Returns: 3665
date_to_text(date_str: str) -> str
Converts a date in YYYY-MM-DD format to a human-readable text.
Example:
date_to_text("2024-01-01") # Returns: "January 1, 2024"
text_to_date(text: str) -> str
Converts a text representation of a date into YYYY-MM-DD format.
Example:
text_to_date("January 1 2024") # Returns: "2024-01-01"
bytes_to_text(num_bytes: int) -> str
Converts bytes into a human-readable string.
Example:
bytes_to_text(10240) # Returns: "10.00 KB"
text_to_bytes(size_str: str) -> int
Converts a string representation of file size into bytes.
Example:
text_to_bytes("10 KB") # Returns: 10240
Module: text_utils
This module contains utilities for working with text strings, including palindromes, anagrams, and generating random passwords.
Functions
is_palindrome(s: str) -> bool
Checks if a string is a palindrome.
Example:
is_palindrome("racecar") # Returns: True
are_anagrams(str1: str, str2: str) -> bool
Checks if two strings are anagrams.
Example:
are_anagrams("listen", "silent") # Returns: True
count_vowels(s: str) -> int
Counts the number of vowels in a string.
Example:
count_vowels("hello world") # Returns: 3
count_consonants(s: str) -> int
Counts the number of consonants in a string.
Example:
count_consonants("hello world") # Returns: 7
reverse_words(s: str) -> str
Reverses the words in a string.
Example:
reverse_words("hello world") # Returns: "olleh dlrow"
reverse_string(s: str) -> str
Reverses a string.
Example:
reverse_string("hello") # Returns: "olleh"
remove_duplicates(s: str) -> str
Removes duplicate characters from a string.
Example:
remove_duplicates("mississippi") # Returns: "misp"
is_pangram(s: str) -> bool
Checks if a string contains all letters of the alphabet.
Example:
is_pangram("The quick brown fox jumps over the lazy dog") # Returns: True
levenshtein_distance(s1: str, s2: str) -> int
Calculates the Levenshtein distance (edit distance) between two strings.
Example:
levenshtein_distance("kitten", "sitting") # Returns: 3
generate_password(length: int = 12) -> str
Generates a random password of the specified length.
Example:
generate_password(16) # Returns: A 16-character random password
json_to_csv(json_data: list[dict], csv_file: str)
Converts JSON data to CSV and writes it to a file.
Example:
json_to_csv(json_data, "output.csv")
csv_to_json(csv_file: str) -> list[dict]
Converts a CSV file into JSON format.
Example:
data = csv_to_json("input.csv")
Examples
Here are a few quick examples to demonstrate how to use moreutils:
from moreutils import text_to_number, is_palindrome, generate_password
# Convert text to number
print(text_to_number("one hundred twenty-three")) # Output: 123
# Check if a string is a palindrome
print(is_palindrome("A man a plan a canal Panama")) # Output: True
# Generate a random password
print(generate_password(16)) # Output: A randomly generated password
License
moreutils is open source and licensed under the MIT License.
Metadata
Release files for MoreUtilspy 0.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| moreutilspy-0.13.tar.gz | 12.4 kB | Without provenance | Details for moreutilspy-0.13.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| MoreUtilspy-0.13-py3-none-any.whl | Python 3 | none | any | Details for MoreUtilspy-0.13-py3-none-any.whl |
Total release size: 22.0 kB
Release files / moreutilspy-0.13.tar.gz
| Download URL | moreutilspy-0.13.tar.gz |
|---|---|
| Size | 12.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e21d80c54768230b88e6631475d5ad2604b4ab24a0400fa0f87bf4c56bbc1a1c
|
|
BLAKE2b-256 checksum How to use checksums |
8de829fa7b22714b5f70f81c20aad2a79321f7bc1ac60eab5d076a3409762959
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.1
|
Release files / MoreUtilspy-0.13-py3-none-any.whl
| Download URL | MoreUtilspy-0.13-py3-none-any.whl |
|---|---|
| Size | 9.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0156648aca4b345d76b5ca7ce39a6d3c3d8aeb5bb4f55b42470c1863c6ff800f
|
|
BLAKE2b-256 checksum How to use checksums |
5ca248933bc0e99207032bf7bb05e429b130e0d89459814297829fe97dfac002
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.1
|
Security for MoreUtilspy 0.13
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.