{ "info": { "author": "Jannis Leidel", "author_email": "jannis@leidel.info", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Utilities" ], "description": "====================================\nReusable Django apps with setuptools\n====================================\n\n.. contents::\n :backlinks: none\n\nThis is yet another approach on enabling Django to load reusable, pluggable,\negg-based applications without changing the Django sourcecode. Think of\nplugins or components, e.g. django-registration, django-threadedcomments or\ndjango-tagging.\n\nIt uses setuptools for finding, handling and loading egg-based Python modules\nwith a specific `entry point`_, e.g. ``'django.apps'``.\n\n`Egg-based Python modules`_ (a.k.a. eggs) are compressed packaged Python modules\nlike Django apps. Every Django app can be converted to an egg distribution by\nusing a special setup.py file.\n\nInstallation\n============\n\nGet the source from the application site at::\n\n http://code.google.com/p/django-reusableapps/\n\nTo install *reusableapps*, follow these steps:\n\n1. Follow the instructions in the `INSTALL file`_.\n2. Add ``import reusableapps`` to the top of your `settings file`_.\n3. Add a new setting to your `settings file`_, a list of locations of\n reusable apps, in search order. Note that these paths should use\n Unix-style forward slashes, even on Windows.\n \n For example::\n \n REUSABLE_APPS_DIRS = (\n '/home/jannis/.local',\n '/Users/Jannis/Code/eggs',\n '/usr/share/django/apps',\n 'C:/www/django/apps',\n )\n \n4. Add to the last line of your settings file (after the INSTALLED_APPS_ \n and REUSABLE_APPS_DIRS setting)::\n \n INSTALLED_APPS = reusableapps.search(REUSABLE_APPS_DIRS, INSTALLED_APPS)\n\nPutting it together\n-------------------\n\nOnce you finished with above installation instructions, your `settings file`_\nshould look something like this::\n\n import reusableapps\n \n # ...\n \n REUSABLE_APPS_DIRS = (\n '/home/jannis/.local',\n '/Users/Jannis/Code/eggs',\n '/usr/share/django/apps',\n 'C:/www/django/apps',\n )\n\n INSTALLED_APPS = (\n 'django.contrib.auth',\n 'django.contrib.contenttypes',\n 'django.contrib.sessions',\n 'django.contrib.sites',\n 'myproject.myapp',\n )\n\n INSTALLED_APPS = reusableapps.search(REUSABLE_APPS_DIRS, INSTALLED_APPS)\n\nYou can then put reusable, pluggable, egg-based Django apps in one of the\ndirectories in ``REUSABLE_APPS_DIRS``.\n\nUsing templates from egg-based Django apps\n------------------------------------------\n\nIf you want to use templates from a egg-based Django app please add\n``'django.template.loaders.eggs.load_template_source'`` to the TEMPLATE_LOADERS_\nsetting.\n\n.. _INSTALL file: http://django-reusableapps.googlecode.com/svn/trunk/INSTALL.rst\n.. _settings file: http://docs.djangoproject.com/en/dev/ref/settings/\n.. _INSTALLED_APPS: http://docs.djangoproject.com/en/dev/ref/settings/#installed-apps\n.. _TEMPLATE_LOADERS: http://docs.djangoproject.com/en/dev/ref/settings/#template-loaders\n.. _entry point: http://peak.telecommunity.com/DevCenter/setuptools#dynamic-discovery-of-services-and-plugins\n.. _Egg-based Python modules: http://peak.telecommunity.com/DevCenter/PythonEggs\n\nAdding support for *django-reusableapps* to your own Django app\n===============================================================\n\nIf you want to support django-reusableapps in your own Django app, you need\nto modify your existing setup.py to import the setup function from the\nsetuptools instead the from the distutils::\n\n from setuptools import setup\n\nFurthermore you need to add an 'entry point' to the setup keywords::\n\n entry_points={'django.apps': 'myapp = myapp'},\n\nwhere my ``myapp`` is the name of your Django app, e.g. ``registration``.\nA full example can be found at setup-example.py_ and should be copied to\nthe parent directory of your app as ``setup.py``. You are then able to create\nan egg file with of this app.\n\n.. _setup-example.py: http://django-reusableapps.googlecode.com/svn/trunk/docs/setup-example.py\n\nCreating egg files of reuasable Django apps\n===========================================\n\nOnce you have a proper setup.py in the parent directory of your Django app,\nyou can run::\n\n python setup.py bdist_egg\n\nto build a egg file of it. It will be created in the ``dist`` directory and\nhave a filename like ``dummyapp-0.1-py2.5.egg``. You can then distribute it\nand use it by placing it in one of the ``REUSABLE_APPS_DIRS`` of your Django\nproject.\n\nSupport\n=======\n\nPlease leave your `questions and problems`_ on the `designated Google Code site`_.\n\n.. _designated Google Code site: http://code.google.com/p/django-reusableapps/\n.. _questions and problems: http://code.google.com/p/django-reusableapps/issues/", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://code.google.com/p/django-reusableapps/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-reusableapps", "package_url": "https://pypi.org/project/django-reusableapps/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-reusableapps/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://code.google.com/p/django-reusableapps/" }, "release_url": "https://pypi.org/project/django-reusableapps/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Reusable Django apps with setuptools", "version": "0.1.1" }, "last_serial": 68664, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "25082d74e5233e22f41423c2216c85d9", "sha256": "3f6e9a55aacbe30d9b740fbffed5c0bc629186f192c92e2a4987241e994821be" }, "downloads": -1, "filename": "django_reusableapps-0.1.1-py2.5.egg", "has_sig": false, "md5_digest": "25082d74e5233e22f41423c2216c85d9", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 4773, "upload_time": "2008-09-10T19:26:27", "url": "https://files.pythonhosted.org/packages/ca/12/717a27aa5ca15a89fab69510653ffd4b2b992206f8479a41ba1983c1eabf/django_reusableapps-0.1.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "d14eedce0dd58f317cab4013793636df", "sha256": "063ed5af007f0e0a0abdff4ef930b16826fac08711b7510b6e9e24821c659a41" }, "downloads": -1, "filename": "django-reusableapps-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d14eedce0dd58f317cab4013793636df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9768, "upload_time": "2008-09-10T19:26:26", "url": "https://files.pythonhosted.org/packages/81/eb/b10d2184efa931f2d7bde8a90e348e6a11b7626f58b3cc510a806fb0e06e/django-reusableapps-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "25082d74e5233e22f41423c2216c85d9", "sha256": "3f6e9a55aacbe30d9b740fbffed5c0bc629186f192c92e2a4987241e994821be" }, "downloads": -1, "filename": "django_reusableapps-0.1.1-py2.5.egg", "has_sig": false, "md5_digest": "25082d74e5233e22f41423c2216c85d9", "packagetype": "bdist_egg", "python_version": "2.5", "requires_python": null, "size": 4773, "upload_time": "2008-09-10T19:26:27", "url": "https://files.pythonhosted.org/packages/ca/12/717a27aa5ca15a89fab69510653ffd4b2b992206f8479a41ba1983c1eabf/django_reusableapps-0.1.1-py2.5.egg" }, { "comment_text": "", "digests": { "md5": "d14eedce0dd58f317cab4013793636df", "sha256": "063ed5af007f0e0a0abdff4ef930b16826fac08711b7510b6e9e24821c659a41" }, "downloads": -1, "filename": "django-reusableapps-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d14eedce0dd58f317cab4013793636df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9768, "upload_time": "2008-09-10T19:26:26", "url": "https://files.pythonhosted.org/packages/81/eb/b10d2184efa931f2d7bde8a90e348e6a11b7626f58b3cc510a806fb0e06e/django-reusableapps-0.1.1.tar.gz" } ] }