On Tue, Jul 8, 2008 at 6:08 PM, Malcolm Tredinnick <[EMAIL PROTECTED]> wrote: > > On Tue, 2008-07-08 at 09:55 -0500, Tom Tobin wrote: > [...] >> I'm curious as to >> whether others think we can still manage this cleanly post-1.0. If we >> can, great! — I'll just wait until then. If not, is there any chance >> we can squeeze this in somewhere? > > It depends on what will change. "from django import templates" seems > like pretty public API. So if your change will mean that any external > code doing that would have to change it's imports at all (i.e. if things > that were previously available under the django.templates are no longer > there), it must be done pre-1.0, otherwise it's not API stable. So work > that out and then we're in a better position to decide.
I don't want to change the public APIs. If "from django import templates" works now, it should work after I'm done. The chief BICs would be for importing non-public pieces, and even in those cases I think a period with a DepreciationWarning might be justified (which, being non-public pieces, could be post-1.0). What I'm trying to achieve here isn't so much for the public API as it is for private/internal sanity: when someone sits down and refactors something (the original case being my hacking on django.templates), they shouldn't be stuck in circular import hell because the actual code lives in an __init__ module. By all means, if a public API is better off having a collapsed namespace inside of the __init__, I don't want to stop that ("from django.templates.base import *" inside the __init__ should work). > It sounds like you *are* talking about a change that is that intrusive, > so it needs to be done beforehand. Just how bad are the import lists > going to be? Hopefully you can arrange so it's still basically a > one-file import: "from django.templates import main_file" or something. > Except you have to think of a better name. Maybe I'm making a mountain out of a molehill. If the public-facing API is the only thing we're guaranteeing, maybe there's not much of a problem 1.0-wise: I could still yank everything out into "base" modules at a later point. I'm trying to come up with scenarios where these changes might break someone else's code once made; does anyone have an example? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---