Skip to main content
Help us improve Python packaging – donate today!

A module wrapper for os.path

Project Description

https://readthedocs.org/projects/pathpy/badge/?version=latest

path.py implements path objects as first-class entities, allowing common operations on files to be invoked on those path objects directly. For example:

from path import Path
d = Path('/home/guido/bin')
for f in d.files('*.py'):
    f.chmod(0o755)

path.py is hosted at Github.

Find the documentation here.

Guides and Testimonials

Yasoob wrote the 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.

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, 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 implements 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 faster than a stdlib package. Contributions are welcome and encouraged.

Alternatives

In addition to pathlib, the pylib project implements a LocalPath class, which shares some behaviors and interfaces with path.py.

Development

To install a 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

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.

Release history Release notifications

This version
History Node

11.0.1

History Node

11.0

History Node

10.6

History Node

10.5

History Node

10.4

History Node

10.3.1

History Node

10.3

History Node

10.2

History Node

10.1

History Node

10.0

History Node

9.1

History Node

9.0.1

History Node

9.0

History Node

8.3

History Node

8.2.1

History Node

8.2

History Node

8.1.2

History Node

8.1.1

History Node

8.1

History Node

8.0

History Node

7.7.1

History Node

7.7

History Node

7.6.2

History Node

7.6.1

History Node

7.6

History Node

7.5

History Node

7.4

History Node

7.3

History Node

7.2

History Node

7.1

History Node

7.0

History Node

6.2

History Node

6.1

History Node

6.0

History Node

5.3

History Node

5.2

History Node

5.1

History Node

5.0

History Node

4.4

History Node

4.3

History Node

4.2

History Node

4.1

History Node

4.0

History Node

3.2

History Node

3.1

History Node

3.0.1

History Node

3.0

History Node

2.6.1

History Node

2.6

History Node

2.5

History Node

2.4.1

History Node

2.4

History Node

2.3

History Node

2.2.2

History Node

2.2

History Node

2.1

History Node

1.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
path.py-11.0.1-py2.py3-none-any.whl (32.4 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Mar 26, 2018
path.py-11.0.1.tar.gz (38.3 kB) Copy SHA256 hash SHA256 Source None Mar 26, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page