|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- casimport
- =========
-
- This is a python module that is designed to load Python code from a
- cryptographic hash. The idea is that instead of having to package
- up simple code as a Python package, you can import it directly via
- the hash.
-
- There is the concept of aliases to make the import statements easier
- to read. An alias file is currently limited to python packages (modules
- in a directory w/ an __init__.py file). An example is the randpkg in
- the fixtures directory. You can put a file named cas_aliases.txt along
- side the __init__.py file. Each line of the file is:
- ```
- <alias> <url>
- ```
-
- Where alias is a simple name, and url is a location to find the file
- at. Currently, at least one hash url must be specified.
-
- The following url schemes are supported:
- <dl>
- <dt>hash</dt>
- <dd>At least one of these MUST be specified. The url format is specified
- by [hash-uri](https://github.com/hash-uri/hash-uri) and currently only
- a hash value of sha256 is supported.</dd>
- <dt>ipfs</dt>
- <dd>The format follows ipfs scheme url as specified by the
- [IPFS Addressing](https://github.com/ipfs/in-web-browsers/blob/master/ADDRESSING.md)
- document. It is recommend that CIDv1 addresses are used, as the
- host portion of a URL is case insensitive, and CIDv0 (the current
- default) values are case sensitive. An example is:
- `ipfs://bafkreibtbcckul7lwxqz7nyzj3dknhwrdxj5o4jc6gsroxxjhzz46albym`.</dd>
- <dt>https</dt>
- <dd>This is the standard web url that everyone is familar with.</dd>
- </dl>
-
- Usage
- -----
-
- Top level usage:
- ```
- import casimport
- from cas.v1_f_330884aa2febb5e19fb7194ec6a69ed11dd3d77122f1a5175ee93e73cf0161c3 import hello
-
- print(repr(hello('Alice')))
- ```
-
- Defintion of module names in cas package:
- v<num>_<type>_<arg>
-
- Currently v1 is defined, and has the following types:
- f The arg is the hash of the Python source file.
- Example generated via: shasum -a 256 hello.py
- a An alias. Any aliases must be loaded before being
- processed. This is a short name that could be used.
-
- Configuration
- -------------
-
- By default, a configuration file is read from `~/.casimport/casimport.conf`.
- The configuration file allows the specification of the priority of the
- different modules (does casimport search IPFS or HTTPS urls first), and
- the configuration each of the modules.
-
- The first time you import casimport, a sample configuration will be created.
- The default is a local cache the home directory, and then to use IPFS
- gateway, followed by normal https urls.
-
|