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.1.0.tar.gz (5.8 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.1.0-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for foxange-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3a400f825b794f9599f4a4cf7781261c52a60073ab7e595b8b455232374ed3a4
MD5 88a2c21352de8edc03d2c4e24f690780
BLAKE2b-256 85e5638a0e7efa18850ed08892f7789fc1a7a983def454009399655d6b9dacc4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: foxange-0.1.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.14.0

File hashes

Hashes for foxange-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c97eefa4caa6ed619b2d65cf19196799ad829b38329401b86924d8be9deec074
MD5 3563c86f51af413b5d7bd4230c689eae
BLAKE2b-256 1657bd0dc3df124f691f85ed59717f9fe6d07c5fb04e2b1e207983edfb4e59f2

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