{ "info": { "author": "Victor Nakoryakov", "author_email": "nail.xx@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: Russian", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Utilities" ], "description": "pyinsales \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u043e\u0432 \u0434\u043b\u044f API \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 e-commerce \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b InSales,\n\u0446\u0435\u043b\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u043b\u0435\u0433\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u043a \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u043d\u0430 Python\u2019\u0435.\n\n\u0411\u0438\u043d\u0434\u0438\u043d\u0433\u0438 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u044b \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f [Incrates](http://incrates.ru), \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u043d\u0438 \u0431\u044b\u043b\u0438\n\u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e. \u041e\u043d\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0435 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438 \u0431\u044b\u043b\u0438\n\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 Open Source \u043f\u0440\u043e\u0435\u043a\u0442.\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n---------\n\n`$ pip install pyinsales`\n\n\u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438\n-----------\n\n * iso8601 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u0442\u0430\u043c\u0438\n\n\u0411\u044b\u0441\u0442\u0440\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\n--------------\n\n\u0421\u0430\u043c\u043e\u0435 \u0443\u0437\u043a\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u2014 \u0440\u0430\u0437\u0431\u043e\u0440 \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e XML. \u041e\u043d\u043e \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0438 \u0441\u0435\u0439\u0447\u0430\u0441\n\u043e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u043c \u043f\u0430\u0440\u0441\u0435\u0440\u0435 Expat, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u043c \u043d\u0430 C \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u043c \u043f\u043e \u043c\u043e\u0434\u0435\u043b\u0438\nSAX.\n\n\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0434\u0430\u0436\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0433\u0438\u0433\u0430\u043d\u0442\u0441\u043a\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043e\u0442\u043d\u0438\u043c\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430\n\u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.\n\n\u041f\u0440\u0438\u043c\u0435\u0440\u044b\n-------\n\n```python\n>>> from pprint import pprint\n>>> from insales import InSalesApi\n\n>>> api = InSalesApi.from_credentials('your-account-name', 'your-api-key', 'your-api-pass')\n\n>>> orders = api.get_orders(per_page=2, page=3)\n>>> pprint(orders)\n... [{u'accepted-at': None,\n... u'id': 749627,\n... u'client': {u'client-group-id': None,\n... u'created-at': datetime.datetime(2012, 8, 11, 14, 21, 21, tzinfo=),\n... u'email': None,\n... u'fields-values': [],\n... u'id': 696407,\n... u'middlename': None,\n... u'name': u'\u0412\u0430\u0441\u044f \u041f\u0443\u043f\u043a\u0438\u043d',\n... u'phone': u'+79031034423',\n... u'registered': False,\n... u'subscribe': True,\n... u'surname': None,\n... u'updated-at': datetime.datetime(2012, 8, 11, 14, 21, 21, tzinfo=)},\n... u'comment': None,\n... u'created-at': datetime.datetime(2012, 8, 11, 14, 21, 21, tzinfo=),\n... u'delivered-at': None,\n... u'delivery-date': None,\n... u'delivery-description': u'\u041f\u043e\u0447\u0442\u0430 \u0420\u043e\u0441\u0441\u0438\u0438',\n... # ...\n\n>>> order = api.create_order({\n... 'client': {\n... 'phone': '+70000000000',\n... 'name': u'\u0412\u0430\u0441\u044f',\n... },\n... 'order-lines-attributes': [{\n... 'variant-id': 4274495,\n... 'quantity': 3,\n... }],\n... 'payment-gateway-id': 79172,\n... 'delivery-variant-id': 21797,\n... })\n\n>>> pprint(order)\n... [{u'accepted-at': None,\n... u'id': 749629,\n... u'client': {u'client-group-id': None,\n... u'created-at': datetime.datetime(2012, 8, 11, 14, 23, 24, tzinfo=),\n... u'email': None,\n... u'fields-values': [],\n... u'id': 696412,\n... u'middlename': None,\n... u'name': u'\u0412\u0430\u0441\u044f \u041f\u0443\u043f\u043a\u0438\u043d',\n... u'phone': u'+7000000000',\n... u'registered': False,\n... u'subscribe': True,\n... u'surname': None,\n... u'updated-at': datetime.datetime(2012, 8, 11, 14, 23, 24, tzinfo=)},\n... u'comment': None,\n... u'created-at': datetime.datetime(2012, 8, 11, 14, 23, 24, tzinfo=),\n... u'delivered-at': None,\n... u'delivery-date': None,\n... u'delivery-description': u'\u041f\u043e\u0447\u0442\u0430 \u0420\u043e\u0441\u0441\u0438\u0438',\n... # ...\n\n>>> order = api.update_order(749629, {\n... 'fulfillment-status': 'accepted',\n... 'order-lines-attributes': [{\n... 'variant-id': 4274495,\n... 'quantity': 2,\n... }],\n... })\n\n>>> pprint(order)\n... [{u'accepted-at': datetime.datetime(2012, 8, 11, 14, 24, 47, tzinfo=),\n... u'id': 749629,\n... u'client': {u'client-group-id': None,\n... u'created-at': datetime.datetime(2012, 8, 11, 14, 23, 24, tzinfo=),\n... u'email': None,\n... u'fields-values': [],\n... u'id': 696412,\n... u'middlename': None,\n... u'name': u'\u0412\u0430\u0441\u044f \u041f\u0443\u043f\u043a\u0438\u043d',\n... u'phone': u'+7000000000',\n... u'registered': False,\n... u'subscribe': True,\n... u'surname': None,\n... u'updated-at': datetime.datetime(2012, 8, 11, 14, 23, 24, tzinfo=)},\n... u'comment': None,\n... u'created-at': datetime.datetime(2012, 8, 11, 14, 23, 24, tzinfo=),\n... u'delivered-at': None,\n... u'delivery-date': None,\n... u'delivery-description': u'\u041f\u043e\u0447\u0442\u0430 \u0420\u043e\u0441\u0441\u0438\u0438',\n... # ...\n\n>>> api.delete_order(749629)\n```\n\n\u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f\n---------\n\n * \u0412\u0441\u0435 \u043e\u0442\u0432\u0435\u0442\u044b \u043e\u0442 InSales \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u043a\u0430\u043a \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0442\u0438\u043f\u0438\u0437\u0430\u0446\u0438\u0435\u0439.\n \u0414\u043b\u044f \u0434\u0430\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f `datetime`, \u0434\u043b\u044f \u0432\u0435\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u2014 `Decimal` \u0438 \u0442.\u0434.\n * \u0412\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u044b\u0445 \u043e\u0442\u0432\u0435\u0442\u0430\u0445 \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043a `unicode`\n * \u0412\u0441\u0435 \u043c\u0435\u0442\u043e\u0434\u044b \u0434\u043b\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435\n \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u043e \u0435\u0441\u0442\u044c \u0438\u043c\u0435\u043d\u0430 \u0438 \u043d\u0430\u0431\u043e\u0440 \u043f\u043e\u043b\u0435\u0439 \u0432 \u043d\u0438\u0445 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0444\u043e\u0440\u0441\u0438\u0440\u0443\u044e\u0442\u0441\u044f\n \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b pyinsales. \u042d\u0442\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u044f\u043c\u0443\u044e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438 \u0431\u0443\u0434\u0443\u0449\u0438\u043c\u0438 \u043d\u043e\u0432\u043e\u0432\u0432\u0435\u0434\u0435\u043d\u0438\u044f\u043c\u0438 InSales\n \u0417\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0438 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043d\u0430\n [InSales API Wiki](http://wiki.insales.ru/wiki/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B_API)\n * \u0412\u0441\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0441\u0442\u0440\u043e\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043a\u0430\u043a `unicode`, \u0442\u0430\u043a \u0438 `str` \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 UTF-8\n * \u0412\u0441\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u0434\u043b\u044f get-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043a \u0441\u0442\u0440\u043e\u043a\u0430\u043c \u0434\u043e\u043b\u0436\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0412 \u0442\u043e\u043c\n \u0447\u0438\u0441\u043b\u0435 `datetime` \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442, \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0439 \u0432 InSales\n * \u0415\u0441\u043b\u0438 \u043c\u0435\u0442\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 (\u0437\u0430\u043a\u0430\u0437\u044b, \u0442\u043e\u0432\u0430\u0440\u044b \u0438 \u0442.\u043f.), \u0438 \u044d\u0442\u043e\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\n \u043f\u0443\u0441\u0442\u044b\u043c, \u043c\u0435\u0442\u043e\u0434 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 `[]`, \u043d\u0435 `None`\n\n\u041c\u0435\u0442\u043e\u0434\u044b InSalesApi\n-----------------\n\n\u0414\u043b\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441\u0443\u0444\u0444\u0438\u043a\u0441 `_id` \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 ID \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 InSales. \u041e\u043d\n\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u043b\u0438 `int` \u0438\u043b\u0438 \u0441\u0442\u0440\u043e\u043a\u043e\u0439. \u0421\u0443\u0444\u0444\u0438\u043a\u0441 `_data` \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443\n\u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439 \u0438 \u0441\u043f\u0438\u0441\u043a\u043e\u0432, \u0442\u043e\u0447\u043d\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f\nREST-endpoint\u2019\u043e\u043c \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b InSales \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430.\n\n```python\n#========================================================================\n# \u0417\u0430\u043a\u0430\u0437\u044b\n#========================================================================\nget_orders(self, per_page=25, page=1, updated_since=None):\nget_order(self, order_id):\nupdate_order(self, order_id, order_data):\ndelete_order(self, order_id):\ncreate_order(self, order_data):\nget_order_delivery_variants(self, order_data):\nget_order_payment_gateways(self, order_data):\n\n#========================================================================\n# \u041f\u043e\u043b\u044f \u0437\u0430\u043a\u0430\u0437\u043e\u0432\n#========================================================================\nget_orders_fields(self):\n\n#========================================================================\n# \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043d\u0430 \u0441\u043a\u043b\u0430\u0434\u0435\n#========================================================================\nget_categories(self):\nget_category(self, category_id):\nadd_category(self, category_data):\nupdate_category(self, category_id, category_data):\ndelete_category(self, category_id):\n\n#========================================================================\n# \u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435\n#========================================================================\nget_collections(self):\nget_collection(self, collection_id):\nadd_collection(self, collection_data):\nupdate_collection(self, collection_id, collection_data):\ndelete_collection(self, collection_id):\n\n#========================================================================\n# \u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0442\u043e\u0432\u0430\u0440\u043e\u0432\n#========================================================================\nget_option_names(self):\nget_option_name(self, option_name_id):\nadd_option_name(self, option_name):\nupdate_option_name(self, option_name_id, option_name_data):\ndelete_option_name(self, option_name_id):\n\n#========================================================================\n# \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\n#========================================================================\nget_option_values(self, option_name_id=None):\nget_option_value(self, option_name_id, option_value_id):\nadd_option_value(self, option_name_id, option_value_data):\nupdate_option_value(self, option_name_id, option_value_id, option_value_data):\ndelete_option_value(self, option_name_id, option_value_id):\n\n#========================================================================\n# \u0422\u043e\u0432\u0430\u0440\u044b\n#========================================================================\nget_products(self, limit=50, page=1, updated_since=None):\nget_product(self, product_id):\nadd_product(self, product_data):\nupdate_product(self, product_id, product_data):\ndelete_product(self, product_id):\n\n#========================================================================\n# \u041c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0442\u043e\u0432\u0430\u0440\u043e\u0432\n#========================================================================\nget_product_variants(self, product_id):\nget_product_variant(self, product_id, variant_id):\nadd_product_variant(self, product_id, variant_data):\nupdate_product_variant(self, product_id, variant_id, variant_data):\ndelete_product_variant(self, product_id, variant_id):\n\n#========================================================================\n# \u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0432\u0430\u0440\u0430\n#========================================================================\nget_product_images(self, product_id):\nget_product_image(self, product_id, image_id):\nadd_product_image(self, product_id, image_data):\nupdate_product_image(self, product_id, image_id, image_data):\ndelete_product_image(self, product_id, image_id):\n\n#========================================================================\n# \u0420\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0430\n#========================================================================\nget_collects(self, product_id=None, collection_id=None):\nadd_collect(self, collect_data):\nupdate_collect(self, collect_id, collect_data):\ndelete_collect(self, collect_id):\n\n#========================================================================\n# \u0412\u0435\u0431-\u0445\u0443\u043a\u0438\n#========================================================================\nget_webhooks(self):\nget_webhook(self, webhook_id):\nadd_webhook(self, webhook):\nupdate_webhook(self, webhook_id, webhook_data):\ndelete_webhook(self, webhook_id):\n\n#========================================================================\n# \u0411\u0438\u043b\u043b\u0438\u043d\u0433\n#========================================================================\nget_recurring_application_charge(self):\nadd_recurring_application_charge(self, recurring_application_charge_data):\nupdate_recurring_application_charge(self, recurring_application_charge_data):\n```\n\n\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f\n--------\n\npyinsales \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0438 MIT.\n\n\u0410\u0432\u0442\u043e\u0440\n-----\n\n\u0412\u0438\u043a\u0442\u043e\u0440 \u041d\u0430\u043a\u043e\u0440\u044f\u043a\u043e\u0432 ([nailxx](https://github.com/nailxx))", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/nailxx/pyinsales", "keywords": "insales API bindings", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pyinsales", "package_url": "https://pypi.org/project/pyinsales/", "platform": "", "project_url": "https://pypi.org/project/pyinsales/", "project_urls": { "Homepage": "https://github.com/nailxx/pyinsales" }, "release_url": "https://pypi.org/project/pyinsales/1.4.0/", "requires_dist": null, "requires_python": "", "summary": "InSales e-commerce platform API bindings", "version": "1.4.0" }, "last_serial": 5523749, "releases": { "0.6.0": [ { "comment_text": "", "digests": { "md5": "99f9e8906b293cb9ddbc50762547a06d", "sha256": "20d04f5c5e73996d95b6ec32a1d7add78405070c3fa057ed9d17bf185f2b356c" }, "downloads": -1, "filename": "pyinsales-0.6.0.tar.gz", "has_sig": false, "md5_digest": "99f9e8906b293cb9ddbc50762547a06d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8431, "upload_time": "2012-11-17T19:28:33", "url": "https://files.pythonhosted.org/packages/85/40/78ba8de17419eea3ea1477e0f7f0492632907aeba2472f856da707741c03/pyinsales-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "d5098220308f11c129902bee69d56da6", "sha256": "041d4224730c2bec6b794b8fe75d39e91b1904bf6017833e8a155c2712fdf4d8" }, "downloads": -1, "filename": "pyinsales-0.6.1.tar.gz", "has_sig": false, "md5_digest": "d5098220308f11c129902bee69d56da6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8532, "upload_time": "2012-11-17T19:34:54", "url": "https://files.pythonhosted.org/packages/ee/b6/0216d8f3c1b89437ce3398a53fd18d25eb1f913f4879d8618e34ce4a024e/pyinsales-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "48b074815f1c4c2934540c6134d6198d", "sha256": "cf6fed992c4111b1f77916872f89060002f15b789b4d93a9e336d67581511710" }, "downloads": -1, "filename": "pyinsales-0.6.2.tar.gz", "has_sig": false, "md5_digest": "48b074815f1c4c2934540c6134d6198d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9220, "upload_time": "2012-11-17T19:35:47", "url": "https://files.pythonhosted.org/packages/1f/c2/9d518bd2e09a7789f64c0248b0847ccf5d83d1ab084b193095722736ce7f/pyinsales-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "922aa764d3f82f5b467d340c7ae4897f", "sha256": "4d7af0ffe8468a16d1c68287c40b442036cfc1cb24b29820e6c28f0b6afbb107" }, "downloads": -1, "filename": "pyinsales-0.6.3.tar.gz", "has_sig": false, "md5_digest": "922aa764d3f82f5b467d340c7ae4897f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9140, "upload_time": "2013-01-28T08:38:10", "url": "https://files.pythonhosted.org/packages/0c/60/c2ba503094fe3cd32c772a1b455cb85d100d44f4143631d108776325c019/pyinsales-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "7f3fb5490806318d54dbc8c555f7b0d0", "sha256": "b5682826e26394567d785aac0f6e9a1b339ba4606a9f511d441d4c497b6e12ac" }, "downloads": -1, "filename": "pyinsales-0.6.4.tar.gz", "has_sig": false, "md5_digest": "7f3fb5490806318d54dbc8c555f7b0d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9325, "upload_time": "2013-09-11T09:04:16", "url": "https://files.pythonhosted.org/packages/78/d5/5cf678d6b3ff249728a8244d864e96755fb3969fc70ec7006c8d31975076/pyinsales-0.6.4.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "cd3d72db785905c9908ced0e018ca1c1", "sha256": "79600f617386ff15794ad8902cc3c0c69fc83d79ff3f798b8c0d88408d08d270" }, "downloads": -1, "filename": "pyinsales-0.7.0.tar.gz", "has_sig": false, "md5_digest": "cd3d72db785905c9908ced0e018ca1c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9380, "upload_time": "2014-08-03T12:02:39", "url": "https://files.pythonhosted.org/packages/74/44/c8d78114efc07f305d3d3c6afc07ada7707ffda7ac9642ef4ae34eb30e30/pyinsales-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "dae9a96753e16cb71b8c9af2cec0c819", "sha256": "c424689d266911825b18aaafb36adf65993e69b08310bc89b64274cabb553e29" }, "downloads": -1, "filename": "pyinsales-0.7.1.tar.gz", "has_sig": false, "md5_digest": "dae9a96753e16cb71b8c9af2cec0c819", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9407, "upload_time": "2014-12-23T13:13:31", "url": "https://files.pythonhosted.org/packages/80/9c/aee548d8d35682acae63430526a325268526c687763b54187937ea8fed74/pyinsales-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "0bffb7a2ce4afa2391bcf310f8596ced", "sha256": "6d818f277bc8a7ebff59a611d6a742961d0039c77a8463c3fc1142d0df2f7c79" }, "downloads": -1, "filename": "pyinsales-0.7.2.tar.gz", "has_sig": false, "md5_digest": "0bffb7a2ce4afa2391bcf310f8596ced", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9429, "upload_time": "2014-12-28T12:31:00", "url": "https://files.pythonhosted.org/packages/95/7c/672bdadb7f2a7fc3aefb6ad966f4bc12983314ee05c51855adae5237991d/pyinsales-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "d3270d65827ece82874dd04d6b0eba39", "sha256": "55d0764039a438eb73786f0212ece59dcd5c32f1d773f5cd8021668019811f39" }, "downloads": -1, "filename": "pyinsales-0.7.3.tar.gz", "has_sig": false, "md5_digest": "d3270d65827ece82874dd04d6b0eba39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9565, "upload_time": "2015-02-27T10:33:27", "url": "https://files.pythonhosted.org/packages/5d/fa/a292ac08fd9c20ac17cb2d63cf7d2a93a31512bb92352d9e236405f75fc2/pyinsales-0.7.3.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "504797c3f307a62bdd5d94efa7dd5ee0", "sha256": "ab6a614d52f78a5fe338cece7286bed352bc7b2ba3d07fc920e76bb784c0acc8" }, "downloads": -1, "filename": "pyinsales-0.7.4.tar.gz", "has_sig": false, "md5_digest": "504797c3f307a62bdd5d94efa7dd5ee0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9581, "upload_time": "2016-02-16T10:53:24", "url": "https://files.pythonhosted.org/packages/ef/61/fc201f21e9a0d66c61a9b27768f38a293bb5f417810e1f2a1b583a616a70/pyinsales-0.7.4.tar.gz" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "76d21e20aebae6c2f4d1932a5c4ecc37", "sha256": "ed63c080bf77c735dd02b58186f77fa4e2bebdf0e356aa98f74bba4407a80865" }, "downloads": -1, "filename": "pyinsales-0.7.5.tar.gz", "has_sig": false, "md5_digest": "76d21e20aebae6c2f4d1932a5c4ecc37", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9628, "upload_time": "2016-02-19T13:52:49", "url": "https://files.pythonhosted.org/packages/91/a0/56597f2a4daeddab50499449d37d64f997755d4414eeecb6e2024170d45f/pyinsales-0.7.5.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "851878adc5128cf31cb5d82bc4490f68", "sha256": "b9ac94a05d3f8b6eb3c37c8d19e147d54ce0a8fb84102499be9df49c0e704501" }, "downloads": -1, "filename": "pyinsales-1.0.0.tar.gz", "has_sig": false, "md5_digest": "851878adc5128cf31cb5d82bc4490f68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9572, "upload_time": "2018-08-06T11:37:19", "url": "https://files.pythonhosted.org/packages/74/34/828de8fd24c2bdac9b2ba944d3e5d7f8029fb3d740b9d2660c49959b27cc/pyinsales-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "ddb5382ae32c898ce2c4fd8ab35c4917", "sha256": "d50bc90a76bfc00013fa05ab6150c7d5940014ccee2ede80febc6d69e749037c" }, "downloads": -1, "filename": "pyinsales-1.1.0.tar.gz", "has_sig": false, "md5_digest": "ddb5382ae32c898ce2c4fd8ab35c4917", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12443, "upload_time": "2018-12-27T12:42:19", "url": "https://files.pythonhosted.org/packages/1c/27/4b130e661ea6723d437cdb34fc62cba718c6f6382806b78c84607064b9da/pyinsales-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "593ef9a3abee441e5326d6a42d7bf06e", "sha256": "085c0ef006d2ab115c109e0784847522b682904f64fc5391092c04d96f142a70" }, "downloads": -1, "filename": "pyinsales-1.1.1.tar.gz", "has_sig": false, "md5_digest": "593ef9a3abee441e5326d6a42d7bf06e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12480, "upload_time": "2019-03-20T11:45:06", "url": "https://files.pythonhosted.org/packages/68/02/4121405b415da8f0086ae930428a8324b23ef18bfbed14b522b611e1bb48/pyinsales-1.1.1.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "1511b3d0556d90a605cb83193b8e65b9", "sha256": "424d0027812bb428dcacb6689093550dc552454e323304314142ba826d04aa2a" }, "downloads": -1, "filename": "pyinsales-1.2.1.tar.gz", "has_sig": false, "md5_digest": "1511b3d0556d90a605cb83193b8e65b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13222, "upload_time": "2019-06-27T14:24:39", "url": "https://files.pythonhosted.org/packages/9e/07/cac9788e08b7ecce388b2d2dcdc9a3925e1b6e3b4f82493b8b6c112a4c68/pyinsales-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "83ecb29a06975156c9d1cd3bccaf5968", "sha256": "53a5b9ecf6adab1a65c762516b55190d1b4e5869a81d27ee87b1c9caf8f870c2" }, "downloads": -1, "filename": "pyinsales-1.3.0.tar.gz", "has_sig": false, "md5_digest": "83ecb29a06975156c9d1cd3bccaf5968", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13274, "upload_time": "2019-07-08T08:23:47", "url": "https://files.pythonhosted.org/packages/11/ab/89ad33f332799f288250730c8933d35c7b9bc5afdc1df00a0ddcd65ef156/pyinsales-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "ab2f692e1ec662ffbcfe239442f3fdfd", "sha256": "497f292daaef2377f094abc5689a7c95093e9c7356bb2c65504fe37fae36d972" }, "downloads": -1, "filename": "pyinsales-1.4.0.tar.gz", "has_sig": false, "md5_digest": "ab2f692e1ec662ffbcfe239442f3fdfd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13371, "upload_time": "2019-07-12T15:45:08", "url": "https://files.pythonhosted.org/packages/84/f1/4fb5028475b61cfba30a55cfaef7dfbab83ecf6e378e3781e17a448f8244/pyinsales-1.4.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ab2f692e1ec662ffbcfe239442f3fdfd", "sha256": "497f292daaef2377f094abc5689a7c95093e9c7356bb2c65504fe37fae36d972" }, "downloads": -1, "filename": "pyinsales-1.4.0.tar.gz", "has_sig": false, "md5_digest": "ab2f692e1ec662ffbcfe239442f3fdfd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13371, "upload_time": "2019-07-12T15:45:08", "url": "https://files.pythonhosted.org/packages/84/f1/4fb5028475b61cfba30a55cfaef7dfbab83ecf6e378e3781e17a448f8244/pyinsales-1.4.0.tar.gz" } ] }