Allows to import zip-compressed Python package by URL.
Project description
Allows to import zip-compressed Python package by URL.
Download remote zip-compressed Python package, unzip and add to Python path.
All temp files will be removed on exit unless Python process was terminated.
Note: import should be called separatelly after calling importable. All we do here - just adding package to local python path.
Install
Using pip:
$ pip install importable
Usage
Make remote package importable, then import it and use:
from importable import importable
# add contents of "<filename>.zip" to python path
importable('http://<url>/<filename>.zip')
# now you can import your module
import <module_name>
Example
Assuming that you have local nginx serving /var/www/html/ on port 80.
$ mkdir mymodule
$ echo "my_var = 'I want to import this one!'" > mymodule/__init__.py
$ zip -r mymodule.zip mymodule
$ mv mymodule.zip /var/www/html
Then execute the python code:
>>> import mymodule
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'mymodule'
>>> from importable import importable
>>> importable('http://localhost/mymodule.zip')
>>> import mymodule
>>> print(mymodule.my_var)
I want to import this one!
TODO
add support for HDFS locations
add support for zip files of the repo generated by GitHub (extra directory level)
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
Hashes for importable-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9d319987764eb83daacaa249a774cdca90caf3082787a33c5dc45817d7c5e51 |
|
MD5 | 1141a914a62d0bebe569d5682b20b186 |
|
BLAKE2b-256 | ceccf7dd79274b5d22318b95e66f9a9d385e5e39e5ae7071736561823831fb0f |