{ "info": { "author": "Keith Byrne", "author_email": "keithmbyrne@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7" ], "description": "# KBPC\n\n![GitHub](https://img.shields.io/github/license/kmjbyrne/kbpc)\n[![PyPI version](https://badge.fury.io/py/kbpc.svg)](https://badge.fury.io/py/kbpc)\n[![Build Status](https://travis-ci.org/kmjbyrne/kbpc.svg?branch=master)](https://travis-ci.org/kmjbyrne/kbpc)\n[![Coverage Status](https://coveralls.io/repos/github/kmjbyrne/kbpc/badge.svg?branch=master)](https://coveralls.io/github/kmjbyrne/kbpc?branch=master)\n\nTable of contents\n=================\n\n\n\n* [Database](#database)\n * [Models](#models)\n * [User](#user)\n * [User Model](#user-model)\n * [User DAO](#user-dao)\n * [Serializer](#flask-alchemy-model-serializer)\n* [Common](#common)\n * [Exceptions](#exceptions)\n \n\n\n## Database\n\n\n### Models\n\n#### User Model\n\nDocs coming soon\n\n#### User DAO\n\nDocs coming soon\n\n---\n\n### Flask Alchemy Model Serializer\n\n\nTransformation was originally a series of routines written to convert FlaskAlchemy models into jsonifiable dict \nstructures. This proved to be a solution lacking elegance and evolved and eventually found its way into half a dozen \nprojects over time and eventually, then started to splinter into slightly different variations.\n\n#### Basic Usage\n\n```python\nfrom flask import jsonify\n\nfrom application.models import SomeFlaskAlchemyModel\nfrom kbpc.db.flaskalchemy import serializer\n\n# Assume the model has name and age as the model fields\nmodel = SomeFlaskAlchemyModel('John Doe', 25)\ntransformed_model = serializer.serialize(model)\n\n# This typically fails if you attempt it with the model.\njson = jsonify(data=model)\n\n# This however is serializable immediately\njson = jsonify(data=transformed_model)\n```\n\n\nOften, fields like passwords or other sensitive data should be hidden from responses or outputs. Usually this would be \nmanaged at the model class, and writing a to_dict() function or something similar, and simply not declaring the \nprotected properties of that instance.\n\n#### Protected Properties\n\n```python\nfrom flask import jsonify\n\nfrom application.models import SomeFlaskAlchemyModel\nfrom kbpc.db.flaskalchemy import serializer\n\n# Assume the model has name and age as the model fields\nmodel = SomeFlaskAlchemyModel('John Doe', 25)\ntablename = 'tablename_of_model'\nexclusions = {tablename: ['age']}\ntransformed_model = serializer.serialize(model, exclusions)\n\n# This however is serializable immediately\njson = jsonify(data=transformed_model)\n\n```", "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/kmjbyrne/kbpc", "keywords": "python library utilities", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "kbpc", "package_url": "https://pypi.org/project/kbpc/", "platform": "", "project_url": "https://pypi.org/project/kbpc/", "project_urls": { "Homepage": "https://github.com/kmjbyrne/kbpc" }, "release_url": "https://pypi.org/project/kbpc/0.1.17/", "requires_dist": null, "requires_python": "", "summary": "Reusable Python code for projects", "version": "0.1.17" }, "last_serial": 5797903, "releases": { "0.1.10": [ { "comment_text": "", "digests": { "md5": "93f2f783950880f9579492978b812e11", "sha256": "9d2fb1644e69611c1de2b296b605ffd2fb735bd9600b2512775a9322acfc85eb" }, "downloads": -1, "filename": "kbpc-0.1.10.tar.gz", "has_sig": false, "md5_digest": "93f2f783950880f9579492978b812e11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9367, "upload_time": "2019-09-07T01:57:57", "url": "https://files.pythonhosted.org/packages/78/37/90d7d561f1f9d73218f2f0e2028b9bf26819efd7e5a2b2347b7850bcb75c/kbpc-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "aeea293091e8a88d5e304a49e377e5bd", "sha256": "01624729da6af48d2193ac3ed8b6104e92d38ab95934191221714a3f28ab2855" }, "downloads": -1, "filename": "kbpc-0.1.11.tar.gz", "has_sig": false, "md5_digest": "aeea293091e8a88d5e304a49e377e5bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9333, "upload_time": "2019-09-07T01:59:03", "url": "https://files.pythonhosted.org/packages/d9/e8/2678ef9be81ac329cebd6964ab25962f5a34ea2dd096eaf865ddf4aa597f/kbpc-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "9cafb32025b62e794b8fbb24a5b0f44f", "sha256": "bc7e43148c24313fc5f4db4c2acd0d01617adb1facb1617775b5b46a8b867edd" }, "downloads": -1, "filename": "kbpc-0.1.12.tar.gz", "has_sig": false, "md5_digest": "9cafb32025b62e794b8fbb24a5b0f44f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9337, "upload_time": "2019-09-07T02:05:02", "url": "https://files.pythonhosted.org/packages/5b/78/9e9a27c3234b55f220b384700f100979de854b15dc9551bd6626d8f4410f/kbpc-0.1.12.tar.gz" } ], "0.1.13": [ { "comment_text": "", "digests": { "md5": "389e500c37f822f735ca6445d0b863a6", "sha256": "3a8cc85f701b6e74be117ebf8150d1f2c9e8166d90319490e6f13dd68dd6ca30" }, "downloads": -1, "filename": "kbpc-0.1.13.tar.gz", "has_sig": false, "md5_digest": "389e500c37f822f735ca6445d0b863a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9341, "upload_time": "2019-09-07T02:22:21", "url": "https://files.pythonhosted.org/packages/14/23/ec9f91163786aef4e3272f3f772f4e1e0271add740fb4972e3e00ffdaba7/kbpc-0.1.13.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "1144aea578e384a7514548d156d07e8e", "sha256": "8939b90d41c5c3c8c9a4dd752affc61d9573ed8406c5dc045fd681ea01edf2c1" }, "downloads": -1, "filename": "kbpc-0.1.14.tar.gz", "has_sig": false, "md5_digest": "1144aea578e384a7514548d156d07e8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9336, "upload_time": "2019-09-07T02:23:47", "url": "https://files.pythonhosted.org/packages/9f/22/f62aecaf3add5bdfea1b5148ebdb649c82331c9797b9b1b2a076a08782e9/kbpc-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "00395f589159b3379c1fdb89fba1e843", "sha256": "8fb6fe682c78747ff23c389bfede0fb2021a89a5ed04857dc5b2857e5a4c6478" }, "downloads": -1, "filename": "kbpc-0.1.15.tar.gz", "has_sig": false, "md5_digest": "00395f589159b3379c1fdb89fba1e843", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9359, "upload_time": "2019-09-07T18:48:29", "url": "https://files.pythonhosted.org/packages/b6/59/16b3ce3656c62c049110665d1828397ea375ba75ef08171aeec53f2ba141/kbpc-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "21226ea0ab325d07403dfbaea730d780", "sha256": "16878f111dcce6a900e67a12a5d291bd234b27df9cbb843225526d95af82ebee" }, "downloads": -1, "filename": "kbpc-0.1.16.tar.gz", "has_sig": false, "md5_digest": "21226ea0ab325d07403dfbaea730d780", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9366, "upload_time": "2019-09-07T19:09:00", "url": "https://files.pythonhosted.org/packages/dd/ca/29d4d3779637403bae5c1adb49c308ab8797409dda2440f4ab6eeca40043/kbpc-0.1.16.tar.gz" } ], "0.1.17": [ { "comment_text": "", "digests": { "md5": "ac605bf47b3670a74a4d5012a3ec5707", "sha256": "f6dbaf5e5a87d773fc66d45ebfcc3d1caa0d31e8b3df9ed4b75af2d243c606b5" }, "downloads": -1, "filename": "kbpc-0.1.17.tar.gz", "has_sig": false, "md5_digest": "ac605bf47b3670a74a4d5012a3ec5707", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10608, "upload_time": "2019-09-08T00:46:32", "url": "https://files.pythonhosted.org/packages/4f/86/bc5b179c2d200bef994ef250f020b42f2d6eaf58723a14ed32f61bf46cec/kbpc-0.1.17.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "556b51a4fd97580e8ffab513f292eaf2", "sha256": "3456597ae60d3321de4ea2ae93965a645d212243ee79c30a2ef76fd4d92f8a23" }, "downloads": -1, "filename": "kbpc-0.1.2.tar.gz", "has_sig": false, "md5_digest": "556b51a4fd97580e8ffab513f292eaf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2056, "upload_time": "2019-09-06T17:56:35", "url": "https://files.pythonhosted.org/packages/ed/90/addb70d7206f6aa66443b348d5f507ac2bb9dbfb3e826ae719eeed8a2237/kbpc-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "c04f239de7f4f48f763ff9d001feaf07", "sha256": "008d7dff51fd05239a164bb08a254bd020fc38e1c081b9b3ece5ffe30030a3e1" }, "downloads": -1, "filename": "kbpc-0.1.3.tar.gz", "has_sig": false, "md5_digest": "c04f239de7f4f48f763ff9d001feaf07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2044, "upload_time": "2019-09-06T18:06:32", "url": "https://files.pythonhosted.org/packages/c1/9c/240397adb37fd6fab05533dc890c6104b17be479a461b35c79ea0b9b276b/kbpc-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "c5801b5f9ef0d7b3ef06953909da34b9", "sha256": "d918027087db3ab6dca68509c583790cd540e2be1ad4fe8619710accc864f0dd" }, "downloads": -1, "filename": "kbpc-0.1.4.tar.gz", "has_sig": false, "md5_digest": "c5801b5f9ef0d7b3ef06953909da34b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2174, "upload_time": "2019-09-06T18:31:17", "url": "https://files.pythonhosted.org/packages/d4/39/d474f4203a25dc625150caab4273885aeeeae64bc58b8eaa02b34204f030/kbpc-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "ce7f48d7b68ef0eab3d417cab0642e0b", "sha256": "01be8ea9de24571544db048c8085fba13bcdb5e588d494dcd3dbeab65bad2b97" }, "downloads": -1, "filename": "kbpc-0.1.5.tar.gz", "has_sig": false, "md5_digest": "ce7f48d7b68ef0eab3d417cab0642e0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2209, "upload_time": "2019-09-06T19:07:47", "url": "https://files.pythonhosted.org/packages/c8/d7/c5f3618f7eb0152b1c945a982965fd227ee272a4cfbb63f09b3cd5a87f30/kbpc-0.1.5.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "f7e2dcfcb4d91f60adb9eafe0986e136", "sha256": "7f4c5802a2774f9e04ea87965704f7bad209b53e6c57888a1bc0a6a63c8ee259" }, "downloads": -1, "filename": "kbpc-0.1.7.tar.gz", "has_sig": false, "md5_digest": "f7e2dcfcb4d91f60adb9eafe0986e136", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9317, "upload_time": "2019-09-07T01:09:06", "url": "https://files.pythonhosted.org/packages/c6/e0/09dbe26492cedcb777220bc7f2486d40f63e502b1d05bc21005f576fbd86/kbpc-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "3dc36827d373f43ef84ee6afcebc33a6", "sha256": "ef0be9d5547f856b8a90f118043ace583eeff3f17f39a96480f26fd7c0b30c45" }, "downloads": -1, "filename": "kbpc-0.1.8.tar.gz", "has_sig": false, "md5_digest": "3dc36827d373f43ef84ee6afcebc33a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9334, "upload_time": "2019-09-07T01:42:16", "url": "https://files.pythonhosted.org/packages/06/5f/ee8f5b63ae8dc60479564d513c85bdbe77e8987fc54c0ed8d568c087c745/kbpc-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "4ce57f5cf8231ec5cda20c5f4987e508", "sha256": "89937acab73963679f31dbf6022cd422ebbae35b424274bec7fc78ff65f29261" }, "downloads": -1, "filename": "kbpc-0.1.9.tar.gz", "has_sig": false, "md5_digest": "4ce57f5cf8231ec5cda20c5f4987e508", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9354, "upload_time": "2019-09-07T01:43:46", "url": "https://files.pythonhosted.org/packages/4b/3e/5c5669283ec0eb473c7661dee48ce9282915cd339af326c44d2773c9edac/kbpc-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ac605bf47b3670a74a4d5012a3ec5707", "sha256": "f6dbaf5e5a87d773fc66d45ebfcc3d1caa0d31e8b3df9ed4b75af2d243c606b5" }, "downloads": -1, "filename": "kbpc-0.1.17.tar.gz", "has_sig": false, "md5_digest": "ac605bf47b3670a74a4d5012a3ec5707", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10608, "upload_time": "2019-09-08T00:46:32", "url": "https://files.pythonhosted.org/packages/4f/86/bc5b179c2d200bef994ef250f020b42f2d6eaf58723a14ed32f61bf46cec/kbpc-0.1.17.tar.gz" } ] }