Metadata-Version: 2.1
Name: extended-pathlib
Version: 0.5.0
Summary: shell library
Home-page: http://nurdletech.com/linux-utilities/extended_pathlib
Author: Ken Kundert
Author-email: extended_pathlib@nurdletech.com
License: GPLv3+
Download-URL: https://github.com/kenkundert/extended_pathlib/tarball/master
Keywords: extended,pathlib
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
Classifier: Natural Language :: English
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Utilities
Description-Content-Type: text/x-rst
Requires-Dist: six

Extended PathLib
================

This package monkey-patches some useful extensions on to pathlib from the Python 
standard library. These extensions are only supported on Posix systems.

Once installed, you can simply import Path from extended_pathlib just as you 
would from pathlib, and use the new functionality::

    >>> from extended_pathlib import Path

    >>> tmp = Path('/tmp')
    >>> tmp.is_readable()
    True


Installation
------------

Use 'pip3 install extended_pathlib' to install. Requires Python2.7 or Python3.4 
or better.

.. image:: https://travis-ci.org/KenKundert/extended_pathlib.svg?branch=master
    :target: https://travis-ci.org/KenKundert/extended_pathlib


File Types
----------

is_readable
~~~~~~~~~~~

Returns True if the given path points to an existing file or directory that is 
readable.

   >>> Path('/usr/bin/python').is_readable()
   True

is_writable
~~~~~~~~~~~

Returns True if the given path points to an existing file or directory that is 
writable.

   >>> Path('/usr/bin/python').is_writable()
   False

is_executable
~~~~~~~~~~~~~

Returns True if the given path points to an existing file or directory that is 
executable.

   >>> Path('/usr/bin/python').is_executable()
   True

is_hidden
~~~~~~~~~

Returns True if the given path points to an existing file or directory that is 
hidden (starts with '.').

   >>> Path('/usr/bin/python').is_hidden()
   False


is_newer
~~~~~~~~

Returns True if the given path is newer than the reference.  The reference may 
be a timestamp, a datetime object, or another path.

   >>> Path('/usr/bin/python').is_newer(0)
   True


path_from
~~~~~~~~~

Returns relative path from start as a path object.
This differs from Path.relative_to() in that relative_to() will not return
a path that starts with '..'.

    >>> cwd = Path('.')
    >>> cwd.path_from('..')
    PosixPath('tests')


sans_ext
~~~~~~~~

Removes the file extension.
This differs from Path.stem, which returns the final path component
stripped of its extension. This returns the full path stripped
of its extension.

    >>> Path('a/b.c').sans_ext()
    PosixPath('a/b')


write_bytes
~~~~~~~~~~~

Writes a binary file.
This is the standard pathlib write_bytes() that was introduced in Python3.5, but 
back-ported to earlier versions.


write_text
~~~~~~~~~~

Reads a binary file.
This is the standard pathlib write_text() that was introduced in Python3.5, but 
back-ported to earlier versions.


read_bytes
~~~~~~~~~~

Reads a binary file.
This is the standard pathlib read_bytes() that was introduced in Python3.5, but 
back-ported to earlier versions.


read_text
~~~~~~~~~

Reads a text file.
This is the standard pathlib read_text() that was introduced in Python3.5, but 
back-ported to earlier versions.


expanduser
~~~~~~~~~~

Expand leading tilde (~) in paths.


