OK, unless there are arguments against this, I'll add the needed issues to
the issue tracker and start working on this.

On 10 January 2012 19:31, Vladimir Perić <[email protected]> wrote:

> On Tue, Jan 10, 2012 at 7:16 PM, [email protected]
> <[email protected]> wrote:
> > The first proposition by Vladimir sounds good and is almost the same as
> the
> > one discussed. The difference is the following: for him the differences
> in
> > old/new modules is the name of the plotting class. For me the name is the
> > same, "Plot", but the paths are different. I think it's a good idea to
> have
> > different names. So I propose the following:
> >
> > sympy+1 : NewPlot (points to newplot.Plot), Plot (deprecated, points to
> > pygletplot.PygletPlot which is the old Plot)
> > sympy+2: NewPlot (deprecated), Plot (which was newplot.Plot), PygletPlot
> > rests in pygletplot if someone prefers it
> > sympy+3: NewPlot gets deleted. Plot is the class from my module,
> PygletPlot
> > rests in pygletplot if someone prefers it
>
> This sounds good to me. Our release schedule is slow enough, but if we
> get faster suddenly we can always support it for more versions. In
> particular, I think it might be a good idea to shift the second two
> steps to sympy+3 and sympy+4, respectively (so there's even more time
> for users to switch, and more time for us to fix up the API if
> needed).
>
> >
> > Or we test for a few months the new plotting module in git and break the
> api
> > without deprecation. It's probably a bad idea.
> >
> > I'll wait for the opinion of our BDsFL :)
> >
> >
> > On 10 January 2012 18:56, Vladimir Perić <[email protected]> wrote:
> >>
> >> On Tue, Jan 10, 2012 at 5:46 PM, [email protected]
> >> <[email protected]> wrote:
> >> > Thanks for the details.
> >> >
> >> > There is still a small problem. The class Plot won't be removed from
> >> > sympy.
> >> > It will be replaced by another class with different api and the old
> >> > class
> >> > will be moved to a submodule. Should I still use @deprecated?
> >> >
> >> > Or maybe you are against this type of deprecation (replacing and
> >> > moving)? My
> >> > opinion is that it's the right way to do it, but it was discussed
> only a
> >> > bit.
> >>
> >> You are right, this is a somewhat different situation. However, Plot
> >> is really important and we need to have both implementations in
> >> parallel (at least for a while). Not having any experience in such
> >> matters, this is how I would handle it:
> >>
> >> 1) Implement new Plot as PlotNew or whatever
> >> 2) Deprecate Plot and say it should be replaced by PlotNew, but not
> >> change anything; also say the module will continue to live as PlotOld
> >> (some versions later)
> >> 3) Move Plot to PlotOld, mark it as deprecated; move PlotNew to Plot,
> >> and "deprecate" PlotNew in favor of Plot
> >> (some more versions later)
> >> 4) Finally remove PlotOld and the redirect from PlotNew to Plot
> >>
> >> In my mind this gives the smoothest "upgrade" path for users: nothing
> >> will suddenly fail (which would happen if you just move Plot to
> >> PlotOld and add the new Plot in-place), and the users will know that
> >> they will have to change things (but actually, they'll have to change
> >> two times -> once to PlotNew, and once when PlotNew finally gets
> >> removed in favor of Plot).
> >>
> >> The other solution is like we now plan to do it: move Plot to PlotOld,
> >> drop the new Plot as Plot, remove PlotOld sometime in the future. It's
> >> simpler, but it will cause immediate breakage with the new version
> >> (albeit easily flexible). I guess this solution is better if we are
> >> sure the new Plot module is rock solid, but I'm just not sure we can
> >> give it such thorough testing.
> >>
> >> Or I'm just overthinking it all. :)
> >>
> >> >
> >> >
> >> > On 10 January 2012 11:13, Vladimir Perić <[email protected]>
> wrote:
> >> >>
> >> >> On Tue, Jan 10, 2012 at 11:05 AM, Aaron Meurer <[email protected]>
> >> >> wrote:
> >> >> > We recently implemented SymPyDeprecationWarning in
> >> >> > sympy.core.compatibility.  This is preferred over just a normal
> >> >> > DeprecationWarning, as it will show up in isympy regardless of
> Python
> >> >> > version (later versions of Python disable DeprecationWarning by
> >> >> > default). You can use the @deprecated decorator in
> >> >> > sympy.core.decorators, which will use this.
> >> >> >
> >> >> > This still needs work, by the way.  We should standardize it in the
> >> >> > warning and decorator to put in a version number where the feature
> >> >> > will be removed, and automatically generate a deprecation string
> >> >> > based
> >> >> > on that.  Something along the lines of
> >> >> >
> >> >> > @deprecated(last_version='0.7.4', use_instead='other thing',
> >> >> > see_also="http://code.google.com/p/sympy/issues/detail?id=NNN";)
> >> >> > def myfunc(...):
> >> >> >
> >> >> > which would produce, SymPyDeprecationWarning("The function myfunc
> is
> >> >> > deprecated, and will be removed after version 0.7.4 (you are
> >> >> > currently
> >> >> > using 0.7.1-git). Use other thing instead.  See
> >> >> > http://code.google.com/p/sympy/issues/detail?id=NNNN.";).
> >> >>
> >> >> I agree with all this. If I get the chance, I'll work on it. There's
> >> >> an issue for this:
> >> >>
> >> >> https://code.google.com/p/sympy/issues/detail?id=2142
> >> >>
> >> >> As Aaron says in the issue, it would be really nice to have this
> >> >> before the next release.
> >> >>
> >> >> >
> >> >> > Also, the corresponding issue (NNNN) would get the
> >> >> > Milestone-Release0.7.5 tag so that we remember to remove it before
> >> >> > that release.
> >> >> >
> >> >> > Aaron Meurer
> >> >> >
> >> >> > On Mon, Jan 9, 2012 at 3:33 PM, [email protected]
> >> >> > <[email protected]> wrote:
> >> >> >> Some time ago I started working on a new plotting module. With GCI
> >> >> >> and
> >> >> >> the
> >> >> >> exams at the end of the semester the work has stalled. There is
> only
> >> >> >> a
> >> >> >> small
> >> >> >> number of issues that I must address before the module is ready
> for
> >> >> >> review
> >> >> >> but one of them is the deprecation warning for the old plotting
> >> >> >> module.
> >> >> >> Of
> >> >> >> course the old module will not be deleted. But it will be placed
> in
> >> >> >> a
> >> >> >> subfolder and the import statement used for it will change
> somewhere
> >> >> >> in
> >> >> >> 0.7.3 or 4. At least that was the consensus some time ago (all
> this
> >> >> >> will be
> >> >> >> detailed in the commit message so it can be discussed later).
> >> >> >>
> >> >> >> But at the moment I must implement a deprecation warning on import
> >> >> >> of
> >> >> >> the
> >> >> >> old module. Can someone of the core devs explain to me the
> >> >> >> methodology
> >> >> >> that
> >> >> >> you usually use in this case? Deprecation cycles, subclasses of
> >> >> >> Warning
> >> >> >> and
> >> >> >> so on... Or is it up to me to create a subclass of Warning. Is
> there
> >> >> >> a
> >> >> >> special place to document this (in addition to the release notes)?
> >> >> >>
> >> >> >> Stefan
> >> >> >>
> >> >> >> --
> >> >> >> You received this message because you are subscribed to the Google
> >> >> >> Groups
> >> >> >> "sympy" 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/sympy?hl=en.
> >> >> >
> >> >> > --
> >> >> > You received this message because you are subscribed to the Google
> >> >> > Groups "sympy" 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/sympy?hl=en.
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Vladimir Perić
> >> >>
> >> >> --
> >> >> You received this message because you are subscribed to the Google
> >> >> Groups
> >> >> "sympy" 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/sympy?hl=en.
> >> >>
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> >> > Groups
> >> > "sympy" 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/sympy?hl=en.
> >>
> >>
> >>
> >> --
> >> Vladimir Perić
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "sympy" 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/sympy?hl=en.
> >>
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "sympy" 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/sympy?hl=en.
>
>
>
> --
> Vladimir Perić
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" 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/sympy?hl=en.
>
>

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

Reply via email to