Skip to main content

iroiro

A swiss-knife-like library that collects cute utilities for my other projects.

This library only depends on Python standard library and Python itself. It's functionalities will not depend on any third-party packages in a foreseeable future.

Examples:

# color strings
import iroiro
iroiro.orange('TEXT')   # \033[38;5;214mTEXT\033[m

# Invoke external command and retrieve the result.
p = iroiro.run(['seq', '5'])
p.stdout.lines  # ['1', '2', '3', '4', '5']

# Invoke external command and retrieve the result in a non-blocking manner.
# Functions could be used as command, so they could be mixed in pipe line.
p1 = iroiro.command(['seq', '5'])

def func(streams, *args):
    for line in streams[0]:
        streams[1].writeline('iro: {}'.format(line))

p2 = iroiro.command(func, stdin=True)

iroiro.pipe(p1.stdout, p2.stdin)
p1.run()
p2.run()
p2.stdout.lines   # ['iro: 1', 'iro: 2', 'iro: 3', 'iro: 4', 'iro: 5']

From my own perspective, Python's subprocess interface is not friendly enough for simple uses.

For more detailed API usage, see doc/iroiro.md

Installation

sh$ pip3 install iroiro

Or just copy the whole folder to your machine, and add the path to sys.path:

import sys
sys.path.insert(0, '/some/path/to/place/iroiro')
import iroiro

Test

Testing:

sh$ python3 -m unittest

With pytest-cov:

sh$ pipx install pytest-cov --include-deps

or

sh$ pipx install pytest
sh$ pipx runpip pytest install pytest-cov

sh$ pytest --cov=iroiro --cov-report=html

Release files for iroiro 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for iroiro 0.3.1
File Size Uploaded
iroiro-0.3.1.tar.gz 70.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iroiro 0.3.1
File Interpreter ABI Platform
iroiro-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 133.2 kB

Release files / iroiro-0.3.1.tar.gz

Download URL iroiro-0.3.1.tar.gz
Size 70.2 kB
Tags Source
SHA-256 checksum
How to use checksums
43c0c5619979411ccda804fb398bf8038c8d25f5d664f0a25be90e67793c7546
BLAKE2b-256 checksum
How to use checksums
9a0ab3114d7df8d5191c01df5461ec4e78a77d8719aa95c8b4f85b62e87b4a27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release files / iroiro-0.3.1-py3-none-any.whl

Download URL iroiro-0.3.1-py3-none-any.whl
Size 63.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
285c04000757ee8973efb543ba6cd0b3f85517480f924efec48e1d73ef8e4a29
BLAKE2b-256 checksum
How to use checksums
ad63a61a02adb06cdb904433bde558d8f938f9752f39ac22dcca827ebcfa091a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page