Skip to main content

A custom Python module collection

Project description

foxange

A collection of convenient Python utility functions for input, file handling, and list processing.


Functions Overview

Input Utilities (foxange.input)

  • collect_input
    Prompt for sequential user input; returns a list of the inputted values.

    from foxange.input import collect_input
    answers = collect_input("Enter your name: ", "Enter your age: ")
    # ['Alice', '30']
    
  • input_to_file
    Write specified strings to a file (also available in foxange.file).

    from foxange.input import input_to_file
    input_to_file("hello", "foxange", path="test.txt")
    # test.txt will contain:
    # hello
    # foxange
    
  • sanitize_input
    Remove multiple substrings from text.

    from foxange.input import sanitize_input
    print(sanitize_input("hello", "e", "o"))  # "hll"
    
  • numeric_input
    Get input and return it only if length is within specified bounds.

    from foxange.input import numeric_input
    val = numeric_input("Type (2-4 chars): ", 2, 4, notvalid="N/A")
    
  • choice_input
    Present choices and get the user’s selection (may need adjustment for your use-case).

    from foxange.input import choice_input
    print(choice_input("Pick one:", ["a", "b", "c"], "Choose: "))
    
  • confirm
    Simple yes/no user prompt returning True, False, or None.

    from foxange.input import confirm
    if confirm("Continue?"): 
        print("Confirmed!")
    

File Utilities (foxange.file)

  • input_to_file
    See above.

  • read_lines
    Read lines from a file into a list (strips newlines by default).

    from foxange.file import read_lines
    print(read_lines("text.txt"))  # ["line 1", "line 2"]
    
  • write_lines
    Write a list of strings to a file, one per line.

    from foxange.file import write_lines
    write_lines("out.txt", ["foo", "bar"])
    
  • tail / head
    Get the last/first N lines of a file.

    from foxange.file import tail, head
    print(tail("log.txt", 5))
    print(head("log.txt", 5))
    
  • safe_read_json / safe_write_json
    Robust JSON file read/write with error fallback.

    from foxange.file import safe_read_json, safe_write_json
    data = safe_read_json("settings.json", default={})
    safe_write_json("settings.json", {"theme": "dark"})
    
  • get_file_size
    Return the file size (bytes or human-readable).

    from foxange.file import get_file_size
    print(get_file_size("large.bin", human_readable=True))  # "1.1 MB"
    
  • ensure_dir
    Ensure a directory exists (create if needed).

    from foxange.file import ensure_dir
    ensure_dir("output/")
    
  • atomic_write
    Safely write to a file using a temporary buffer.

    from foxange.file import atomic_write
    atomic_write("a.txt", "data")
    
  • find_files
    Recursively find files matching a pattern.

    from foxange.file import find_files
    print(find_files(".", "*.py"))
    

List Processing Utilities (foxange.list_proce)

  • remove
    Remove all elements satisfying the given condition.

    from foxange.list_proce import remove
    odds = remove([1, 2, 3, 4], lambda x: x % 2 == 0)  # [1, 3]
    
  • unique
    Return unique entries from a list.
    Note: fix suggested—code may not deduplicate as expected.

    from foxange.list_proce import unique
    print(unique([1, 1, 2]))  # [1, 2]
    
  • rotate
    Circularly rotate a list right by n positions.

    from foxange.list_proce import rotate
    print(rotate([1, 2, 3, 4], 2))  # [3, 4, 1, 2]
    

How to Use

Import the specific function you need:

from foxange.input import collect_input
from foxange.file import read_lines
from foxange.list_proce import unique

Explore the src/foxange/ directory for all available modules and features!


License

MIT

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

foxange-0.2.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

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

foxange-0.2.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file foxange-0.2.0.tar.gz.

File metadata

  • Download URL: foxange-0.2.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for foxange-0.2.0.tar.gz
Algorithm Hash digest
SHA256 211cba8bc0b053c7f94573752e9b612ee811f6e2993f254f2b8b675fb9cd0428
MD5 d1b0f67fed6360a4d2c4920dee16cf3c
BLAKE2b-256 c0f41997b98d0cf500491be6d57f189a1f594d5b0fab103c85dc4305cd5847b7

See more details on using hashes here.

File details

Details for the file foxange-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: foxange-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.2

File hashes

Hashes for foxange-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24093741e8abc9eefe5efc93d32a6ff1dc0005385428e8f23bf3ff4a4968a287
MD5 fe436ed397b385c6691e708ac57ccbff
BLAKE2b-256 497918bbc4ef624d6d4cda4e8ab28aa8a81b140bdd29680e42c7c36709d493e5

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