Skip to main content

A python package for dealing with file paths and automation.

Project description

PyPI version

autopaths version 1.6.3

autopaths is a python package for dealing with file paths and automation.

It has many convenience methods that apply to directory paths and/or file paths. The package contains several submodules that are useful when building pipelines. See below for examples and documentation.

Prerequisites

Since autopaths is written in python, it is compatible with all operating systems: Linux, macOS and Windows. The only prerequisite is python3 (which is often installed by default) along with the pip3 package manager (or any other package manager).

To check if you have python3 installed, type the following on your terminal:

$ python3 -V

If you do not have python3 installed, please refer to the section obtaining python3.

To check you have pip3 installed, type the following on your terminal:

$ pip3 -V

If you do not have pip3 installed, please refer to the section obtaining pip3.

Installing

To install the autopaths package, simply type the following commands on your terminal:

$ pip3 install --user autopaths

Alternatively, if you want to install it for all users of the system:

$ sudo pip3 install autopaths

Usage

Bellow are some examples to illustrate the various ways there are to use this package.

FilePath object

Here are a few example usages of this object:

from autopaths.file_path import FilePath
f = FilePath("input/raw/reads_56.fastq")
print(f.exists)
print(f.extension)
print(f.size)
print(f.contains_binary)
f.prepend('# This file was backed-up\n')
f.gzip_to('backup/old_reads/reads_56.fastq.gz')
f.move_to(f.parent)

As you can see, once you have created a FilePath, many useful methods are available. No more need for long os.path or shutil commands of which you can never remember the syntax.

To see the complete list of utility methods and properties, look at the source code. You can find lots of the common things you would need to do with file paths such as f.make_executable() etc. right at your fingertips.

DirectoryPath object

Similar to a file path object. Here is an example usage of this object:

from autopaths.dir_path import DirectoryPath
my_dir = DirectoryPath("cleaned/reads/")
print(my_dir.mod_time)
my_dir.create_if_not_exists()
fastq = my_dir + 'new.fastq'

AutoPaths object

You can use this class when making pipelines to quickly refer to a predefined file path with a simple attribute lookup. This example explains it:

class Sample(object):
    all_paths = """
                /raw/raw.sff
                /raw/raw.fastq
                /clean/trim.fastq
                /clean/clean.fastq
                """

    def __init__(self, base_dir):
        from autopaths.auto_paths import AutoPaths
        self.p = AutoPaths(base_dir, self.all_paths)

    def clean(self):
        shutil.move(self.p.raw_sff, self.p.clean_fastq)

Extra documentation

More documentation is available at:

http://xapple.github.io/autopaths/autopaths

This documentation is simply generated with:

$ pdoc --output-dir docs autopaths

Project details


Download files

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

Source Distribution

autopaths-1.6.3.tar.gz (17.7 kB view details)

Uploaded Source

File details

Details for the file autopaths-1.6.3.tar.gz.

File metadata

  • Download URL: autopaths-1.6.3.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for autopaths-1.6.3.tar.gz
Algorithm Hash digest
SHA256 695df40da845e47a3634d0f0aa2ae0fa5d676b4376ed7d5ae372d6b34e09616c
MD5 5216dbeb4ae4782475242abdd7376cce
BLAKE2b-256 9f26d38521e5830fcfdf52951920e0df33de45418ad60d273e0e54e953673249

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page