|
|
|
|
@ -0,0 +1,133 @@
|
|
|
|
|
Metadata-Version: 2.1
|
|
|
|
|
Name: path.py
|
|
|
|
|
Version: 10.5
|
|
|
|
|
Summary: A module wrapper for os.path
|
|
|
|
|
Home-page: https://github.com/jaraco/path.py
|
|
|
|
|
Author: Jason Orendorff
|
|
|
|
|
Author-email: jason.orendorff@gmail.com
|
|
|
|
|
Maintainer: Jason R. Coombs
|
|
|
|
|
Maintainer-email: jaraco@jaraco.com
|
|
|
|
|
License: UNKNOWN
|
|
|
|
|
Description: .. image:: https://img.shields.io/pypi/v/path.py.svg
|
|
|
|
|
:target: https://pypi.org/project/path.py
|
|
|
|
|
|
|
|
|
|
.. image:: https://img.shields.io/pypi/pyversions/path.py.svg
|
|
|
|
|
|
|
|
|
|
.. image:: https://img.shields.io/travis/jaraco/path.py/master.svg
|
|
|
|
|
:target: http://travis-ci.org/jaraco/path.py
|
|
|
|
|
|
|
|
|
|
.. image:: https://readthedocs.org/projects/pathpy/badge/?version=latest
|
|
|
|
|
:target: http://pathpy.readthedocs.io/en/latest/?badge=latest
|
|
|
|
|
|
|
|
|
|
``path.py`` implements a path objects as first-class entities, allowing
|
|
|
|
|
common operations on files to be invoked on those path objects directly. For
|
|
|
|
|
example:
|
|
|
|
|
|
|
|
|
|
.. code-block:: python
|
|
|
|
|
|
|
|
|
|
from path import Path
|
|
|
|
|
d = Path('/home/guido/bin')
|
|
|
|
|
for f in d.files('*.py'):
|
|
|
|
|
f.chmod(0o755)
|
|
|
|
|
|
|
|
|
|
``path.py`` is `hosted at Github <https://github.com/jaraco/path.py>`_.
|
|
|
|
|
|
|
|
|
|
Find `the documentatation here <https://pathpy.readthedocs.io>`_.
|
|
|
|
|
|
|
|
|
|
Guides and Testimonials
|
|
|
|
|
=======================
|
|
|
|
|
|
|
|
|
|
Yasoob has written the Python 101 `Writing a Cleanup Script
|
|
|
|
|
<http://freepythontips.wordpress.com/2014/01/23/python-101-writing-a-cleanup-script/>`_
|
|
|
|
|
based on ``path.py``.
|
|
|
|
|
|
|
|
|
|
Installing
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
|
|
Path.py may be installed using ``setuptools``, ``distribute``, or ``pip``::
|
|
|
|
|
|
|
|
|
|
pip install path.py
|
|
|
|
|
|
|
|
|
|
The latest release is always updated to the `Python Package Index
|
|
|
|
|
<http://pypi.python.org/pypi/path.py>`_.
|
|
|
|
|
|
|
|
|
|
You may also always download the source distribution (zip/tarball), extract
|
|
|
|
|
it, and run ``python setup.py`` to install it.
|
|
|
|
|
|
|
|
|
|
Advantages
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
|
|
Python 3.4 introduced
|
|
|
|
|
`pathlib <https://docs.python.org/3/library/pathlib.html>`_,
|
|
|
|
|
which shares many characteristics with ``path.py``. In particular,
|
|
|
|
|
it provides an object encapsulation for representing filesystem paths.
|
|
|
|
|
One may have imagined ``pathlib`` would supersede ``path.py``.
|
|
|
|
|
|
|
|
|
|
But the implementation and the usage quickly diverge, and ``path.py``
|
|
|
|
|
has several advantages over ``pathlib``:
|
|
|
|
|
|
|
|
|
|
- ``path.py`` implementsbits ``Path`` objects as a subclass of
|
|
|
|
|
``str`` (unicode on Python 2), and as a result these ``Path``
|
|
|
|
|
objects may be passed directly to other APIs that expect simple
|
|
|
|
|
text representations of paths, whereas with ``pathlib``, one
|
|
|
|
|
must first cast values to strings before passing them to
|
|
|
|
|
APIs unaware of pathlib.
|
|
|
|
|
- ``path.py`` goes beyond exposing basic functionality of a path
|
|
|
|
|
and exposes commonly-used behaviors on a path, providing
|
|
|
|
|
methods like ``rmtree`` (from shlib) and ``remove_p`` (remove
|
|
|
|
|
a file if it exists).
|
|
|
|
|
- As a PyPI-hosted package, ``path.py`` is free to iterate
|
|
|
|
|
more quickly than a stdlib package. Contributions are welcomed
|
|
|
|
|
and encouraged.
|
|
|
|
|
|
|
|
|
|
Alternatives
|
|
|
|
|
============
|
|
|
|
|
|
|
|
|
|
In addition to
|
|
|
|
|
`pathlib <https://docs.python.org/3/library/pathlib.html>`_, the
|
|
|
|
|
`pylib project <https://pypi.org/project/py/>`_ implements a
|
|
|
|
|
`LocalPath <https://github.com/pytest-dev/py/blob/72601dc8bbb5e11298bf9775bb23b0a395deb09b/py/_path/local.py#L106>`_
|
|
|
|
|
class, which shares some behaviors and interfaces with ``path.py``.
|
|
|
|
|
|
|
|
|
|
Development
|
|
|
|
|
===========
|
|
|
|
|
|
|
|
|
|
To install an in-development version, use the Github links to clone or
|
|
|
|
|
download a snapshot of the latest code. Alternatively, if you have git
|
|
|
|
|
installed, you may be able to use ``pip`` to install directly from
|
|
|
|
|
the repository::
|
|
|
|
|
|
|
|
|
|
pip install git+https://github.com/jaraco/path.py.git
|
|
|
|
|
|
|
|
|
|
Testing
|
|
|
|
|
=======
|
|
|
|
|
|
|
|
|
|
Tests are continuously run by Travis-CI: |BuildStatus|_
|
|
|
|
|
|
|
|
|
|
.. |BuildStatus| image:: https://secure.travis-ci.org/jaraco/path.py.png
|
|
|
|
|
.. _BuildStatus: http://travis-ci.org/jaraco/path.py
|
|
|
|
|
|
|
|
|
|
To run the tests, refer to the ``.travis.yml`` file for the steps run on the
|
|
|
|
|
Travis-CI hosts.
|
|
|
|
|
|
|
|
|
|
Releasing
|
|
|
|
|
=========
|
|
|
|
|
|
|
|
|
|
Tagged releases are automatically published to PyPI by Travis-CI, assuming
|
|
|
|
|
the tests pass.
|
|
|
|
|
|
|
|
|
|
Platform: UNKNOWN
|
|
|
|
|
Classifier: Development Status :: 5 - Production/Stable
|
|
|
|
|
Classifier: Intended Audience :: Developers
|
|
|
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
|
|
|
Classifier: Operating System :: OS Independent
|
|
|
|
|
Classifier: Programming Language :: Python :: 2.7
|
|
|
|
|
Classifier: Programming Language :: Python :: 3
|
|
|
|
|
Classifier: Programming Language :: Python :: 3.3
|
|
|
|
|
Classifier: Programming Language :: Python :: 3.4
|
|
|
|
|
Classifier: Programming Language :: Python :: 3.5
|
|
|
|
|
Classifier: Programming Language :: Python :: 3.6
|
|
|
|
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
|
|
Requires-Python: >=2.7
|
|
|
|
|
Provides-Extra: testing
|
|
|
|
|
Provides-Extra: docs
|