{ "info": { "author": "Guillaume Bour", "author_email": "guillaume@bour.cc", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: No Input/Output (Daemon)", "Environment :: Web Environment", "Environment :: X11 Applications", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3", "Natural Language :: English", "Natural Language :: French", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Database", "Topic :: Internet", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Application Frameworks", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Tentacles is a python ORM.\r\nThe main idea is to manipulate stored datas as you do for python data structures\r\n\r\npython native:\r\n\r\n\t>>> class SuperHero(object):\r\n\t>>>\t\tdef __init__(self, name, gender, power):\r\n\t>>>\t\t\tself.name = name\r\n\t>>>\t\t\tself.gender = gender\r\n\t>>>\t\t\tself.power = power\r\n\t>>>\r\n\t>>> hero1 = SuperHero('superman', 'male', 'flight')\r\n\t>>> print \"%s can %s\" % (hero1.name, hero1.power)\r\n\r\n... vs tentacles ...:\r\n\r\n\t>>> from tentacles import Object\r\n\t>>> from tentacles.fields import *\r\n\t>>> class SuperHero(Object):\r\n\t>>>\tname = String()\r\n\t>>> \tgender = String()\r\n\t>>> \tpower = String()\r\n\t>>>\r\n\t>>> hero1 = SuperHero(name='superman', gender='male', power='flight')\r\n\t>>> print \"%s can %s\" % (hero1.name, hero1.power)\r\n\r\n\r\npython native:\r\n\r\n\t>>> heros = [hero1, SuperHero(name='wonder woman', gender='female', power='enhanced vision')]\r\n\t>>> females = filter(lambda e: e.gender = 'female', heros)\r\n\t>>> for e in females:\r\n\t>>> \tprint \"superheroine: %s\" % e.name\r\n\r\n... vs tentacles ...:\r\n\r\n\t>>> hero1.save(); SuperHero(name='wonder woman', gender='female', power='enhanced vision').save()\r\n\t>>> females = filter(lambda e: e.gender = 'female', heros)\r\n\t>>> for e in females:\r\n\t>>> \tprint \"superheroine: %s\" % e.name\r\n\r\n\r\nTentacles is pretty yound and incomplete, and still in alpha stage.\r\nIt currently support only sqlite3 backend, while more are scheduled at mid-term (mysql, postgresql, but also no-sql storages, like openldap, mongodb, ...)", "description_content_type": null, "docs_url": null, "download_url": "http://devedge.bour.cc/resources/tentacles/src/tentacles.latest.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://devedge.bour.cc/wiki/Tentacles", "keywords": "", "license": "GNU General Public License v3", "maintainer": "", "maintainer_email": "", "name": "tentacles", "package_url": "https://pypi.org/project/tentacles/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tentacles/", "project_urls": { "Download": "http://devedge.bour.cc/resources/tentacles/src/tentacles.latest.tar.gz", "Homepage": "http://devedge.bour.cc/wiki/Tentacles" }, "release_url": "https://pypi.org/project/tentacles/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Object-Relational Mapping (ORM)", "version": "0.1.1" }, "last_serial": 800455, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "112306816d21faec1f07eb40ee68254d", "sha256": "4e3a8cf13912d1fd0817e642b5a75aca889e5bcc5e5ea466824ef0f698455f8a" }, "downloads": -1, "filename": "tentacles-0.1.0.tar.gz", "has_sig": false, "md5_digest": "112306816d21faec1f07eb40ee68254d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31948, "upload_time": "2011-04-04T08:13:15", "url": "https://files.pythonhosted.org/packages/8c/97/2df478aa1bddd048cefd869ecce773a681b60174c0efc7f847af77fb1ac3/tentacles-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d5e7e55e528dbd0d9811a0ddf7dfafc6", "sha256": "90849b07ae6eb53b485ae805f6f86a71c0d098c9cd3687b00e943928b1858d6e" }, "downloads": -1, "filename": "tentacles-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d5e7e55e528dbd0d9811a0ddf7dfafc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42395, "upload_time": "2011-06-11T23:36:49", "url": "https://files.pythonhosted.org/packages/c6/04/047742b2527651b80a4775c2e3bad200b08b4d3b9adb965a699594510432/tentacles-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d5e7e55e528dbd0d9811a0ddf7dfafc6", "sha256": "90849b07ae6eb53b485ae805f6f86a71c0d098c9cd3687b00e943928b1858d6e" }, "downloads": -1, "filename": "tentacles-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d5e7e55e528dbd0d9811a0ddf7dfafc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42395, "upload_time": "2011-06-11T23:36:49", "url": "https://files.pythonhosted.org/packages/c6/04/047742b2527651b80a4775c2e3bad200b08b4d3b9adb965a699594510432/tentacles-0.1.1.tar.gz" } ] }