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

Currently unmaintained - call for contributors and maintainers! #1

Open
Granitosaurus opened this issue Feb 10, 2020 · 24 comments
Open

Comments

@Granitosaurus
Copy link
Contributor

Granitosaurus commented Feb 10, 2020

Edit from Mattwmaster58: This repo is unmaintained and has been outside of minor changes for a long time. Please consider playwright-python as an alternative.

The original repository has been unmaitained for a while and pyppeteer turned out to be quite a hit so I've established and organization and a fork - calling for contributors and additional maintainers!

Join us at matrix room: #pyppeteer@matrix.org or https://matrix.to/#/!ScehqfCSdMAUhZoeDC:matrix.org?via=matrix.org

@marksteward
Copy link
Contributor

Count me in, pyppeteer's great and I'd be happy to help share the maintenance load.

@Granitosaurus
Copy link
Contributor Author

Thanks @marksteward - I've set up a matrix channel to communicate this easier :)
(see original post edit)

@enquora
Copy link

enquora commented Feb 11, 2020

A non-specific call for contributors/maintainers is likely to be less than successful, in my experience. The code base is complex and a non-specific approach risks never gaining traction.

A more effective approach might be the creation of a short list of triaged issues, then looking for existing solutions (in the original repository and on the web generally).
Perhaps the triaged issues list could be grouped into Admin (transferring issues from original repository), relatively easy technical and more difficult technical (addressing the inability to maintain connections and manage platform resources for long-running usage)

@Granitosaurus
Copy link
Contributor Author

@enquora you raise a good point!

I did start few projects (projects tab of the repo) but the code base seems to be really bloated and really hard to onboard. I'm myself only partially familiar with it so the current goal is to fully onboard myself and improve onboarding experience for potential contributors.

You can see more over at https://github.com/pyppeteer/pyppeteer2/projects/1

@marksteward
Copy link
Contributor

marksteward commented Feb 12, 2020

I assume you know it's basically a translation of puppeteer? What do you mean by bloated?

@Granitosaurus
Copy link
Contributor Author

Granitosaurus commented Feb 12, 2020

@marksteward I worded it a bit incorrectly - the package itself isn't bloated but everything that comes with it is. Makefiles, doit files, obsene setup.py instruction, tox with 100 lines that doesn't even build, py35 support etc. etc. Mostly things that make it difficult for maintainers not coders per se - onboarding as a maintainer or even a deeper contributor is a bit of a struggle with such setups.

@marksteward
Copy link
Contributor

Hmm, I'm not interested in tearing stuff out immediately. There's a lot of code updates to make first.

@Granitosaurus
Copy link
Contributor Author

Granitosaurus commented Feb 12, 2020

@marksteward PRs are welcome! :)
None of the "tear out" work would affect PRs.

See https://github.com/pyppeteer/pyppeteer2/projects/2
There are few good PRs in other forks too that can be ported here.

@enquora
Copy link

enquora commented Feb 12, 2020

Any work on removing code which doesn't directly and immediately impact performance or reliability of the codebase as currently used is likely to be interpreted negatively by seasoned potential contributors.

More than a few simple and immediate things need attention. The following come to mind:

  • the PyPi package page doesn't have a useable link to this repository!
  • the current included version of Chromium is woefully out of date and needs updating
  • patches exist elsewhere which should be triaged, assessed, updated and merged where appropriate

The easiest thing in the world is to do what one wants and knows how to - rather than what needs doing. Work on other things may well prove useful in the long or even medium term but without attracting a viable support team in the near term, they won't matter, are a distraction for public discussion, and should be considered a private endeavour.

I'll reiterate - the current needs of the codebase are twofold:

  • updating the included version of Chromium and keeping it current
  • determining the cause of existing memory leaks and interprocess connection failures, and working steadily towards a fix.

Seasoned potential contributors are likely to use the visibility of immediate and practical steps forward as a litmus test for their own willingness to contribute. That is how projects gain traction.

@flyte
Copy link

flyte commented Feb 13, 2020

I'd also be wary of deviating too far from Puppeteer that this is based on. I expect a lot of the issues this library has have already been solved by Puppeteer. I guess you need to make a decision to forge ahead with your own issues and fixes, or maintain parity with the "upstream" JavaScript project.

@DanEdens
Copy link
Contributor

I agree with flyte, I would only be interested in helping to keep it caught up with Puppeteer. Google is already doing most of the work.
I'm in tho. This is a project worth maintaining. I'm worried about the visibility. Would be far better if we could take over the original.
I will go through the 300 odd forks and see what else has already been attempted, maybe I'll find some more people.

@steven-81
Copy link

I'm looking at moving from Selenium to Pyppeteer and once I become more familiar with the package would be interested in participating.

Agree with the comments above that the priority feels like it will be achieving parity with the latest versions of Puppeteer and Chromium.

@Granitosaurus
Copy link
Contributor Author

Granitosaurus commented Feb 21, 2020

A lot of good points were raised here however it seems that most of the existing patches and changes are moot without catching up with newest pupetteer version.

Right now this is the priority - catching up with puppeteer
https://github.com/pyppeteer/pyppeteer2/projects/3
#16

It's rather tedious task as javascript is really tough to read/follow and as the spirit of this project goes things are being tried to be kept as close to puppeteer as possible which results in some really ugly unpythonic code.

If anyone would like to contribute feel free to pickup any modules that are in the todo list and/or come join me on matrix for cooperation :)

Mattwmaster58 added a commit that referenced this issue Mar 6, 2020
@Mattwmaster58 Mattwmaster58 pinned this issue Mar 28, 2020
@Mattwmaster58
Copy link
Member

Right now the project mentioned by @Granitosaurus is being implemented in #16 (branch pup2.1.1). Ideally any contributor would work off of that branch for now to avoid duplicating our efforts.

@gyermolenko
Copy link

Because of pup2.1.1 branch, transition from forked repo (docs, notes, CI etc) - It is hard to see from "outside" where I can try to help.

@Granitosaurus
Copy link
Contributor Author

Granitosaurus commented Apr 23, 2020 via email

@FredHappyface
Copy link

Regarding the linked issue miyakogi/pyppeteer#295

I think you could go ahead trying to reclaim the name by opening an issue here pypi/support#145

There are a few prerequisites here https://www.python.org/dev/peps/pep-0541/#how-to-request-a-name-transfer

Though it has to be said that this is a pretty slow process (think you are looking at a minimum of 6 weeks)

Btw would be interested in contributing to this. Python knowledge is reasonable but puppeteer knowledge will most certainly need improving

Thank you for keeping this awesome project alive 👍

@Mattwmaster58
Copy link
Member

Mattwmaster58 commented Apr 24, 2020

@FredHappyface Thanks for the suggestion, I will definitely have to take a look into that.

WRT contributing, we're pretty active on the Matrix channel so I'd encourage you to join there, there are quite a few tasks that only require a intermediate level of understanding of puppeteer/JS.

@Mattwmaster58
Copy link
Member

@FredHappyface The issue has been filed and of right now we are awaiting a response: pypi/support#344

@cgarciae
Copy link

cgarciae commented May 3, 2020

Nice! Thanks for continuing the project :D
It might be a good idea to put an issue on the other project pointing here.

@asher-lab
Copy link

I also would like to volunteer. Count me in as well :)

@csreddy
Copy link

csreddy commented Sep 16, 2020

I would like to contribute as well. Not sure how to setup the project as I'm new to Python projects but comfortable with Python language. It would be great if there is a readme for instructions on how to run the project, unit tests, debugging etc.

dvionst added a commit to dvionst/pyppeteer2 that referenced this issue Jul 30, 2021
@Mattwmaster58 Mattwmaster58 closed this as not planned Won't fix, can't repro, duplicate, stale Oct 11, 2022
@Mattwmaster58 Mattwmaster58 reopened this Oct 11, 2022
@Mattwmaster58 Mattwmaster58 changed the title Call for contributors and maintainers! Currently unmaintained - call for contributors and maintainers! Oct 11, 2022
@asoundarya96
Copy link

@Mattwmaster58 Is this Issue#123 still open?
When userDataDir is set, browser.close() tries to shut browser gracefully but chromeClosed property is not set to true. Hence it throws exception atexit. Can i raise PR on this?

@Mattwmaster58
Copy link
Member

@Soundarya1996

Can i raise PR on this?

Nobody has time to review or make a release, sorry. Although a PR may help others apply their own fixes

bitencode referenced this issue in sdvicorp/pyppeteer Dec 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests