mozilla-services / axe-selenium-python

aXe Selenium Integration python package
https://pypi.python.org/pypi/axe-selenium-python/
Mozilla Public License 2.0
57 stars 50 forks source link

Package maintainers? #192

Open MarcelWilson opened 12 months ago

MarcelWilson commented 12 months ago

Is this project actively being maintained? I see a couple PRs submitted from last year without any movement.

m8ttyB commented 11 months ago

@kimberlythegeek / @davehunt - is Moz still maintaining this or has the project been sunsetted?

m8ttyB commented 11 months ago

Alternatively, can this project be shifted to a community ownership model? Happy to re-take the reigns.

MarcelWilson commented 11 months ago

I ended up forking the project as an alternatively named package primarily for myself but went ahead and published it to pypi in case it's useful for anyone else. (selenium-axe-python)

m8ttyB commented 11 months ago

I was the architect of axe-selenium-python and core maintainer. I lost access after leaving Mozilla. I'll contact moz via other channels to understand their intent with this project.

thibaudcolas commented 11 months ago

For what it’s worth, we’ve been investigating using this package for Django (django#16372), so I’d love to know what the maintenance status is as well – and help if help is needed.

m8ttyB commented 11 months ago

Mozilla staff are attending an All Hands meeting next week. I don't expect to hear back until after their meetings. The gears are in motion, we should receive a status update shortly. I appreciate everyone's patience while we get this sorted out.

davehunt commented 10 months ago

I can confirm that this project is no longer being maintained by anyone at Mozilla. I fully support @m8ttyB's suggestion of handing this over to a new owner or community for future development. My suggestion would be to initiate a repository transfer. If others are in agreement, I believe we would just need to know the new owner.

m8ttyB commented 10 months ago

thx @davehunt. I'm working to track down @kimberlythegeek to discuss the pypi maintainers list.

An open question to the community - @MarcelWilson + @thibaudcolas: Deque's Python bindings appear to have significantly improved over the years. The initial goals of this project were to provide Python bindings for axe-core, where Deque (if I remember correctly) only supported JS at the time. This gap has narrowed quite a bit.

Is there an intrinsic reason to continue using axe-selenium-python instead of Deque's axe-devtools-api? I'm not against reviving this project, but I want a sanity check.

m8ttyB commented 10 months ago

I want to nudge this thread again -- I have not been able to locate @kimberlythegeek yet. I'll continue to work on getting ahold of her. In the meantime, @MarcelWilson or @thibaudcolas, have you given my question some thought? Should we suggest the community begin using axe-devtools-api instead of this project?

thibaudcolas commented 10 months ago

@m8ttyB thanks for following up! I’ve not come across Deque’s axe-devtools-api before. It seems to be a different product? Axe DevTools doesn’t seem to be open source / is only available on an authenticated packages registry. axe-core is what I’m looking for Python/Selenium bindings for. Deque seems to have a lot of language-specific axe-core bindings these days but not one for Python/Selenium. There is a third-party axe-core-python though, which advertises Selenium and Playwright.

As far as ownership, the options I can see working from my side are:

We’d then try to replicate this as appropriate in PyPI, set up an Organization account and invite the relevant maintainers.

thibaudcolas commented 9 months ago

Hey all, my turn to nudge :)

m8ttyB commented 9 months ago

Hi @thibaudcolas -- I was hoping @MarcelWilson might have a moment to weigh in.

You make fine points, particularly around being pushed towards an authenticated package registry that ties usage to Deque. Is this a blocker? The underlying integration they use to inject Axe with Selenium appears curiously similar to our solution.

Again, I am not dismissing the value of axe-selenium-python; I just want to be clear that folks are comfortable creating/maintaining a solution that roughly parallel to Deque's that still relies on axe-core. Reinvigorating community engagement on this project would give us more fine-grained control and move it out of the pay-walled model that Deque's model suggests.

If you're a 👍🏼, let's move forward, can you approach the Django project to engage in a conversation and take a temperature check? I agree with your assessment. Once it's decided which organization to host this project under, Mozilla folks will assist with transferring the project - ty to @davehunt & @pdehaan.

We’d then try to replicate this as appropriate in PyPI, set up an Organization account and invite the relevant maintainers.

There is a mechanism in place to recover abandoned pypi namespaces. I will begin the process.

MarcelWilson commented 9 months ago

@m8ttyB I'm not against paid libraries, but unfortunately it would be a non-starter for my projects (one of which is also open source).

Personally I would love to see axe-selenium-python continue to thrive. It already seems to have roots, just needs a little TLC. (it would also mean I can ditch my forked version 😆)

m8ttyB commented 9 months ago

ty @MarcelWilson. Let's do it.

tushar5526 commented 9 months ago

I love the efforts everyone is making here to push this forward. I would be happy to volunteer to help in any manner possible and want to contribute some features inspired by https://github.com/pamelafox/pytest-axe-playwright-snapshot, majorly interested in having inbuilt snapshot testing as starters.

thibaudcolas commented 8 months ago

Quick update – took me a while but this is now in front of the right Django people for review. I’ll keep you all posted.

m8ttyB commented 8 months ago

Brilliant, ty. That's great news.

thibaudcolas commented 5 months ago

Hi folks, I have good and bad news. The bad news is we can’t get this under the django organization in GitHub, because of the concerns I mentioned earlier about there being a package on there that’s not Django-related enough. The good news is – we can still proceed with the other options I mentioned :)

  • A new dedicated organisation
  • A personal account as a last resort (not keen on the bus factor)

Now I’m not keen on the personal account because of the bus factor – so I think the "separate organisation" is the way to go. I’m happy to set that up if that works for others here. Over the last few months I’ve had a good experience moving django-recaptcha to this type of model.

@m8ttyB what do you think? If this works for you, you can initiate the transfer to me and I’ll take it from there, coordinating with other volunteer maintainers to set up the package in a separate org. And then go through the needed maintenance.

For reference, here are people affiliated with Django who have offered to help maintain this: @tushar5526 @thibaudcolas @knyghty @sabderemane. And @MarcelWilson if you’re up for it, the more the merrier.

MarcelWilson commented 4 months ago

I agree a separate github org would make the most sense.

One very minor correction, I'm not affiliated with Django. I use the axe in conjunction with selenium.

I mention this because I feel it's important that the purpose of the package isn't/shouldn't be specifically limited to one umbrella.

thibaudcolas commented 1 month ago

@m8ttyB 👋 checking in where we’re at with this – do you think we could make the GitHub + PyPI transfer happen? I’m happy to have the package transferred to my personal account and take it from there, or you can create a new separate organization yourself and add the above people to it.

Re the PyPI package, same. You mentioned a mechanism to recover packages there, I’m not aware of it but am happy to take care of that if needed.

m8ttyB commented 1 month ago

Oi vey, I apologize. This conversation fell off my map, and messages were sent to dev/null.

@davehunt, can you help Mozilla formalize the transfer of axe-selenium-python to @thibaudcolas?

/cc @pdehaan

m8ttyB commented 1 month ago

I've filed a support request with PyPI to initiate the transfer of the maintainer role. Once completed, we'll coordinate a community maintainer model for the package.

davehunt commented 1 month ago

I've opened a ticket for transferring this repository to @thibaudcolas.

thibaudcolas commented 1 month ago

Excellent! :) Yes, as soon as the transfer is done I’ll proceed with creating an org for it, with the people listed above sharing access.

davehunt commented 1 week ago

There's some process involved in transferring a repository, which makes me wonder if it's worth the effort. If we're able to get access to the PyPI project, could we archive this repository and allow a fork to become the canonical repository? Apparently this approach has been used before. What do you think?

thibaudcolas commented 4 days ago

@davehunt with the caveat that I don’t have context on what your process involves, nor on how PyPI package transfers work, that seems ok to me.

Here’s what I think we would lose, in rough order of value:

  1. Automated GitHub redirects from /mozilla-services/axe-selenium-python
  2. Quick access to the GitHub issues and pull requests history via #<number> mentions
  3. Watch status at the repository and individual issue / PR level.
  4. Connection to the project’s forks
  5. GitHub Stars

I’d like to see mitigations in place for items 1. and 2. if possible. I’d run an automated script to recreate placeholder issues for all existing issues, with a link pointing to their source. And it’d be nice if on the existing repository, I could comment with a link to the new repo before it’s archived. And signposting on the README before archival.


Be great if we could rely on GitHub’s support for all of this, but if not, I’ve created axe-selenium-python/axe-selenium-python-fork for now as a placeholder, which I’ll rename if we proceed with this.