A simple library for finding a superordinate path and attaching it to the module search path.
Project description
summary
This is a very simple (small) software library. It is used only for one thing.
Suppose you are working in a project with a directory structure like this:
project_folder
|-scripts_folder
| |-python_libs
| | |-my_python_lib
| | | * __init__.py
|-sub_folder_1
| | * my_python_script.py
Suppose you want your python script my_python_script.py
to consume the my_python_lib
library.
Then, at the top of your script, you would put the following code.
import os import lib_attacher # Get the folder containing your script file. this_folder=os.path.dirname(os.path.realpath(__file__)) # Attach to the parent folder of your library attached = lib_attacher.attach_folder_in_hierarchy( start_folder=this_folder, target_sub_path="scripts_folder/python_libs") # Check to make sure it worked if attached is None: raise Exception("Failed to find python_libs folder.") # Now you can import your library. import my_python_lib
If you subsequently move your my_python_script.py
file around, it will still work. For example,
it will also work from any of these locations:
project_folder
|-sub_folder_1
| |-sub_folder_2
| | | * my_python_script.py
project_folder
|-sub_folder_1
| |-sub_folder_2
| | |-sub_folder_3
| | | | * my_python_script.py
project_folder
| * my_python_script.py
If, by some chance, there are multiple scripts_folder/python_libs
folders, you can specify the
extra_sub_path
parameter to ensure that you match the target folder exactly (without ambiguity).
# Attach to the parent folder of your library attached = lib_attacher.attach_folder_in_hierarchy( start_folder=this_folder, target_sub_path="scripts_folder/python_libs", extra_sub_path="my_python_lib/__init__.py")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size lib_attacher-0.0.1-py3-none-any.whl (3.8 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size lib_attacher-0.0.1.tar.gz (2.7 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for lib_attacher-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 360b900969a7ba3fa2ff8b36009d51d0945a9788f9cdeaf3064b8b0f1fe9b103 |
|
MD5 | 35001eea24e1100b1289d8f3c7b330e9 |
|
BLAKE2-256 | 374ef782164c2f25b3c2afacdc9e6a632b9f91acc97ee0e030c89541e56da259 |