Skip to main content

Python utility for cleaner handling of paths

Project description

Introduction

his package standardizes the handling of paths in a Python project by allowing all paths to be relative to the project repo root. The package also helps discover the project root automatically based on the location of the file that invokes it and a user-specified (or commonly used) project root indicator files such as requirements.txt.

This package was heavily inspired by pyprojroot. Our version fixes some of the issues in the original.

Usage

Installation:

pip install py-repo-root

Usage

Get project root

from projectroot import project_root
project_root_dir = project_root(Path(__file__), root_files='requirements.txt')

Another common usage pattern may be to add the project_root to PYTHONPATH for the purposes of running some scripts.

import sys
from projectroot import project_root
sys,path.insert(0, str(project_root(Path(__file__), root_files='requirements.txt')))

Getting a relative path from the project root for a file:

from projectroot import project_root
path_to_file_from_project_root = project_root(Path(__file__), root_files='requirements.txt').joinpath('/path/to/file.txt')

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

py-repo-root-0.2.0.tar.gz (1.9 kB view details)

Uploaded Source

Built Distribution

py_repo_root-0.2.0-py3-none-any.whl (2.5 kB view details)

Uploaded Python 3

File details

Details for the file py-repo-root-0.2.0.tar.gz.

File metadata

  • Download URL: py-repo-root-0.2.0.tar.gz
  • Upload date:
  • Size: 1.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for py-repo-root-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4511f3ab2826f3ee060bd1e24495df3ac57954b2f1b5faa867f78b85958a1946
MD5 0326fcc057a3cea2905bb6cd29a10fe2
BLAKE2b-256 9d0bf7ced3d67950a7b6abc57db79b90d4f0168cc38c8cf2b299241c4d25c7c9

See more details on using hashes here.

File details

Details for the file py_repo_root-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: py_repo_root-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 2.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for py_repo_root-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8fd32790b5b831c534645d159b5aae154fc8c1e541d14d58c31f5f957cf333f4
MD5 b0a2c1990bc08a5df0b44b2356b5517f
BLAKE2b-256 e46672bd2fbf88da1394c4ba83afae528c7aa55df0aad8bc7bfeeb4f2b5df6a0

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