README 1.23 KB
Newer Older
Guido van Rossum's avatar
Guido van Rossum committed
1 2 3
This is a Python interface to Sun RPC, designed and implemented mostly
by reading the Internet RFCs about the subject.

4 5
*** NOTE: xdr.py has evolved into the standard module xdrlib.py ***

Guido van Rossum's avatar
Guido van Rossum committed
6 7 8 9 10 11 12 13
There are two library modules, xdr.py and rpc.py, and several example
clients: mountclient.py, nfsclient.py, and rnusersclient.py,
implementing the NFS Mount protocol, (part of) the NFS protocol, and
the "rnusers" protocol (used by rusers(1)), respectively.  The latter
demonstrates the use of broadcast via the Port mapper's CALLIT
procedure.

There is also a way to create servers in Python.
Guido van Rossum's avatar
Guido van Rossum committed
14 15 16

To test the nfs client, run it from the shell with something like this:

Guido van Rossum's avatar
Guido van Rossum committed
17
  python -c 'import nfsclient; nfsclient.test()' [hostname [filesystemname]]
Guido van Rossum's avatar
Guido van Rossum committed
18 19

When called without a filesystemname, it lists the filesystems at the
Guido van Rossum's avatar
Guido van Rossum committed
20 21 22
host; default host is the local machine.

Other clients are tested similarly.
Guido van Rossum's avatar
Guido van Rossum committed
23 24 25

For hostname, use e.g. wuarchive.wustl.edu or gatekeeper.dec.com (two
hosts that are known to export NFS filesystems with little restrictions).
26 27 28 29 30 31

There are now two different RPC compilers:

1) Wim Lewis rpcgen.py found on http://www.omnigroup.com/~wiml/soft/stale-index.html#python. 

2) Peter Åstrands rpcgen.py, which is part of "pynfs" (http://www.cendio.se/~peter/pynfs/).