CleanCut / green

Green is a clean, colorful, fast python test runner.
MIT License
785 stars 75 forks source link

Join The Project Team #273

Closed sodul closed 5 months ago

sodul commented 7 months ago

@CleanCut I'm open to help contribute to the project more actively to help ensure green will stay forward compatible for the foreseeable future.

I do not have a lot of spare cycles to make green a next generation unit testing platform, but I like the KISS approach to green and want to keep it simple. With the newer cadence for Python, and in the industry in general, to deprecate all ways and versions faster, I believe that being able to react faster to upstream changes and deprecation will help keep green successful.

I can help with bringing the codebase to more modern python standards, including type annotation and ensure compatibility with new versions of pip and pipy requirements. Help with reviewing PRs and release new versions as new feature and fixes are merged.

Please let me know if you want to have a call to discuss this further.

CleanCut commented 7 months ago

@sodul Cool, that would be fantastic. I'm going through some major life changes right now, which has made it extremely difficult to keep up with Green.

Go ahead and start by opening some PR's. I'll review them and when a few of those look good, I'll start increasing your permissions and let you act more independently.

sodul commented 7 months ago

@CleanCut I totally understand, life happens. I've added a new PR to address the new warnings with python 3.12. Once 274 and 275 are merged it would be good to get a new official release out.

I did try to add some type annotation a few months back and uncovered a few potential bugs. The issue is that the type annotation available with 3.6 and 3.7 is limited compared to what we can do with 3.8, and there is some code that is different between 3.8 and older versions that makes it even more difficult to get the type annotation to work. So if you are open to it I would request that the next release with the 3.12 compatibility becomes the last release to support 3.6 and 3.7 which are both unsupported upstream. Once I know I do not need to stay compatible with 3.7 I can start refactoring the codebase to use modern type annotation and python 3 syntax. Python 3.13 is deprecating even more old syntax, removing 'dead batteries'.

CleanCut commented 7 months ago

Once 274 and 275 are merged it would be good to get a new official release out.

💯 Agreed.

So if you are open to it I would request that the next release with the 3.12 compatibility becomes the last release to support 3.6 and 3.7 which are both unsupported upstream.

I'm fine dropping compatibility for this release. We'll just have to bump major versions if we do that (which is fine).

sodul commented 7 months ago

The most recent release of green, 3.4.3, supports Python 2.7 and IIRC at least Python 3.5. The current main supports 3.6 and 3.7 this is why I think it would be good to do a new green 3.5.0 release which officially drops 2.7 and 3.5, but that folks on 3.6 and 3.7 will be able to use. We can then drop 3.6 and 3.7 in main, I'll cleanup some underlying code and will add modern type annotation.

That's 100% your call, let me know how you want to proceed and I'll be happy to submit a few PRs.

CleanCut commented 7 months ago

Sure, that's good advice.

sodul commented 5 months ago

I'm now a maintainer for green on GitHub and Pypi.org. I was able to release v3.5.0 and will look into releasing 4.0.0 with support for Python 3.12 in the next few days.

Thanks @CleanCut !

CleanCut commented 5 months ago

Thank you for taking this on when life events prevent me from spending the time!