1. Introduction 1.1. Project/Component Working Name: simplejson 1.2. Name of Document Author/Supplier: Brian Cameron 1.3. Date of This Document: 11/18/2008 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: Solaris PAC 1.4.2. The ARC(s) you expect to review your project: LSARC 1.4.3. The Director/VP who is "Sponsoring" this project: Robert O'Dea 1.4.4. The name of your business unit: Software - OPG 1.5. Email Aliases: 1.5.1. Responsible Manager: leo.binchy@sun.com 1.5.2. Responsible Engineer: brian.cameron@sun.com 1.5.3 Marketing Manager: dan.robert@sun.com 1.5.4. Interest List: desktop-discuss@opensolaris.org 2. Project Summary 2.1. Project Description: simplejson is a simple, fast, complete, and extensible JSON encoder/decoder for Python 2.3+. simplejson is pure Python code with no dependencies. The encoder may be subclassed to provide serialization in any kind of situation, without any special support by the objects to be serialized (somewhat like pickle). The decoder can handle incoming JSON strings of any specified encoding (UTF-8 by default). The simplejson module is used by Elisa for its plugin configuration system, and also is used in the Deskbar applet for it's "Google Search" feature to work. 4. Technical Description: 4.1. Details: JSON (JavaScript Object Notation) is a lightweight data-interchange format which is easy for humans to read and write, and for machines to parse and generate. It is based on a subset of the "JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999". JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language. JSON is built on two structures: * A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array. * An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence. These are universal data structures. Virtually all modern programming languages support them in one form or another. It makes sense that a data format that is interchangable with programming languages also be based on these structures. For more information about JSON, refer to the JSON specification. 4.2. Interfaces: Exported Interfaces Stability Comments ------------------- -------------- ----------------------- /usr/lib/python2.4/vendor-packages/simplejson Uncommitted Python API SUNWpython-simplejson Uncommitted Package name Imported Interfaces Stability Comments --------------- --------------- ----------------------- Python External PSARC/2005/532 Python Evolving Migration from /usr/sfw to /usr and upgrade to v2.4.x 4.3. Doc Impact: None. 4.4. Packaging & Delivery: SUNWpython-simplejson - the package for simplejson. 4.5. Dependencies: None. 4.6. L10N Impact: The Desktop team and the G11N are working together to evaluate and provide I18N/L10N support. 4.7 Security Impact: None. 5. Reference Documents: simplejson community: http://pypi.python.org/pypi/simplejson simplejson API docs: http://simplejson.googlecode.com/svn/tags/simplejson-2.0.4/docs/index.html JSON Specification: http://www.json.org/