On 15 Aug., 19:51, "Adrian Holovaty" <[EMAIL PROTECTED]> wrote:
> I'd like to split this into several files, turning
> django.core.management into a package. The purest way of splitting the
> functionality would be to give each manage.py action ("runserver",
> "syncdb", etc.) its own Python module, like this:

Adrian,
+1 Yeah!

Dealing with management.py was a major pain in creating something
useful for my SoC project. A change to a more "pluggable" interface
makes the implementation of my release management [1] much easier.

Speaking of SoC, I also hate to have a crowded site-packages directory
but also think that the only chance for a vivid app repository is to
use the PyPI - which leads us right to the setuptools, upcoming
standard in Python 2.6. As a user I really like the idea of egg files
as much as dependency tracking, the development mode, installation via
easy_install and automatic unittesting.

That is why my current patch contains the setuptools bootstrap file to
build reusable application packages. A new setup.py file for Django
[2] is there too.

Regarding my patch for management.py: I changed "startapp" and created
"editapp", which are both calling a new metadata assistent. "--no-
skeleton" is for the old project-centered behaviour.
django.utils.package contains a ReleaseWrapper class for accessing
release metadata, an example release assistent "standalone_app", the
skeleton directory and ez_setup.py. The resulting app looks like this:

MyApp/
|-- INSTALL.txt
|-- MANIFEST.in
|-- README.txt
|-- docs/
|-- myapp/
|   |-- __init__.py
|   |-- models.py
|   |-- templates
|   |   `-- myapp
|   `-- views.py
|-- release.py
|-- setup.py
`-- tests/

I would like to encourage users to setup an account with the PyPI and
upload their apps to it. The Django application repository app which
I'm currently building will scan the PyPI for a hardcoded keyword
(e.g. "django.app") and save the resulting information for later
review by (to be decided) editorial functions on the website (e.g.
django-voting).

Since you are refactoring the whole thing anyway, what do you think
about a generic command like "app", "package" or something else which
combines "startproject", "startapp" and my changes?

I hope this wasn't too much off-topic..

Best,
Jannis


1: https://websushi.org/trac/browser/django-package/django-package.diff
2: https://websushi.org/trac/pastebin/2

--
jannis.leidel.info
code.google.com/p/django-package


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" 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/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to