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

Presubmission inquiry: CyNetDiff #165

Closed
3 of 14 tasks
eliotwrobson opened this issue Mar 10, 2024 · 7 comments
Closed
3 of 14 tasks

Presubmission inquiry: CyNetDiff #165

eliotwrobson opened this issue Mar 10, 2024 · 7 comments

Comments

@eliotwrobson
Copy link

Submitting Author: Name (@eliotwrobson)
Package Name: CyNetDiff
One-Line Description of Package: A performance-focused library implementing algorithms for simulating network diffusion processes, written in Cython.
Repository Link (if existing): https://github.com/eliotwrobson/CyNetDiff


Code of Conduct & Commitment to Maintain Package

Description

  • Include a brief paragraph describing what your package does:

Network diffusion processes aim to model the spread of information through social networks, represented using graphs. Experimental work involving these models usually involves simulating these processes many times over large graphs, which can be computationally very expensive. At the same time, being able to conduct experiments using a high-level language like Python is helpful to researchers, as this gives greater flexibility in developing research software. To address both of these concerns, CyNetDiff is a Cython module implementing the independent cascade and linear threshold models, two of the most popular network diffusion models. Development has been focused on performance, while still giving an intuitive, high-level interface to assist in research tasks.

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

  • 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
- [ ] 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:

The package is designed to be a core tool used for data processing when conducting network diffusion experiments, as it allows for efficient simulation of the most computationally expensive component of this process.

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

This is aimed at researchers working in areas related to network diffusion and influence maximization, and specifically at optimizing the most computationally expensive part of this process. This should enable researchers to conduct experiments on larger graphs than would be possible with a pure-Python package. For a recent work doing experiments that fit the use cases of this package, see https://arxiv.org/abs/2207.08937

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

There is a previous package filling a similar use case called ndlib: https://github.com/GiulioRossetti/ndlib
Our package differs as it was developed with a focus on performance, and with lesser emphasis on visualization
and flexibility (for example, we do not have a way of defining custom models). Using code compiled with Cython
allows our package to handle much larger graphs than are possible with a pure-Python package like ndlib.

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

The package is still in the late stages of initial development, and we only just released our first version on PyPI, but I wanted to open this inquiry early to get feedback on the scope of the project. Are there rules about package maturity before getting a full review? I would like to submit fairly soon after getting the documentation set up. The documentation right now is very light, I'm happy to add more now if this will give helpful information for this inquiry.

Also, this is the first Cython package I've written, and getting some insight about best practices for the build system would be very helpful.

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

@isabelizimm
Copy link
Contributor

Hello there, thank you so much for opening this issue on the scope of CyNetDiff 👋 That is so exciting that you are writing your first Cython package! While we discuss the scope of this package internally, I can answer a few of your questions.

Are there rules about package maturity before getting a full review?

We ask that any tool/library we review be near "maturing" state, there is a bit more information in ROpenSci. At submission stage, all major functions should be stable enough to be documented and tested, and the README should make a strong case for the package.

getting some insight about best practices for the build system would be very helpful.

We would love to have you in the discourse or Slack (I'll need an email to send an invite)! I personally don't know a lot of knowledge of Cython build systems, but I am certain someone in the community does 😄

@eliotwrobson
Copy link
Author

We ask that any tool/library we review be near "maturing" state, there is a bit more information in ROpenSci. At submission stage, all major functions should be stable enough to be documented and tested, and the README should make a strong case for the package.

That sounds reasonable! We're gearing up to submit some demo code to a conference, so after that's done and we pick up some more users, I think we'll be able to stabilize the package to this level.

We would love to have you in the discourse or Slack (I'll need an email to send an invite)! I personally don't know a lot of knowledge of Cython build systems, but I am certain someone in the community does 😄

@isabelizimm Slack would be great, thank you! My email is [email protected].

@lwasser lwasser moved this to New Presubmission in presubmission-inquiries Apr 6, 2024
@eliotwrobson
Copy link
Author

@isabelizimm do you have any updates here? We've updated the package substantially since this was opened, and it would be good to have some feedback before we make another pass through and clean things up some more (cc @Batalex since I've seen your comments on other inquiries).

@Batalex
Copy link
Contributor

Batalex commented Apr 11, 2024

Hey,
Thank you for your patience. I got a little behind in the latest submissions, and we introduced some changes to our scope policy. I'll get back to you asap

@Batalex
Copy link
Contributor

Batalex commented Apr 20, 2024

Hey @eliotwrobson,
CynetNetDiff is in scope for us, would you mind opening a new issue referencing this pre-submission inquiry? Thank you.

@eliotwrobson
Copy link
Author

Sounds good! I'll need a bit of time to get a couple more things in order before a request for full review, but I will definitely submit it within the next two weeks 👍

@Batalex
Copy link
Contributor

Batalex commented Apr 24, 2024

Superseded by #175

@Batalex Batalex closed this as completed Apr 24, 2024
@github-project-automation github-project-automation bot moved this from Presubmission: pre-review checks to Done in presubmission-inquiries Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

4 participants