Metadata-Version: 1.0
Name: smartdc
Version: 0.1.7
Summary: Joyent SmartDataCenter CloudAPI connector using http-signature authentication via Requests
Home-page: https://github.com/atl/py-smartdc
Author: Adam T. Lindsay
Author-email: a.lindsay+github@gmail.com
License: MIT
Description: Python SmartDataCenter
        ======================
        
        Connect with Joyent_'s SmartDataCenter CloudAPI_ via Python, using secure 
        http-signature_ signed requests.
        
        This is a third-party effort.
        
        This module currently supports:
        
        * Secure connections (via py-http-signature_ and ssh-agent, when available)
        * Key management
        * Browsing and access of datacenters, datasets (OS distributions/VM bundles), 
          and packages (machine sizes and resources)
        * Machine listing, search, creation, management 
          (start/stop/reboot/resize/delete), snapshotting, metadata, and tags
        * Installing boot scripts on machines
        
        It attempts to provide Pythonic objects (for Data Centers, Machines and 
        Snapshots) and convenience methods only when appropriate, and otherwise deals 
        with string identifiers or dicts as lightweight objects.
        
        Requirements
        ------------
        
        * requests_
        * py-http-signature_
        * PyCrypto_ (required by py-http-signature)
        * ssh_ (used by py-http-signature for its ``ssh-agent`` integration)
        
        We assume that ``json`` is present because requests now requires py2.6 and 
        up.
        
        Python SmartDataCenter Links
        ----------------------------
        
        * `smartdc in PyPI`_
        * `http_signature in PyPI`_
        * `py-smartdc at GitHub`_
        * `py-http-signature at GitHub`_
        * `py-smartdc Documentation`_ & API reference
        * `Joyent CloudAPI Documentation`_
        
        .. _Joyent: http://joyentcloud.com/
        .. _CloudAPI: https://api.joyentcloud.com/docs
        .. _Joyent CloudAPI Documentation: CloudAPI_
        .. _http-signature: 
            https://github.com/joyent/node-http-signature/blob/master/http_signing.md
        .. _requests: https://github.com/kennethreitz/requests
        .. _PyCrypto: http://pypi.python.org/pypi/pycrypto
        .. _ssh: https://github.com/bitprophet/ssh
        .. _smartdc in PyPI: http://pypi.python.org/pypi/smartdc
        .. _http_signature in PyPI: http://pypi.python.org/pypi/http_signature
        .. _py-http-signature: `http_signature in PyPI`_
        .. _py-http-signature at GitHub: https://github.com/atl/py-http-signature
        .. _py-smartdc at GitHub: https://github.com/atl/py-smartdc
        .. _py-smartdc Documentation: http://packages.python.org/smartdc/
        
        Installation
        ------------
        
        ::
        
            pip install smartdc
        
        Quickstart
        ----------
        
        ::
        
            from smartdc import DataCenter
            
            sdc = DataCenter(location='us-sw-1', key_id='/test/keys/test_key')
            
            sdc.datasets()
            
            sm = sdc.create_machine(name='test', dataset='sdc:sdc:smartosplus:',
                  package='Small 1GB')
            
            sm.poll_until('running')
            
            import urllib2
            
            urllib2.urlopen('http://' + sm.public_ips[0]).headers.dict
            
            sm.stop()
            
            sm.poll_until('stopped')
            
            sm.delete()
        
        Why?
        ----
        
        A colleague and I wanted something Pythonic to fit into our preferred 
        toolchain, and the easiest approach was to build it myself. Requests made some 
        aspects stupidly easy, which is why I created the dependency for the first 
        version. The colleague wanted integration with ``ssh-agent``, and using ssh_ 
        was the easiest path to that.
        
        Authors
        -------
        
        `Adam T. Lindsay`_
        
        .. _Adam T. Lindsay: http://atl.me/
        
        License
        -------
        
        MIT
        
        
        Changes
        -------
        
        0.1.7 (2012-05-01)
        ~~~~~~~~~~~~~~~~~~
        * Renamed metadata_dict and tag_dict parameters to metadata and tags
        * POST data as JSON, rather than encoded in URL
        * Added boot_script option on machine creation
        * Process and expose credentials
        * Slight tutorial and other documentation cleanup
        * Local filtering on datasets and packages
        
        0.1.6 (2012-04-30)
        ~~~~~~~~~~~~~~~~~~
        * Fixed release issues (README)
        * Moved long tutorial out of the README
        * Integrated with ``ssh-agent`` changes in ``http_signature``
        
        
Keywords: http,web,joyent,admin,operations
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Boot
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 3 - Alpha
