Richard Damon wrote:
> On 11/25/25 3:42 PM, bjotta via Python-list wrote:
> > It seem like you are talking about classes and sub-classes. I was talking 
> > about dependencies in projects.
> > The technique is currently defined only for class and sub-classes, but 
> could be extended
> > e..g I create a library that has some dependencies (numpy here)
> > Inside the library there is a file importing numpy for example.
> > '''
> > import numpy as np
> > def stock_earnings(winnings, losses):
> >      return winnings - losses
> > '''
> > I want to be able to restrict / name mangle the usage.
> > To avoid this being possible.
> > And the question is how? (and why?) The problem is that to do what you 
> want means looking up a name in a namespace now becomes context 
> dependent. Some of the names that are defined there are to not be found 
> by some contexts, while other can be. This is complicated, which isn't 
> what python wants to be.
> > '''
> > from library.math import np.
> > '''
> > There are reasons for this, but for example at work we explicitly install 
> > all dependencies we use in our program.
> > If someone starts to use sub-dependency from a library without explicitly 
> > installing it. The next time the library updates and the maintainers 
> > decides to update to using numba or something else the code wont work.
> > And they could have imported np directly and not installed it to, so it 
> doesn't help.
> 
> And if the library doesn't import that module, your sub-dependency 
> import will FAIL and thus show the problem.
> > That was the Idea behind the "private" keyword. Any other suggestion to 
> > that part?
> > And proper discipline prevents that.
> 
> That is EXACTLY the danger of peeking into things marked (by the 
> convention) as internal.
> 
> Python by its nature doesn't stop you from doing "dumb" things, it just 
> makes it clear when you do it (if you know the language).
> 
> Letting module globals that begin with __ (and not end with __) be 
> mangled like was suggested just make the operation more obvious.

Do you have any feedback to my reply? Tried understanding your suggestions.
-- 
https://mail.python.org/mailman3//lists/python-list.python.org

Reply via email to