Skip to main content

Pathlab

Latest version released on PyPi Documentation

Pathlab provides an object-oriented path interface to archives, images, remote filesystems, etc. It is built upon pathlib and includes built-in support for:

  • tar archives

  • zip archives

  • iso disc images (inc Rock Ridge; exc Joliet and UDF)

  • JFrog Artifactory (via requests)

You can also define your own Path subclass with its own accessor.

Installation

Requires Python 3.6+. Use pip:

pip install --user pathlab

Usage

These usage examples are adapted from the pathlib documentation.

Getting a path type:

>>> from pathlab import TarAccessor
>>> TarPath = TarAccessor('project.tgz').TarPath

Listing subdirectories:

>>> root = TarPath('/')
>>> [x for x in root.iterdir() if x.is_dir()]
[TarAccessor('project.tgz').TarPath('/docs')
 TarAccessor('project.tgz').TarPath('/etc'),
 TarAccessor('project.tgz').TarPath('/project')]

Listing Python source files in this directory tree:

>>> list(root.glob('**/*.py'))
[TarAccessor('project.tgz').TarPath('/setup.py'),
 TarAccessor('project.tgz').TarPath('/docs/conf.py'),
 TarAccessor('project.tgz').TarPath('/project/__init__.py')]

Navigating inside a directory tree:

>>> p = TarPath('/etc')
>>> q = p / 'init.d' / 'reboot'
>>> q
TarAccessor('project.tgz').TarPath('/etc/init.d/reboot')
>>> q.resolve()
TarAccessor('project.tgz').TarPath('/etc/rc.d/init.d/halt')

Querying path properties:

>>> q.exists()
True
>>> q.is_dir()
False

Opening a file:

>>> with q.open() as f: f.readline()
...
'#!/bin/bash\n'

Metadata

Release files for pathlab 0.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 pathlab 0.2
File Size Uploaded
pathlab-0.2.tar.gz 12.5 kB Details

Release files / pathlab-0.2.tar.gz

Download URL pathlab-0.2.tar.gz
Size 12.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e089925abd330ce1fffa1d1683a1e70b2f03a8dd71a4ad83380cd29838142a69
BLAKE2b-256 checksum
How to use checksums
9fe6645a3ba346d332187f3573abff39f8bf47cf5591fcd357edc42dac12a8df
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.9.1 pkginfo/1.4.1 requests/2.18.4 setuptools/41.0.1 requests-toolbelt/0.8.0 tqdm/4.19.5 CPython/2.7.12

Release history Release notifications | RSS feed

This release

0.2 This release

1 release file

0.1

1 release file

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