Metadata-Version: 1.0
Name: python-magento
Version: 0.2.1
Summary: A Python wrapper to Magento's XML-RPC API.
Home-page: https://github.com/voberoi/python-magento
Author: Vikram Oberoi
Author-email: voberoi@gmail.com
License: The MIT License

Copyright (c) 2013 Vikram Oberoi

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Description: python-magento
        ==============
        
        This is a simple Python interface to Magento's XML-RPC API. The API
        discovers and makes all of Magento's API methods available to you by
        discovery.
        
        Usage
        -----
        
        .. code:: python
        
            from magento import MagentoAPI
        
            magento = MagentoAPI("magentohost.com", 80, "test_api_user", "test_api_key")
        
            magento.help() # Prints out all resources discovered and available
            magento.cart.help() # 'cart' is a resource. Prints a description of all 'cart'
                                # methods available to you.
        
            magento.sales_order.help() # 'sales_order' is a resource. 'list' is a method. 
        
            # Let's add up sales subtotals!
            orders = magento.sales_order.list()
            subtotals = [order["subtotal"] for order in orders]
            revenue = sum(subtotals)
        
            # Additionally, you can get API metadata from these calls:
            json_description_of_resources = magento.resources()
            json_description_of_possible_global_exceptions = magento.global_faults()
            json_description_of_possible_resource_exceptions = magento.resource_faults("sales_order")
        
        The API discovers and makes all of Magento's API methods available to
        you by discovery. The best way to learn how to use the API is to play
        around with it in a Python shell and refer back to the `Magento API
        documentation <http://www.magentocommerce.com/api/soap/introduction.html>`__
        for docs on the usage of specific methods.
        
        Quick IPython Shell
        -------------------
        
        The Magento API is massive and difficult to use. If you need to use it
        in some production capacity, you'll want to jump into a shell frequently
        and muck around with inputs and stare at outputs.
        
        ``magento-ipython-shell`` will drop you into an IPython shell that has a
        variable bound to a MagentoAPI object that is ready for use.
        
        The shell requires IPython, which is the bee's knees. Install it and get
        it working first. Alternately, spin up a Python shell and instantiate
        the objects you need. This is just a slightly nicer way to get started
        mucking around.
        
        Here's how to launch it:
        
        ::
        
            > magento-ipython-shell mymagentoserver.com 80 test_api_user test_api_key
        
            -- magento-ipython-shell -----------------
            Connecting to 'http://localhost.com:8888/magento/api/xmlrpc'
            Using API user/key api_user/api_key
            Connected! The 'magento' variable is bound to a usable MagentoAPI instance.
            -- magento-ipython-shell -----------------
        
            Python 2.7.2 (default, Jun 16 2012, 12:38:40) 
            Type "copyright", "credits" or "license" for more information.
        
            IPython 0.13.1 -- An enhanced Interactive Python.
            ?         -> Introduction and overview of IPython's features.
            %quickref -> Quick reference.
            help      -> Python's own help system.
            object?   -> Details about 'object', use 'object??' for extra details.
        
            In [1]:
        
        Now you can mess around with the ``magento`` instance.
        
        ::
        
            In [1] magento
            Out[1]: <magento.MagentoAPI at 0x107d3c310>
        
            In [2]: magento.help() # Lists all the resources available and their methods.
            Resources:
        
            cart: create, info, license, order, totals
            cart_coupon: add, remove
            ... (many more)
        
            In [3]: magento.cart.help() # Describes the methods available under a resource.
            cart: Shopping Cart
              - create: Create shopping cart
              - info: Retrieve information about shopping cart
              - license: Get terms and conditions
              - order: Create an order from shopping cart
              - totals: Get total prices for shopping cart
        
            In [4]: len(magento.sales_order.list()) # Play around with output.
            Out[4]: 2
        
        Installation
        ------------
        
        python-magento is on PyPi:
        
        -  ``pip install python-magento``
        -  ``easy_install python-magento``
        
        ... or grab this code and run ``setup.py install``
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
