The idea is to move projects out of the pinax core and turn them into
apps on pypi and github.

Making the project into an app is pretty easy with a setup.py and
MANIFEST.in which includes all the non python files.

For some reason sdist was adding all the files to the tar file but
when installing from pypi they were removed.
Switching to bdist_egg removed the issue but if you know what may
cause that id love to know.

I've modified the clone_project command to work with the bundled
projects, projects on the python path and on pypi.
To find project packages i'm looking for "pinax-project" in the
Keywords meta data.
If people like the idea we can use a trove classifier instead.

clone_project takes a new option for requirements, when true it will
install the project requirements.txt with pip.

With these changes its now possible to see available projects on pypi,
clone the project and have it ready to run with all its dependencies
using the clone_project command.

Like to know what you think of this approach to projects.

Heres some examples of how to use the new clone_project command with
my social-commerce project.

Create project with an existing package
---------------------------------------

mkdir test-site
mkvirtualenv test-site --no-site-packages
cd test-site
workon test-site
easy_install pip
pip install -e git+git://github.com/hbussell/pinax.git#egg=pinax
pip install -e git+git://github.com/hbussell/social-commerce-
project.git#egg=social-commerce

# changed pinax to instal Django 1.1 instead of 1.0.4 to work with
satchmo
pip install -r src/pinax/requirements/external_apps.txt
pinax-admin clone_project social-commerce project

# patch friend app
lib/python2.5/site-packages/friends/models.py #43
replace:
users = models.ManyToManyField(User)
with:
users = models.ManyToManyField(User, related_name="contact_users")

cd project
python manage.py syncdb
python manage.py runserver

--------------------------------
Clone a project from pypi
--------------------------------

mkdir test-site2
mkvirtualenv test-site2 --no-site-packages
cd test-site
workon test-site2
easy_install pip
pip install -e git+git://github.com/hbussell/pinax.git#egg=pinax
pip install -r src/pinax/requirements/external_apps.txt
# you should see social-commerce listed under the pypi projects
pinax-admin clone_project -l
pinax-admin clone_project social-commerce project

# patch friend app
lib/python2.5/site-packages/friends/models.py #43
replace:
users = models.ManyToManyField(User)
with:
users = models.ManyToManyField(User, related_name="contact_users")

cd project
python manage.py syncdb
python manage.py runserver
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Pinax Core Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pinax-core-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to