Skip to main content

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

Project description

[ 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.85a (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


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.

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

urlimport-0.85a-dev.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

urlimport-0.85a_dev-py2.5.egg (18.0 kB view details)

Uploaded Source

File details

Details for the file urlimport-0.85a-dev.tar.gz.

File metadata

File hashes

Hashes for urlimport-0.85a-dev.tar.gz
Algorithm Hash digest
SHA256 3e8cc9c9bb78cafe23d60760323d2364c4f9e5aaf362179b110a886dcfdf3631
MD5 248898c599487a30c3e6aa91d2f17b4e
BLAKE2b-256 875c36df0c3f6dd96b8c2ec21ea6bd318e9bd3b74fd31669c064922cac63762d

See more details on using hashes here.

File details

Details for the file urlimport-0.85a_dev-py2.5.egg.

File metadata

File hashes

Hashes for urlimport-0.85a_dev-py2.5.egg
Algorithm Hash digest
SHA256 f41fce80dfae713e90164b6ea397e1887607a4ad6e6b9f9a006328b02dad4d82
MD5 a2ba1b3a5d3f01ba799b1245edfd0100
BLAKE2b-256 43733d7510a5871b16e1fa060c34e31fade53c3b4ba945640a254c644bc079b4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page