How could classes be made more accessible? #571
Replies: 5 comments 8 replies
-
Some of the basic classes could be exposed at higher package levels, but not all (e.g. it makes little-to-no sense to expose the One of the most fundamental deciding factors is whether or not a class is intended to be used directly, and none of the classes in your example fit that simple criteria. Other reasonable considerations involve the types of operations user-level code would be expected to do with Aesara objects, and these needs to be considered with the following question in mind: "Are we still talking about users, or are we now talking about developers?". While ease-of-
These are specious points/arguments. The first one is simply FUD, and it's not welcome here. I'm assuming the second is hyperbole, because, when one considers the circumstances under which a user would even determine that they need |
Beta Was this translation helpful? Give feedback.
-
By the way, I find the |
Beta Was this translation helpful? Give feedback.
-
I don't like to show the original examples when demoing Aesara, because they demonstrate that currently one needs to know a lot about the internal structure of the codebase to work with this library.
Not cool to accuse me of propaganda techniques that I even have to look up. I am contributing these suggestions for improvement with positive intent, but responses like that and categorical dismissal of my contributions (e.g. labeling "wontfix" before even waiting for a third opinion) really make me feel unwelcome here. |
Beta Was this translation helpful? Give feedback.
-
Thank you for this example! I was not aware of this import route and this is the first time someone has pointed out that I was using an overcomplicated import route all the time!! As for the other imports I do think there's room for improvement so third-party libraries such as PyMC3 that use Aesara can depend on robust import routes that are less verbose than, for example these. W.r.t. the other things I'm simply trying to communicate my experience in using the library as well as how I perceive this discussion. I think the observation that I experience so much friction with the API and the discussion should be a warning sign to think about API and discussion friction. But I'm not going to continue bothering you with any of this. Ping me if you want my input on something. |
Beta Was this translation helpful? Give feedback.
-
Also this is a more broad one, but the "basic" submodules feel a bit weird (on the user side, not on the developer side). For example, |
Beta Was this translation helpful? Give feedback.
-
Here's a list of submodules/types/functions that currently need their own import lines, but are so frequently used that I think we should aggregate them at higher package/submodule levels:
While the above is not something I'd like to show others when demoing Aesara, this looks much less frightening:
or simply this and rolling with
aesara.TensorVariable
and so on:Grouping the most important types at the package level also doesn't require in-depth knowledge of the codebase just to import things for an
isinstance
check.Any concerns, or more things to add to the list?
@ricardoV94 @brandonwillard can someone add labels, please? I seem to have absolutely no permissions on this project any more :(
Beta Was this translation helpful? Give feedback.
All reactions