software-submission icon indicating copy to clipboard operation
software-submission copied to clipboard

WasteAndMaterialFootprint - presubmission enquiry

Open Stew-McD opened this issue 1 year ago • 3 comments

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

Stew-McD avatar Dec 30 '23 17:12 Stew-McD

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.

NickleDave avatar Jan 04 '24 20:01 NickleDave

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.

lwasser avatar Jan 17 '24 00:01 lwasser

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

Stew-McD avatar Jan 20 '24 15:01 Stew-McD

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 avatar Jul 02 '24 18:07 cmarmo

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. :)

Stew-McD avatar Jul 09 '24 05:07 Stew-McD