Best Practices for Internal Package Structure
Ethan Furman
ethan at stoneleaf.us
Tue Apr 5 16:02:31 EDT 2016
On 04/05/2016 12:09 PM, Sven R. Kunze wrote:
> On 05.04.2016 20:40, Ethan Furman wrote:
>> Steven D'Aprano wrote:
>>> Your package is currently under 500 lines. As it stands now, you could
>>> easily flatten it to a single module:
>>>
>>> bidict.py
>>
>> Yup... well, actually you could just stick it in __init__.py.
>
> Interesting. We did (and I started it) a similar thing for some packages
> which then grew unbearably in a single year.
>
> Now, everybody in team agrees with: 'who idiot put this stuff in
> __ini__.py?' It was me who started it so I take it with a smile. But
> it's definitely a wart.
>
> So, we have a new guideline since then: "empty __init__.py" if possible
> of course; you sometimes need to collect/do magic imports but that's a
> separate matter.
For application level stuff, sure. I mostly write various utilities
where one __init__.py and one test.py fill the bill. I see `bidict` as
a utility-class item, though.
--
~Ethan~
More information about the Python-list
mailing list