You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

urlimport

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

urlimport

Allow importing files through the web, by adding urls to pythonpath

0.86c-dev
pipPyPI
Maintainers
2

[ urlimport.py ] Enables remote module importing through urllib2 and perforce.

author: Jure Vrscaj jure@codeshift.net

last contributed versions: version: 0.72c (myevan myevan_net@naver.com fixes and improvements) version: 0.85b (alex alexbodn@012.net.il fixes and improvements) version: 0.72d (jure jure@codeshift.net found a bug and alex fixed it). homepage: http://urlimport.codeshift.net license: MIT

download: all the project's files may be downloaded from bitbucket with hg: hg clone http://bitbucket.org/alexbodn/urlimport

Usage:

import sys, urlimport urlimport.config(**{ 'ssl_key.https://your.url':'key for this url' 'ssl_cert.https://your.url':'cert for this url', 'opener.https://your.url':'opener for this url', 'cache_time.http://your.url':'timedelta to keep files in cache for this url', 'no_cache.url':True, # don't cache modules from this url 'user_agent.url':'user agent header for this url', 'ssl_key.host':'key for this host' 'ssl_cert.host':'cert for this host', 'opener.host':'opener for this host', 'cache_time.host':'timedelta to keep files in cache for this host', 'no_cache.host':True, # don't cache modules from this host 'user_agent.host':'user agent header for this host', 'ssl_key':'key for unspecified urls', 'ssl_cert':'cert for unspecified urls', 'opener':'opener for unspecified urls', 'no_cache':'True, #don't cache modules for unspecified urls 'user_agent':'user agent header for unspecified urls', 'cache_time':'timedelta to keep files in cache for unspecified urls', #if cache_time is missing, keep forever, but check last_modified and etag 'cache_dir':'root of the cache dir', # if missing, a temp dir will be created, # if empty, no cache will be used 'py_version_string': '$PYTHON_VERSION', # string in path to be replaced by # $major.$minor 'debug': int(level of output text. see debug() function) })

note: if you supply your own opener, i'd recommand inheriting/implementing the

status handling features from class DefaultErrorHandler below.

sys.path.insert(0, "http://your.url") #this may already be there, like setting #PYTHONPATH #but there is a danger default import #would try it before expect to have access to your modules at http://your.url

TODO:

  • check what's mpath all about.

TODO later:

  • python 3.1 support. preliminary work done
  • url import of zipped modules
  • support of other urls, like ssh, svn, hg, bzr, cvs etc.
  • reload c extensions. well, they don't allways reload in local import either, but my module does reload locally, so why not remotely? introspection will help.
  • swithch the usage of debug with some logging, and do some cleanup of the calls.

Keywords

python import remote modules http https ftp perforce

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts