[yt-dev] Repo cleanup

Nathan Goldbaum nathan12343 at gmail.com
Sun Aug 9 19:12:59 PDT 2015


On Sunday, August 9, 2015, Andrew Myers <atmyers2 at gmail.com> wrote:

> Hi Nathan,
>
> Is there a reason why boolean data objects haven't been ported yet? Like,
> is it particularly difficult, or have people just not needed them yet? I
> found those useful back in 2.X, and wouldn't mind trying to port them, if
> there's not some major difficulty with doing so.
>

I don't think the implementation is portable, although it would be totally
doable if you implement the appropriate selector logic in Cytho . We
already have AND actually by chaining data_sources.

I think it might also be worthwhile to discuss alternate APIs, I'm not a
fan of the eval-style way we created them in 2.x. It might be possible to
make a nicer API by leveraging sympy.

Do you think you'll get to this soon? Would you be OK with me removing the
Boolean object code that : there right now? They haven't been updated since
the data selection and chunking refactoring, so no matter what it would be
a substantial chunk of work to get the code that's already there in working
order.


>
> -Andrew
>
> On Sun, Aug 9, 2015 at 4:35 PM, Nathan Goldbaum <nathan12343 at gmail.com
> <javascript:_e(%7B%7D,'cvml','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
>> <javascript:_e(%7B%7D,'cvml','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/20150809/2e35fb2a/attachment.htm>


More information about the yt-dev mailing list