Load files easily using relative path names and simple heuristics
Project description
pyhere
A Python 2.x / 3.x equivalent of R's here
package, drawing inspiration from chendaniely's pyprojroot
package, but more closely mirroring the functionality within R's here
. Relative file referencing has never been easier!
For complete information, check out the docs.
Installation
pip
You can install the latest stable version with pip via:
pip install pyhere
And if you want to be on the bleeding edge of development, get the latest version from github:
pip install --editable=git+https://github.com/wildland-creative/pyhere.git#egg=pyhere
conda
Not in conda - just install it from pip in your environment.
Usage
from pyhere import here
relative_dirA = here("your", "relative", "directory", "file.txt")
relative_dirB = here("your/relative/directory/file.txt")
pyhere
uses simple heuristics to find a project's root directory. From Path.cwd()
, it traverses upwards, looking for a possible root_indicator
:
root_indicators = [
".here",
"requirements.txt",
"setup.py",
".vscode", # vscode project
".idea", # pycharm project
".git",
".spyderproject", # spyder
".spyproject", # spyder
".ropeproject" # rope
]
When found, it joins the arguments passed to here()
to the rootpath and returns as a Path
object. If it reaches the system root, it returns the system root and throws a warning.
For a concrete example, imagine the following directory structure:
\project\src\script.py
\project\data\data1.csv
\project\.here
If you call
data = here("data", "data1.csv")
from script.py
, you'll get a Path
object representing \project\data\data1.csv
.
Changelog
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
Built Distribution
File details
Details for the file pyhere-1.0.3.tar.gz
.
File metadata
- Download URL: pyhere-1.0.3.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbea60e83cbcaef41c4da429c1372b7780c580bc0714801c6c5957df06208cdf |
|
MD5 | 37ebbc6b144fc5f718468a46136c8a8c |
|
BLAKE2b-256 | 34e279dca2aa113e3be3bac013ec3c6d21fde79783f62866312012d787026e0c |
File details
Details for the file pyhere-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: pyhere-1.0.3-py3-none-any.whl
- Upload date:
- Size: 4.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c39f5ab806d332ce9812b74e4486c0753e2c5416265758c7251f1bbe0946f69 |
|
MD5 | e56453a9181234964a8143648834723b |
|
BLAKE2b-256 | 04e680f613b0f6d5079950083f274f2f19a2bf2870c0376ccd4a63851ef53f43 |