Skip to main content

Some cute utilties for my other projects

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Warawara

This project is renamed to 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 warawara
warawara.orange('TEXT')   # \033[38;5;214mTEXT\033[m

# Invoke external command and retrieve the result.
p = warawara.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 = warawara.command(['seq', '5'])

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

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

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

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

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

Installation

sh$ pip3 install warawara

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/warawara')
import warawara

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=warawara --cov-report=html

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

warawara-0.2.1.tar.gz (56.5 kB view details)

Uploaded Source

Built Distribution

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

warawara-0.2.1-py3-none-any.whl (47.4 kB view details)

Uploaded Python 3

File details

Details for the file warawara-0.2.1.tar.gz.

File metadata

  • Download URL: warawara-0.2.1.tar.gz
  • Upload date:
  • Size: 56.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for warawara-0.2.1.tar.gz
Algorithm Hash digest
SHA256 c2e1adf3dcf0018cc2e865ecabf03fc6c1662fb8690f4f89d0e5bf255cbde07e
MD5 b75ff8c2277ec2257125fc2b5fa7d1d5
BLAKE2b-256 e5c9333920bd3dec51cc70d37dcf940b3e65d22cbe0dfaa4a45c52fd6f46be0a

See more details on using hashes here.

File details

Details for the file warawara-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: warawara-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 47.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for warawara-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2195c758f41842287300a9c718cc2f1f095e3ac111eed5f0bad22064db1e19ae
MD5 054b730adb76cb55e5356345d916a5ee
BLAKE2b-256 5631e7859b8e028f6d119f48aaa175eacbf7d80d6aca1c6518004e40bf46a404

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