Easy data input/output utilities.
Project description
pyeio | pypi
- Description: Drop-in replacement for standard
iomodule with some extra utilities. - Purpose: Solves having to constantly
with openstuff. - Notes: Full docs may be added at some later point, along with some other file formats perhaps.
Install
pip install pyeio
or
uv add pyeio
Usage
import pyeio as io
Everything should work the same as io, but with the following additions:
Extra IO Functions
io.read
Read file content as string (utf-8) or bytes.
# Read as string (default)
content = io.read("file.txt")
# Read as bytes
data = io.read("file.bin", bytes)
io.write
Write string or bytes to a file. Raises an error if the file already exists unless overwrite=True.
# Write string
io.write("file.txt", "Hello, world!")
# Write bytes
io.write("file.bin", b"\x00\x01\x02")
# Overwrite existing file
io.write("file.txt", "New content", overwrite=True)
io.append
Append string or bytes to the end of a file.
# Append string
io.append("file.txt", "\nAnother line")
# Append bytes
io.append("file.bin", b"\x03\x04")
Formats
Additionally, json, toml, and yaml are included, with overloads/generics for handling pydantic models. Each of these exposes a read, and write function which more or less works the exact same way, along with a parse and serialize function.
Here are some examples:
# Read JSON file
data = io.json.read("config.json")
# Read JSON file into a Pydantic model
user = io.json.read("user.json", UserModel)
# Write JSON to file
io.json.write("output.json", {"key": "value"})
# Write with pretty printing
io.json.write("output.json", data, overwrite=True, indent=True)
# Parse JSON string/bytes
data = io.json.parse('{"key": "value"}')
user = io.json.parse(json_bytes, UserModel)
# Serialize to string/bytes
json_bytes = io.json.serialize(data) # returns bytes by default
json_str = io.json.serialize(data, str)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyeio-0.2.1.tar.gz.
File metadata
- Download URL: pyeio-0.2.1.tar.gz
- Upload date:
- Size: 106.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be3b4fc514beb6fe98d986d1bb3f5764323c548015c85906aae90a588a14285b
|
|
| MD5 |
d7cff75480310d598e7fa70ed6bc6205
|
|
| BLAKE2b-256 |
9cee3c32ebb2cb1ef672f1e3c388c30556690e58126947d74e2c1769a9c4dbec
|
File details
Details for the file pyeio-0.2.1-py3-none-any.whl.
File metadata
- Download URL: pyeio-0.2.1-py3-none-any.whl
- Upload date:
- Size: 18.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e41b383203ae0e5a97abea2ac3636beb42a945103588fba2e31232d214f200c8
|
|
| MD5 |
160c449bb0018e2b3d12067e1e26c5f3
|
|
| BLAKE2b-256 |
7615f308b730cb806d093d30a95e19187e87adeb0bd158a93f33a358deb7da4a
|