{ "info": { "author": "Walter Doerwald", "author_email": "walter@livinglogic.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3 :: Only", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "``ll.la`` provides a Python API for the LivingApps system\n(see http://www.living-apps.de/ or http://www.living-apps.com/ for more info).\n\n``ll.la`` allows you to fetch the configured data sources from a template,\ncreate new records, and update and delete existing records all from your Python\nprompt (or script).\n\nFor more info about LivingApps and this Python SDK, see\nhttps://my.living-apps.de/docs/PythonSDK.html (in german).\n\n\n0.11 (2019-08-15)\n-----------------\n\n* The ``HTTPHandler`` now delays logging into LivingApps until the first real\n request. Furthermore it automatically appends ``gateway/`` to the base URL\n and omits that part when constructing request URLs. The result of that it\n that it's possible to replace to base URL with something else after the\n ``HTTPHandler`` has been created and before the first request is made.\n (This makes it possible to talk to the gateway host directly on custom\n LivingApps installations.)\n\n* Added a ``force`` argument to the method ``Record.save()``. With\n ``force=False`` (the default) any errors on the record or any of the fields\n will raise an exception. The ``force=True`` the record will be saved anyway.\n The return way indicated whether the record was really saved or the database\n or gateway returned an error. Referencing unsaved records or files now now be\n handled in a similar way: ``force=False`` will raise an exception and\n ``force=True`` will replace those references with ``None`` and add an error\n messsage to the field.\n\n* It is now possible to create a ``File`` object and pass the content to the\n constructor. This is useful when a file has to be uploaded but none of the\n supported methods for creating one via ``Handler.file`` do the right thing.\n If a content is passed, the mime type is ``image`` and the arguments\n ``width`` and ``height`` are ``None`` the image size will be calculated\n automatically from the data (using ``Pillow``).\n\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/LivingLogic/LivingApps.Python.LivingAPI", "keywords": "LivingApps", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ll-la", "package_url": "https://pypi.org/project/ll-la/", "platform": "", "project_url": "https://pypi.org/project/ll-la/", "project_urls": { "Homepage": "http://github.com/LivingLogic/LivingApps.Python.LivingAPI" }, "release_url": "https://pypi.org/project/ll-la/0.11/", "requires_dist": [ "ll-xist (>=5.50)", "requests (>=2.21.0)", "geocoder (>=1.30.1)" ], "requires_python": ">=3.6", "summary": "Python API for LivingApps", "version": "0.11" }, "last_serial": 5682815, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "73090d72689490f0179017b029234483", "sha256": "92ba0329925fdfa688302a21bff65ee39bae3749800446cda77b6edc211a107e" }, "downloads": -1, "filename": "ll_la-0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "73090d72689490f0179017b029234483", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32798, "upload_time": "2019-07-24T17:56:28", "url": "https://files.pythonhosted.org/packages/b5/44/92ec1f297c7b479ae2485d4deeaa9c806456d778359012aafe12882dc9e3/ll_la-0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f390d4681e4ddd8501f6a7b30fc5a56c", "sha256": "80677102e95239e0d4a1e256a1a8a93a0026dfc216a45ec3683883af2434535f" }, "downloads": -1, "filename": "ll-la-0.10.tar.gz", "has_sig": false, "md5_digest": "f390d4681e4ddd8501f6a7b30fc5a56c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39574, "upload_time": "2019-07-24T17:56:30", "url": "https://files.pythonhosted.org/packages/1e/0f/26c40d2b4a3fd1d3978213771451fb94963cfc493e6a61f02b971c0ea955/ll-la-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "05e1d801c62c507738d5580b8bae7e60", "sha256": "15e76a1952fa4a154924ad42ae5e8646f2f4a9a169961ca5254dfb4d4ce0e700" }, "downloads": -1, "filename": "ll_la-0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "05e1d801c62c507738d5580b8bae7e60", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33642, "upload_time": "2019-08-15T15:40:57", "url": "https://files.pythonhosted.org/packages/f5/bc/6420a0d118b6b3f9fbe8f394ec7ded9fd632efddb0f5e033c5b36559bc7e/ll_la-0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3a251bc7bceb63bbb13c29693bb9be3", "sha256": "14bc154b941709615fb5054286eba9d173c739211d728e032055e61745e257c1" }, "downloads": -1, "filename": "ll-la-0.11.tar.gz", "has_sig": false, "md5_digest": "f3a251bc7bceb63bbb13c29693bb9be3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 41064, "upload_time": "2019-08-15T15:41:00", "url": "https://files.pythonhosted.org/packages/8a/da/64095f5dff161dc69262a6f32a812956681514e70ff63605334d4f393570/ll-la-0.11.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "9ce17bc7f9c3409f237d09a5c1e224d8", "sha256": "47f7f6e48d887b66a3bc03f26041f51d191b08d744e887290d4297a151e36c73" }, "downloads": -1, "filename": "ll_la-0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "9ce17bc7f9c3409f237d09a5c1e224d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32611, "upload_time": "2019-06-26T14:36:05", "url": "https://files.pythonhosted.org/packages/be/15/7c74cac17c06e741c006320e35c83c9c29aba75ac096453e604ac37f188f/ll_la-0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "337f8db5aff8b7982a5615d4984e3d5b", "sha256": "9947f67b5c237804c6db3bfbf0bb181d4a2ae00fdfbbac470e280121e83b1428" }, "downloads": -1, "filename": "ll-la-0.9.tar.gz", "has_sig": false, "md5_digest": "337f8db5aff8b7982a5615d4984e3d5b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 39318, "upload_time": "2019-06-26T14:36:08", "url": "https://files.pythonhosted.org/packages/cd/7d/2663a91ca3ddd23e86ad13b5b56335f6fe4783101219f0ce832a549ef1c6/ll-la-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "05e1d801c62c507738d5580b8bae7e60", "sha256": "15e76a1952fa4a154924ad42ae5e8646f2f4a9a169961ca5254dfb4d4ce0e700" }, "downloads": -1, "filename": "ll_la-0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "05e1d801c62c507738d5580b8bae7e60", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 33642, "upload_time": "2019-08-15T15:40:57", "url": "https://files.pythonhosted.org/packages/f5/bc/6420a0d118b6b3f9fbe8f394ec7ded9fd632efddb0f5e033c5b36559bc7e/ll_la-0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3a251bc7bceb63bbb13c29693bb9be3", "sha256": "14bc154b941709615fb5054286eba9d173c739211d728e032055e61745e257c1" }, "downloads": -1, "filename": "ll-la-0.11.tar.gz", "has_sig": false, "md5_digest": "f3a251bc7bceb63bbb13c29693bb9be3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 41064, "upload_time": "2019-08-15T15:41:00", "url": "https://files.pythonhosted.org/packages/8a/da/64095f5dff161dc69262a6f32a812956681514e70ff63605334d4f393570/ll-la-0.11.tar.gz" } ] }