Skip to main content
Travis-CI Build Status (for Linux) AppVeyor Build Status (for windows) Test Coverage Status Code Climate Documentation Status

What is it and why do I care?

Unitils has been incredibly useful for my co-workers and myself. They are simplified, altered forms of common and useful utilities you are likely to find on most Unix-like operating systems. They are written as command line utilities, but also present a single Python generator which can be used from within Python without “shelling” the command out.

Because of the simplified nature of these utilities along with the compromises we have made. We wished to differentiate ourselves from similar commands which were our inspiration. Each of our utilities appends “.py” to the end of the command. For instance, our version of grep can be invoked with the grep.py command.

For instance, grep.py is designed to be used just like this:

$ grep.py -i 'warn' /var/log/*.log

And from Python it can be used like this:

from glob import iglob
from unitils import grep

for match in grep("warn", iglob('/var/log/*.log'), ignore_case=True):
    print(match)

Why should I use it?

Unitils is a collection of useful utilities which have been re-written to be simple and to provide a CLI as well as a Python API.

Unitils was written to be:

  • Fast, everything is an generator (where possible) and strives to be as efficient in both memory and cpu time.

  • Tested, Unittests are important and we strive for high test coverage.

  • Cross Platform, Written in Python these utilities can run on Windows, Linux and Mac OSx.

  • Provides an API to use these utilities in Python, cross-platform and without “shelling out”.

  • Open Source, This project is released under the GPLv3

How does it work?

Each command we target, we create a Python generator which yields the output and send it to stdout. So we in effect have native, memory efficient access to many common utilities directly from within Python. We then wrap a command line interface around this generator tp provide our users with a convenient cross-platform utility.

How do I get it?

To get the most supported version:

$ pip install unitils

To get the latest version:

$ pip install https://github.com/ilovetux/unitils/archive/master.zip

For the nightlies:

$ pip install https://github.com/ilovetux/unitils/archive/dev.zip

How do I run the tests?

You can clone the repository and use the following command:

$ make test

or alternately:

$ python setup.py nosetests

In general, the master branch is what is available on PyPI.

What is this compatible with?

Unitils is tested and confirmed to work with

  • Python 3.5

  • Python 3.4

  • Python 3.3

  • Python 2.7

  • pypy

Unitils should work on all platforms on which Python runs.

What is the current list of utilities provided by unitils?

  • cat

  • cp

  • find

  • grep

  • head

  • ls

  • mv

  • watch

  • wc

  • which

What is on the list to be done?

See this issue for the state of our current prgress.

How can I help?

You can do all the github type things, submit an issue in our issue tracker or fork and submit a pull request. If none of that appeals to you, you can always send me an email personally at me@ilovetux.com

Metadata

Release files for unitils 0.1.2

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

Source distribution (sdist)

Source distribution for unitils 0.1.2
File Size Uploaded Provenance Actions
unitils-0.1.2.tar.gz 18.1 kB Without provenance Details for unitils-0.1.2.tar.gz

Release files / unitils-0.1.2.tar.gz

Download URL unitils-0.1.2.tar.gz
Size 18.1 kB
Tags Source
SHA-256 checksum
How to use checksums
61b3aac94b9e6f1e62a481d6a4876fb8b20042c09224d2fc8981fc510d0a3a76
BLAKE2b-256 checksum
How to use checksums
ff057e348547c15d6ad579dd57646119f465546f5f11033dd9f6ef4fa61478ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for unitils 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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