importing a module by physical file path
Project description
Importing a module from physical file path.
examples
these files are existed, then..
$ tree
.
├── a
│ └── b
│ └── c
│ └── foo.py
└── main.py
4 directories, 3 files
a/b/c/foo.py
name = "foo"
_age = "*secret*"
from magicalimport import import_from_physical_path
# importing foo.py as the module named foo2
foo = import_from_physical_path("./a/b/c/foo.py", as_="foo2")
print(foo.name)
# cached in sys.modules, so it is ok.
import foo2
print(foo2.name)
here option
from magicalimport import import_from_physical_path
import_from_physical_path("bar.py", here="/tmp/foo", as_="bar")
star import
from magicalimport import import_from_physical_path
from magicalimport import expose_all_members
# something of like a `from foo import *`
expose_all_members(import_from_physical_path("./a/b/c/foo.py"))
print(name) # "foo"
# print(_age) # NameError.. because expose_all_members() doesn't expose the symbols started by "_"
# or
from magicalimport import expose_members
expose_members(import_from_physical_path("./a/b/c/foo.py"), members=["_age"])
print(_age) # "*secret*"
0.9.0
revert default behaviour (detail https://github.com/podhmo/magicalimport/pull/18 )
0.8.1
cwd option
0.8.0
default behaviour is changed, from now, if here option is omitted, treated as here=__file__ on caller module.
( previous behaviour is here=os.getcwd() )
0.7.3
skip needless __init__.py creation, in some cases
0.7.2
fix directly import module handling is not enough, now, treated as a same module
0.7.1
fix permission error, and same file, treated as a same module
0.7.0
fix same file, treated as a same module
0.6.0
fix module_id is not stored in sys.modules, on exec_module()
0.5.0
raised exception adjustment
0.3.0
ns option in import_symbol
0.2.1
here option is supported
0.2
python2 support
0.1
first release
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.
Source Distributions
Built Distribution
Hashes for magicalimport-0.9.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 709004a644e2a790b973704e2ab5bfa0232fc4b5b0d7577f28d4394001ef6d8a |
|
MD5 | 018f443b5ae6be01957f699277f25b0a |
|
BLAKE2b-256 | 4c648d2e74a7b0e56bf1d3c503edda0b650d4e62f3cb8fe0ed67ccae55cad206 |