New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Long-term vision for the AB? #153
Comments
Thanks Tom for starting this conversation-
I am very happy that this development is proceeding without much input from
me - it is going great, and I very much appreciate being able to not think
much about it.
I would suggest (but again, am happy not to be a decision-maker), that:
1) Documentation on core development concepts and base classes be created
(maybe already done) and well-maintained. This would make it much easier
for new people to make contributions.
2) A medium-term vision be developed, and some project management tools
used, so that it is clear to people inside and outside the project where
development is happening, and how they could potentially contribute. This
doesn't have to be a heavy-weight solution!
3) I see huge potential in integrating Lcopt into AB. But I think Lcopt
needs to be migrated to the parameter handling in bw2data first. The
current implementation was a great solution, but it duplicates quite a lot
of code now in bw2data, and migrating will reduce the potential for tricky
bugs as well as the maintenance burden.
4) Balance development on new features with the boring work of fixing edge
cases or other small bugs with the current code.
…-Chris
On 7 May 2018 at 11:42, To3m ***@***.***> wrote:
The AB poster
<#149>
under construction should have a section describing the purpose and goals
of the software. Initial research suggests there's a limited amount of
prominent information on this topic, leading to this issue. For example the
readme
<https://github.com/LCA-ActivityBrowser/activity-browser/blob/master/README.md>
states: "The activity browser is a graphical user interface for the
Brightway2 advanced life cycle assessment framework" and the docs
<http://activity-browser.readthedocs.io/en/latest/> say: "It extends
brightway2 through a graphical user interface (GUI) increasing the
efficiency of certain tasks." The first issue
<#1> in
this repo relates to a 'development plan' which also includes some
discussion on this.
Is it sufficient to highlight the vision of BW2
<https://docs.brightwaylca.org/index.html> and state that AB
supports/enables that? If so we could make this even more explicit. But
perhaps some aspects of the AB vision are not entirely common with BW2?
I imagine there has been plenty of informal discussion on the long-term
intentions e.g. between @cmutel <https://github.com/cmutel> @haasad
<https://github.com/haasad> @cardosan <https://github.com/cardosan> and
@bsteubing <https://github.com/bsteubing> . Would it be possible to
collect these thoughts together here or link me to existing resources that
I could collate? Then perhaps we could summarise and include as a paragraph
in the readme and/or the software 'Welcome page'. Potential benefits
include:
1. common vision shared between developers (and/or constructive
discussion facilitated)
2. framing and guiding project-management related issues such as this
<#40>
3. prioritisation of development efforts (e.g. deciding that an
externally requested feature is not aligned with the project goals)
4. increased clarity for users, watchers and [potential] new
contributors regarding project intention. For instance the abstract I wrote
for the poster (as shared on Slack) may have been poorly focused (on
reducing barrier-to-entry to BW2 for non-coders, rather than optimising
time taken for common tasks)
5. delineate potential overlaps with related projects such as OpenLCA
<http://www.openlca.org/>, Bonsai <https://bonsai.uno/> and Lcopt
<https://github.com/pjamesjoyce/lcopt> to ensure scarce LCA ecosystem
developer efforts are optimally distributed and users can select the tool
most appropriate for their needs.
So if I were to try and encompass this as a question, it might be:
*In the broadest sense, what does the AB enable once it's 'finished'?*
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#153>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAnYYXEkE4pDEpa82DUrysDiA-EZZGHAks5twBb2gaJpZM4T0sUv>
.
--
############################
Chris Mutel
Technology Assessment Group, LEA
Paul Scherrer Institut
OHSA D22
5232 Villigen PSI
Switzerland
http://chris.mutel.org
Telefon: +41 56 310 5787
############################
|
Hi folks! James from
But first an important side note/update on lcopt: Important side note/update on lcoptMigrating lcopt to
|
Hi James, thanks a lot for your great input here! Your lcopt developments are quite exciting and I think this is exactly the kind of tools that we should continue to develop in the IE community. It would be very nice to link or include lcopt in the AB. This aligns well with two core ideas of the AB:
The needs of users for building LCA models can be quite different. Integrating tools like lcopt into the AB would give the user the possibility to choose the interface that is most useful for a given purpose (e.g. lcopt for modeling parameterized foreground systems). By the way, we are currently also working on improving the foreground modeling capabilities of the AB (as well as a few other things). Originally, I had developed the AB for foreground modeling as well, and there is still the plan to re-integrate my modular LCA framework into the AB (it got lost during one of the major overhauls of the AB: http://activity-browser.readthedocs.io/en/latest/metaprocess_introduction.html). Implementation This is what still causes the biggest headache to me: how to practically include extensions / tools / plugins for specific purposes into the AB. Of course, many softwares offer this possibility, but we haven't looked at what this would mean for the architecture of the AB. Ideally, a user would get a slim version of the AB and could then install additional packages. If installed, it could be included in the AB in a fashion similar to this (thanks @haasad for your suggestion): try:
import lcopt
from .plugins import lcopt_widget
self.stacked.addWidget(lcopt_widget)
except ImportError:
pass As a standalone widget this should certainly work. As for the interaction with the rest of the AB, we'd have to see what is needed for this and how tricky it gets in the details... This would be a great case to test how we can open the AB to accommodate additional packages, so I'd be very interested in trying this. One of our (inofficial) design principles is to use brightway2 as the underlying LCA engine as much as we can, i.e. so far LCI data for example is handled entirely by brightway. I assume that is similar for many aspects of lcopt and whenever this is the case, changes made through lcopt could be displayed/accessed from the existing AB code and vice versa (then it is just a matter of updating the display information in each window). Perhaps just as a side note, as you probably know, the AB is partly using web content - mainly HTML/Javascript - that is run through Qt's Webkit classes, so embedding web content is not an issue. How to continue? Qt is really a powerful environment, so maybe you'd like to try to develop a PyQt widget for lcopt that we could integrate into the AB as described above? PS: also congrats on your lcopt-cv - really cool stuff! I'd love to try that at some point... |
I cannot agree more to all the points already made.
|
From presenting the AB poster at an IE conference last month, we can testify to this as a widespread desire! A number of professors stated an intention to try the AB & BW combo for teaching in the coming years. |
Thanks @bsteubing: I'll look into PyQt widgets
In practice there might be one issue. Within lcopt the product name and the activity name are different. I know this breaks the graph traversal in @cardosan's bw2temporalis. The AB can read lcopt generated databases no problem, but creating an activity that doesn't produce itself appears to be disabled. This might complicate two-way communication between lcopt and the AB, but it shouldn't be to difficult to work around. @tmillross: On the teaching front, we're developing a couple of MSc level courses in collaboration with the biotech and chemical engineering departments here at KTH on, essentially, LCA for non-LCA people, using lcopt for the practicals instead of SimaPro - I'll report back on how they go. |
I wonder why this would be the case - when I worked on graph traversal, it really only looked at the technosphere matrix, and so doesn't even recognize the difference between product and activity (just row and column). It also adjusted for activities that didn't produce 1 unit of their reference product. As far as I understand it, there are some activities in ecoinvent which don't have a reference product (although maybe they have a fake one)... In any case, I don't see any reason that this should break anything in temporalis or otherwise. |
@cmutel more info in the bitbucket issue here |
OK, thanks. FYI, I will be out of office for the next 7 weeks, so won't be
thinking about this until August.
…On 18 June 2018 at 22:58, James Joyce ***@***.***> wrote:
@cmutel <https://github.com/cmutel> more info in the [bitbucket issue
here] (https://bitbucket.org/cardosan/brightway2-temporalis/issues/4)
As far as I remember the various graph traversal in bw2analyzer work fine
with lcopt generated models.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#153 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAnYYS2i7BWoCXmy-RHGUgTZY0jOWeAIks5t-BSDgaJpZM4T0sUv>
.
--
############################
Chris Mutel
Technology Assessment Group, LEA
Paul Scherrer Institut
OHSA D22
5232 Villigen PSI
Switzerland
http://chris.mutel.org
Telefon: +41 56 310 5787
############################
|
The graph traversal traversal of temporalis will in any case need some revamping to make it work better with ecoinvent and upcoming(?) new BW2 API. So just go ahead and will try to work on this later on to make it work as it should and be able to handle all these cases.
This is just COOOL! Please keep all of us posted. See also my and @bsteubing's comments in #158, I think your work would perfectly fit. |
FYI: I've just added a video to the lcopt-cv docs which explains how it works |
I just uploaded a first prototype of lcopt running in the AB. Let me know what you think: #174. |
Great work Adrian! A couple of quick thoughts to this:
I just pushed a committed a suggestion for this onto your branch... let me know what you think. |
I completely agree, at least for the current state of lcopt. But my hope is that lcopt will soon be able to work with any bw-project (@pjamesjoyce already did most of the work towards this by making lcopt work with all ecoinvent versions: pjamesjoyce/lcopt#36). Launching lcopt would then need to be a project-specific action again. But for the moment your solution is much more elegant, I like the idea of the PluginManager. |
The AB poster under construction should have a section describing the purpose and goals of the software. Initial research suggests there's a limited amount of prominent information on this topic, leading to this issue. For example the readme states: "The activity browser is a graphical user interface for the Brightway2 advanced life cycle assessment framework" and the docs say: "It extends brightway2 through a graphical user interface (GUI) increasing the efficiency of certain tasks." The first issue in this repo relates to a 'development plan' which also includes some discussion on this.
Is it sufficient to highlight the vision of BW2 and state that AB supports/enables that? If so we could make this even more explicit. But perhaps some aspects of the AB vision are not entirely common with BW2?
I imagine there has been plenty of informal discussion on the long-term intentions e.g. between @cmutel @haasad @cardosan and @bsteubing . Would it be possible to collect these thoughts together here or link me to existing resources that I could collate? Then perhaps we could summarise and include as a paragraph in the readme and/or the software 'Welcome page'. Potential benefits include:
So if I were to try and encompass this as a question, it might be:
In the broadest sense, what does the AB enable once it's 'finished'?
The text was updated successfully, but these errors were encountered: