{ "info": { "author": "Niklas Lindstr\u00c3\u00b6m", "author_email": "lindstream@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Paste", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: WSGI :: Application", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "========================================================================\nOortPub\n========================================================================\n\nOortPub is a toolkit for creating RDF_-driven WSGI_-compliant web applications.\n\nThe purpose of this is to make it easy to create web views of RDF Graphs by \nusing some declarative python programming.\n\nOortPub uses RDFLib_, Paste_ and Genshi_ for the heaving lifting.\n\n.. _RDF: http://www.rdfabout.net\n.. _WSGI: http://wsgi.org\n.. _RDFLib: http://rdflib.net\n.. _Paste: http://pythonpaste.org\n.. _Genshi: http://genshi.edgewall.org/\n\nThe RDF-to-objects facility comes from the Oort_ core package, released \nseparately.\n\n.. _Oort: http://www.python.org/pypi/Oort/\n\nOverview\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe main package is:\n\n``oort.sitebase``\n Contains classes used for declarative definitions of *displays*, used for \n matching resources and rendering a particular output (html, json etc.). By \n defining *aspects*, the type (or super-type) of a selected resource is \n mapped to a particular RdfQuery and an associated template.\n\n One or more displays are put in the context of a *resource viewer*, which \n becomes a WSGI application ready to mount in your WSGI environment.\n\nHow?\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nLoads of RDF data like::\n\n a :SiteNode;\n dc:title \"Main Page\"@en, \"Huvudsida\"@sv;\n dc:altTitle \"Main\", \"Hem\"@sv;\n :relations (\n \n \n );\n :nodeContent '''

Welcome

'''^^rdfs:XMLLiteral,\n '''

Välkommen

'''^^rdfs:XMLLiteral .\n\n a foaf:Person;\n foaf:name \"Some One\";\n foaf:knows .\n\nA couple of RdfQuerys::\n\n from oort.rdfview import *\n SITE = Namespace(\"http://example.org/ns/2007/website#\")\n\n class Titled(RdfQuery):\n title = localized(DC)\n altTitle = localized(DC.alternative)\n\n class SiteNode(Titled):\n relations = collection(SITE) >> Titled\n nodeContent = localized_xml(SITE)\n\n class Person(RdfQuery):\n name = one(FOAF)\n knows = each(FOAF) >> 'Person'\n\nAnd a web application::\n\n from oort.sitebase import *\n from myapp import queries\n from myapp.ns import SITE\n\n class ExampleViewer(ResourceViewer):\n\n resourceBase = \"http://example.org/oort/\"\n langOrder = 'en', 'sv'\n\n class PlainWebDisplay(Display):\n name = \"main\"\n default = True\n outputMethod = 'xhtml'\n outputEncoding = 'iso-8859-1'\n templateBase = \"view/mainweb\"\n globalQueries = {'languages': queries.sitelabels }\n aspects = [\n Aspect(SITE.SiteNode, \"sitenode.xhtml\",\n {'node': queries.SiteNode}) ,\n Aspect(FOAF.Person, \"person.xhtml\",\n {'person': queries.Person}) ,\n Aspect(RDFS.Resource, \"not_found.xhtml\")\n ]\n\n class JsonDisplay(Display):\n name = \"json\"\n contentType = 'application/x-javascript'\n aspects = [\n JsonAspect(SITE.SiteNode, {'node': queries.SiteNode})\n ]\n\nBut wait, there's more..\n\nPaste!\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nMakes WSGI go down smoothly. ResourceViewers take RDFLib ``Graph`` instances in \ntheir constructors and become callables adhering to the spec.\n\nTo get started quickly, run::\n\n $ paster create -t oort_app\n ... fill in desired values in the dialogue\n $ cd myapp/\n $ vim # edit and test..\n $ chmod u+x webapp.ini\n $ ./webapp.ini\n\nWhy?\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nBecause RDF is a formidable technology that could revolutionize the way \ninformation is treated and shared. Python and WSGI are exemplary technologies \nto use when building applications dealing with such data.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://oort.to/", "keywords": "toolkit rdf web wsgi", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "OortPub", "package_url": "https://pypi.org/project/OortPub/", "platform": "any", "project_url": "https://pypi.org/project/OortPub/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://oort.to/" }, "release_url": "https://pypi.org/project/OortPub/0.1/", "requires_dist": null, "requires_python": null, "summary": "An Oort-based, WSGI-enabled toolkit for creating RDF-driven web apps.", "version": "0.1" }, "last_serial": 784839, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "2a32f88a53bf120d22284c53f7871e14", "sha256": "889fd017727b7c21149fdd4c496a07f1cf9b6a081616fae665766e55f1290d39" }, "downloads": -1, "filename": "OortPub-0.1-py2.5.egg", "has_sig": false, "md5_digest": "2a32f88a53bf120d22284c53f7871e14", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 32615, "upload_time": "2007-10-07T17:39:15", "url": "https://files.pythonhosted.org/packages/b1/9b/1d0b888c566fadb34bb3c92cb4e98ee155a849b43f94e3640da2ccaeacfe/OortPub-0.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "a176fb04a23b299c75bf02a4174551aa", "sha256": "0da2b48b84c38542a071c1de1ac5c5db54490840b06935b93057d1a3652c78ec" }, "downloads": -1, "filename": "OortPub-0.1.tar.gz", "has_sig": false, "md5_digest": "a176fb04a23b299c75bf02a4174551aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13290, "upload_time": "2007-10-07T17:39:14", "url": "https://files.pythonhosted.org/packages/9a/4f/32edc953c94552e01bc71dce2d2edea24eeaacf9666886c4eea0951e4e1f/OortPub-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2a32f88a53bf120d22284c53f7871e14", "sha256": "889fd017727b7c21149fdd4c496a07f1cf9b6a081616fae665766e55f1290d39" }, "downloads": -1, "filename": "OortPub-0.1-py2.5.egg", "has_sig": false, "md5_digest": "2a32f88a53bf120d22284c53f7871e14", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 32615, "upload_time": "2007-10-07T17:39:15", "url": "https://files.pythonhosted.org/packages/b1/9b/1d0b888c566fadb34bb3c92cb4e98ee155a849b43f94e3640da2ccaeacfe/OortPub-0.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "a176fb04a23b299c75bf02a4174551aa", "sha256": "0da2b48b84c38542a071c1de1ac5c5db54490840b06935b93057d1a3652c78ec" }, "downloads": -1, "filename": "OortPub-0.1.tar.gz", "has_sig": false, "md5_digest": "a176fb04a23b299c75bf02a4174551aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13290, "upload_time": "2007-10-07T17:39:14", "url": "https://files.pythonhosted.org/packages/9a/4f/32edc953c94552e01bc71dce2d2edea24eeaacf9666886c4eea0951e4e1f/OortPub-0.1.tar.gz" } ] }