[yt-dev] Repo cleanup

Hilary Egan hilaryye at gmail.com
Mon Aug 10 06:05:56 PDT 2015


I'm +1 tentatively on these changes. I believe that the broken
functionality is all noted as currently not working in the docs, but we
should just make it explicitly clear what happened to it, what the problems
are, and what a user can do about it in the docs. As much as we don't want
some user trying to use a broken function and quitting yt, we also don't
want to frustrate past users (esp. primarily of 2.x) by making them think
we are deleting great parts of the code just to make them angry. :)

On a somewhat related note, given that 2 point functionality was missing in
3.0, I reimplemented a bunch of functionality from scratch for use in my
own research. My implementation probably isn't as fast, at least as is, but
I understand it and could probably work to bring the type of functionality
back if there is interest. If I remember correctly (on my phone so I can't
check) there was a lot of code in 2.x devoted to making the 2 point
selection fast, so I didn't feel comfortable simply porting it as I didn't
fully understand the logic. If whoever originally developed it or some
other motivated dev wants to jump in instead, that's fine with me!


-Hilary
On Mon, Aug 10, 2015 at 7:37 AM Brian O'Shea <bwoshea at gmail.com> wrote:

> I'm strongly -1 on removing analysis modules unless there's an
> exceptionally good reason - not just a vague sense that the code needs to
> be cleaned out.  For example, my research group uses lots of star
> particle-related analysis - in particular, generation of galaxy spectra
> from star particles - and getting rid of it would be bad.  I suggest
> leaving the 2-point function stuff in the code, but task somebody to update
> it to yt-3's standards, even it's a low priority.  Just because the core yt
> devs don't use it doesn't mean it isn't used or useful!
>
> Regarding the boolean objects, we also got a lot of use out of them in
> yt-2 and I was sad to see that get broken in yt-3.  Andrew, if you decide
> to work on that I'd be happy to collaborate and be a test subject!
>
> --Brian
>
>
>
>
>
> On Sun, Aug 9, 2015 at 7:35 PM, Nathan Goldbaum <nathan12343 at gmail.com>
> wrote:
>
>> Hi all,
>>
>> I'd like to spend some time in the next week or two doing some cleanup
>> and tidying up on the yt repo.  This comes in two flavors: removing dead
>> code and adding basic linting tests.
>>
>> Dead Code
>> ---------------
>>
>> There are still a number of big chunks of legacy code in the codebase
>> that aren't called by anything, including:
>>
>> * boolean data objects
>> * reason / reason plot widgets (yt.gui)
>> * two scripts in the top-level "scripts" directory (pyro_queue.py and
>> yt_lodgeit.py)
>> * the top-level "tests" directory
>> * possibly some of the analysis modules? (star_analysis and
>> two_point_functions)
>>
>> I'm curious what others think about removing some or all of this code.
>> I'd particularly like to hear if I'm wrong about the code in the list above
>> or if I've missed any chunks of unused code.
>>
>> I do understand the desire to keep the code in the repository in the
>> hopes that one day someone might make it functional, but I think this
>> consideration is balanced by how confusing it can be to come across dead
>> code and then get frustrated after finding weird incompatibilities.
>>
>> Basic Linting Tests
>> -------------------------
>>
>> I'd like to catch as many errors as possible by doing basic static
>> analysis of the yt codebase using pyflakes and flake8.  We already have
>> coverage with both tools run as part of the test suite, but introducing
>> errors detected by these tools does not fail the build. I'd like to add a
>> few of the errors caught by these tools to the test suite itself, making
>> the tools optional dependencies for the tests. Hopefully these new tests
>> will be useful and not obnoxious: I'm not talking about enforcing pep8 as
>> part of the test suite.
>>
>> To do this, I think the biggest change necessary is to get rid of all
>> instances of "import *" throughout the codebase. This will allow us to test
>> for unused imports (probably shouldn't fail the build) or missing imports
>> (definitely should fail the build).
>>
>> Again, I'd appreciate any comments or objections to this general approach.
>>
>> Thanks for your attention! Sorry for the long e-mail...
>>
>> -Nathan
>>
>>
>>
>> _______________________________________________
>> yt-dev mailing list
>> yt-dev at lists.spacepope.org
>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>>
>>
> _______________________________________________
> yt-dev mailing list
> yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/attachments/20150810/1c566469/attachment.html>


More information about the yt-dev mailing list