Skip to content
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

WasteAndMaterialFootprint - presubmission enquiry #151

Closed
4 of 14 tasks
Stew-McD opened this issue Dec 30, 2023 · 5 comments
Closed
4 of 14 tasks

WasteAndMaterialFootprint - presubmission enquiry #151

Stew-McD opened this issue Dec 30, 2023 · 5 comments
Labels
on-hold A tag to represent packages on review hold until we figure out a bigger issue associate with review ⌛ pending-maintainer-response presubmission

Comments

@Stew-McD
Copy link

Submitting Author: Stewart Charles McDowall (@Stew-McD)
Package Name: WasteAndMaterialFootprint
One-Line Description of Package: A program for Life Cycle Assessment (LCA) calculations of supply chain waste and material footprints.
Repository Link (if existing): https://github.com/Stew-McD/WasteAndMaterialFootprint


Code of Conduct & Commitment to Maintain Package

Description

  • Include a brief paragraph describing what your package does:

The WasteAndMaterialFootprint tool is a python package that allows one to easily and flexibly calculate the waste and material footprint of any product or service inside of life cycle assessment (LCA) databases. Currently is has been tested with ecoinvent 3.8, 3.9, 3.9.1 and 3.10. This is useful for sustainability assessments to calculate and consider the holistic impacts of waste and material demand for a given activity.

Community Partnerships

We partner with communities to support peer review with an additional layer of
checks that satisfy community requirements. If your package fits into an
existing community please check below:

Scope

Scope

  • Please indicate which category or categories.
    Check out our package scope page to learn more about our
    scope. (If you are unsure of which category you fit, we suggest you make a pre-submission inquiry):

    • Data retrieval
    • Data extraction
    • Data processing/munging
    • Data deposition
    • Data validation and testing
    • Data visualization
    • Workflow automation
    • Citation management and bibliometrics
    • Scientific software wrappers
    • Database interoperability

Domain Specific & Community Partnerships

- [ ] Geospatial
- [ ] Education
- [ ] Pangeo
- [x] Unsure/Other (explain below)
  • Explain how and why the package falls under these categories (briefly, 1-2 sentences). Please note any areas you are unsure of:

  • Who is the target audience and what are the scientific applications of this package?

This is a domain package to add value and utility for LCA practitioners and researchers in sustainability assessment. It adds some extra methods and features to the existing databases

  • Are there other Python packages that accomplish similar things? If so, how does yours differ?

No. This is built on the brightway2 LCA framework, and adds some extra stuff

  • Any other questions or issues we should be aware of:

P.S. Have feedback/comments about our review process? Leave a comment here

@NickleDave
Copy link
Contributor

Hi @Stew-McD! Welcome to pyOpenSci, and thank you for raising this presubmission issue.

The short answer is that, yes, WasteAndMaterialFootprint is in scope for pyOpenSci.

That said, you will need to meet the following criteria before you submit. These are taken from the checklist we apply to all packages upon submission.

  • Documentation The package has sufficient online documentation to allow us to evaluate package function and scope without installing the package. This includes:
    • User-facing documentation that overviews how to install and start using the package.
    • Short tutorials that help a user understand how to use the package and what it can do for them.
    • API documentation (documentation for your code's functions, classes, methods and attributes): this includes clearly written docstrings with variables defined using a standard docstring format.
  • Automated tests Package has a testing suite and is tested via a Continuous Integration service.

Re: documentation, you should immediately explain in both your README and docs what specifically the package does, and then show how you do it with the package. I'm having a hard time understanding what specifically the package adds on top of the existing brightway2 LCA framework. It might be because I'm not a domain expert, but it's not at all clear to me, even after spending significant time reading through your code and examples. The first thing someone will want to know is the specific methods and features that your package adds on top of what is in brightway2. Show them why they should care. I also can't tell why I would want to use the package. You should add narrative around usage so that a broader audience understands what the package makes possible--you have the start of this with your example but you will need a ot more to meet the criterion of "short tutorials" above.

Re: tests, you should use a testing framework (pytest). Our tutorials on tests are still in development, but in the meantime you may find this useful: https://learn.scientific-python.org/development/tutorials/test/

I would also strongly suggest you make the following changes, although they are not required:

  • I would not use CapWords for module names (e.g. ExplodeDatabase.py) or functions (ExplodeDatabase) because this will confuse people. PEP8 conventions specify that CapWords should be used for class names only., and modules and functions should be all-lowercase with underscores (https://peps.python.org/pep-0008/#function-and-variable-names) except for maintaining backwards compatibility.
  • I would give the package a shorter name. Why not name it wmf or wamfoot instead of asking a user to type the whole name and import it as an abbreviated form?
  • The package has a huge number of dependencies. Is there a way that any of these can be made optional? Some of them seem like they are definitely not required (e.g. cowsay).
  • I would remove the "egg-info" from the git repository--I'm guessing this got added accidentally from a local development install? Usually I add *egg-info to the .gitignore to avoid doing this

Please let me know if all that is clear.

Please also know I don't mean to discourage you. I can tell that you are working hard on developing the package, and you are doing a lot of things right. But the core use of the package is not clear, and you're not following some key conventions. I want to help you fix that, and I want to make clear what our expectations are.

@lwasser
Copy link
Member

lwasser commented Jan 17, 2024

hey there @Stew-McD i'm just following up on @NickleDave response above! if you have any questions on the items that david mentioned, you can either ask here or we also invite you to ask questions in our discourse here. The community can help you if you are interested in getting your package into shape for review! :) just let us know.

@Stew-McD
Copy link
Author

Hi,
Thanks for the feedback! This is the first official package I've made so I am learning a lot as I go.
I'll work on some improvements based on your comments in the next couple of weeks.

All the best,
Stewart

@cmarmo cmarmo added the on-hold A tag to represent packages on review hold until we figure out a bigger issue associate with review label Jul 2, 2024
@cmarmo
Copy link
Member

cmarmo commented Jul 2, 2024

Hi @Stew-McD , it looks like you probably need more time to work on the package.
By the way I saw that you changed its name ... 🦖.
I'm going to close this presubmission issue: we still consider your package in scope so feel free to submit when you are ready.

@cmarmo cmarmo closed this as completed Jul 2, 2024
@Stew-McD
Copy link
Author

Stew-McD commented Jul 9, 2024

Yes! Thanks for following up here! Indeed, a name change as you suggested. Much more memorable now, I think. 🦖

We've just got the review back from the journal, so currently making some refinements.

I'll submit a new request once that is sorted.
:)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
on-hold A tag to represent packages on review hold until we figure out a bigger issue associate with review ⌛ pending-maintainer-response presubmission
Projects
Development

No branches or pull requests

4 participants