Skip to main content

Find the first file matching a given pattern in the current directory or the nearest ancestor directory.

Project description

# python-findup

## Introduction

Find the first path matching a given pattern in the current working directory (or a given directory) or the nearest ancestor directory. This project is (roughly) a python version of [node-findup-sync](https://github.com/cowboy/node-findup-sync).

Why? Applications, such as git, often use project configuration files found in the current directory or an ancestor directory. The findup modules allows an application author to easily find these files or directories.

## Installation

The best way to install is probably to use pip:

pip install findup

Or you can clone and install findup from github:

git clone https://github.com/todddeluca/python-findup.git cd python-findup python setup.py install

## Usage

pattern is combined with the current working directory or an ancestor directory and passed to glob.glob to see if the pattern matches. If it does, the first match is returned. Pattern can contain some shell wildcard characters, like ? and *. See the python glob module for more details.

findup.glob(pattern)

To find the root dir of a git repository, when the current working directory is somewhere within the repository:

os.path.dirname(findup.glob(‘.git’))

Or more robustly, handling the case where the cwd is not within a git repository:

path = findup.glob(‘.git’) git_root = None if path is None or os.path.dirname(path)

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

findup-0.3.0.tar.gz (3.3 kB view details)

Uploaded Source

File details

Details for the file findup-0.3.0.tar.gz.

File metadata

  • Download URL: findup-0.3.0.tar.gz
  • Upload date:
  • Size: 3.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for findup-0.3.0.tar.gz
Algorithm Hash digest
SHA256 852a4b8d5697eeabeb16dfb886178cf88b6f093d1b4f934d450a8226487fc018
MD5 4e988ab3882e03803542e8d93f37b43c
BLAKE2b-256 9a02dcb111bd9cf9a316a24119b18f9e462cbf7484988c35a45fca2b8e50d781

See more details on using hashes here.

Supported by

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