Metadata-Version: 1.0
Name: PyCIM
Version: 14.15.1
Summary: Python implementation of the Common Information Model.
Home-page: http://github.com/rwl/PyCIM
Author: Richard Lincoln
Author-email: r.w.lincoln@gmail.com
License: LGPL
Description: ============
        Introduction
        ============
        
        PyCIM is a Python implementation of the IEC Common Information Model. Current
        features include:
        
        - Support for IEC 61970 14v15 and IEC 61968 10v31.
        - Class and attribute documentation integrated as Python docstrings.
        - Transparent bi-directional reference handling using Python properties.
        - CIM RDF/XML parsing and serialisation according to IEC 61970-552.
        
        Installation
        ------------
        
        PyCIM has no dependencies beyond Python_ 2.5 or later. It can be easy_installed
        using setuptools_::
        
          $ easy_install PyCIM
        
        Alternatively, download and unpack the tarball and install::
        
          $ tar zxf PyCIM-14.15.tar.gz
          $ python setup.py install
        
        On UNIX systems, use sudo for the latter command if you need to install the
        scripts to a directory that requires root privileges::
        
          $ sudo python setup.py install
        
        The development Git_ repository can be cloned from GitHub_::
        
          $ git clone https://github.com/rwl/PyCIM.git
        
        Using PyCIM
        -----------
        
        To use PyCIM with the Python interpreter, iPython_ is recommended. For example,
        to instantiate a ``ConnecticityNode``:
        
        .. sourcecode:: ipython
        
          In [1]: from CIM14.IEC61970.Core import ConnectivityNode
        
          In [2]: node = ConnectivityNode(name='Node 1')
        
        To associate the node with a ``Terminal``:
        
        .. sourcecode:: ipython
        
          In [3]: from CIM14.IEC61970.Core import Terminal
        
          In [4]: t = Terminal(name='T1', ConnectivityNode=node)
        
          In [5]: node.Terminals[0].name
          Out[5]: 'T1'
        
        To add a ``Terminal`` to a ``ConnectivityNode``:
        
        .. sourcecode:: ipython
        
          In [6]: t2 = Terminal()
        
          In [7]: node.addTerminals(t2)
        
          In [8]: t2.ConnectivityNode.name
          Out[8]: 'Node 1'
        
        To view the docstring for an attribute:
        
        .. sourcecode:: ipython
        
          In [9]: t.connected?
          Type:     bool
          Base Class: <type 'bool'>
          String Form:    False
          Namespace:  Interactive
          Docstring:
              bool(x) -> bool
        
              Returns True when the argument x is true, False otherwise.
              The builtins True and False are the only two instances of the class bool.
              The class bool is a subclass of the class int, and cannot be subclassed.
        
        To parse a CIM RDF/XML file:
        
        .. sourcecode:: ipython
        
          In[1]: import logging
        
          In[2]: logging.basicConfig(level=logging.INFO)
        
          In[3]: from PyCIM import cimread
        
          In[4]: d = cimread('path/to/input_file.xml')
          INFO:PyCIM.RDFXMLReader:Created 5660 CIM objects in 1.04s.
        
        The ``cimread`` function returns a Python dictionary that maps UUIDs to CIM
        objects.  To serialise the dictionary of objects:
        
        .. sourcecode:: ipython
        
          In[5]: from PyCIM import cimwrite
        
          In[6]: cimwrite(d, 'path/to/output_file.xml')
          INFO:PyCIM.RDFXMLWriter:5660 CIM objects serialised in 1.14s.
        
        For further information refer to the `API documentation`_.
        
        License
        -------
        
        PyCIM is licensed under the `GNU Lesser General Public License`_ version 2.1
        to allow commercial use while ensuring it remains free and open source.
        
        Credits
        -------
        
        PyCIM is developed by Richard Lincoln (r.w.lincoln@gmail.com).
        
        .. _Python: http://www.python.org/
        .. _setuptools: http://peak.telecommunity.com/DevCenter/setuptools/
        .. _Git: http://git-scm.com/
        .. _GitHub: http://github.com/
        .. _iPython: http://ipython.scipy.org
        .. _`GNU Lesser General Public License`: http://www.gnu.org/licenses/lgpl-2.1.html
        .. _`API documentation`: http://packages.python.org/PyCIM
        
Platform: UNKNOWN
