Skip to content

matan1008/pygnuutils

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python application Pypi version

Description

pygnuutils is a pure python implementation for GNU utils.

Installation

Install the last released version using pip:

python3 -m pip install --user -U pygnuutils

Or install the latest version from sources:

git clone git@github.com:matan1008/pygnuutils.git
cd pygnuutils
python3 -m pip install --user -U -e .

Usage

CLI

You can run commands by using pygnuutils prefix. For example, in order to list /tmp/foo you can run:

pygnuutils ls -lRh /tmp/foo

Python

To use pygnuutils you can write the following:

from pygnuutils.ls import Ls

ls = Ls()
ls('/tmp', all_=True)

Perhaps the best reason to use this library instead of gnu is the dependency injection ability.

For example, in order to print a message each time a symlink is resolved:

import os

from pygnuutils.ls import Ls, LsStub


class ReadlinkWatch(LsStub):
    def readlink(self, path, dir_fd=None):
        print(f'Resolving {path}...')
        return os.readlink(path, dir_fd=dir_fd)


ls = Ls(stub=ReadlinkWatch())
ls('/tmp', all_=True, long=True)