-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
Future of this package #216
Comments
Hi Andras. I know of no long term plans for this package, except perhaps for users keeping it running for their use cases. The package can live on for a while in this self-service mode, but nice-to-haves like native python 3 support are not likely be prioritized. I do virtually no work on this package, as my job and personal life no longer involve coding. @vasily-v-ryabov does the bulk of reviewing and committing. I'd welcome a discussion about building a critical mass of contributors and admins for this project. |
@cfarrow thanks a lot for the quick answer. @vasily-v-ryabov do you have any comments? |
Hi guys, I have some plans on diving deeper into the comtypes source code with potential improvements. My interest is mostly comtypes' usage in pywinauto as a dependency (we're already using it for few years). I'll try to explain my immediate interests and nice-to-have things which I can support as a reviewer.
No more global things for now. |
A new release would be important, because if there are no new releases then fixes and improvements will not get to users. It would be also important to merge pull request and review issues. Setting up AppVeyor would be nice because then pull requests could be more confidently merged. If there is a consensus that Python2 support can be dropped then updating the syntax for Python3 should not be hard, especially if there are automated tests. I can help with this, as we try to avoid depending libraries that are not updated to Python3. |
pywinauto is not planning to drop Py2.7 support. So I vote against it in comtypes as well. Also I'd prefer to keep comtypes a pure Python library (without any dependencies). We may think about |
My understanding is that projects are actively encouraged to drop Python2 support before the end of 2020 to reduce frictions in the Python ecosystem (https://python3statement.org/). Anyway, if you are ready to pull the plug on Python2, then I'm ready to help with the update. |
I think it would be easy to make better Py2/Py3 support with already working AppVeyor tests. So making better CI is a fundamental task for further progress. Currently it is implemented as |
I just wanted to contribute one user's voice to this discussion.
|
Even if there's no larger changes to the project done, it would be really great if #172 (or something equivalent) could be integrated and a new release could be done. Currently this project is randomly failing on Windows with new Python 3 versions which is causing issues with pywinauto. (which depends on this project for UIAutomation support) Afaik many other UI automation tools also use Windows UIAutomation through comtypes so they have the same problem. |
Please let Python 2 die! |
IMHO debating killing Python 2 is futile if the person who is more or less maintaining this project intents on keeping the support for now. This should not and must not mean halting improving the quality of this project on Python 3 though. |
|
A long time has passed since this issue was posted. And now,
As I planned in #327, I am trying to tie the
I think it is important to once again discuss plans in the future, and this issue is a good place to discuss it.
What are participants thoughts on this now? |
Removing Py3.4 is OK to me. Even if someone has legacy Python 3.4 environment, there is a very low risk something is broken in comparison with 3.5 or even 3.6. But keeping Py2.7 covers more legacy users in my opinion. I would remove Py2.7 after 1 more year of support which shouldn't bother all us so much. For example, we can release comtypes 1.1.13 and 1.1.14 with Py2.7 support and then release comtypes 1.2.0 with Py3.6+ support only. So type hints are natively supported from some moment without any additional efforts. |
I agree with your suggestion to support only Py 3.6+ when dropping Py 2.7. With Py3.6+, we can use the built-in I understood that it will be about a year later we release the version of Py2.7 dropped. I will develop this package according to that plan. |
Hello members, collaborators and contributors(including @cfarrow, @jaraco, @vasily-v-ryabov and @cmin764)! I would like to put more efforts into I would like to be a collaborator on this project. Any opinions would be appreciated. |
I support this.
…On Mon, Nov 21, 2022, 10:17 AM Vasily Ryabov ***@***.***> wrote:
@cfarrow <https://github.com/cfarrow> @jaraco <https://github.com/jaraco>
I think merge/maintainer permissions make sense for @junkmd
<https://github.com/junkmd>. If there are no objections, I will add him
as collaborator in next 2 days.
—
Reply to this email directly, view it on GitHub
<#216 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAGNU7TK7DDC3NB3CNAMRPLWJO4EJANCNFSM4PF6YPBQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@junkmd invitation is sent. Welcome to the club! :) |
Thank you very much!:smile: |
I added the I hope to see more newcomers in this community. |
I triaged some issues in my free time this weekend. But it is very voluminous, so It is taking time to do "issue inventory". I plan to make some progress on this little by little. |
Can we release 033d6e8 (and adding changelogs) as |
|
I am planning to observe movements after the release of
In light of this, I have reviewed the current milestones for The following items, which have been present since before the
The following items, originally included in the |
We are currently using PyWinAuto with Python 3.8. Here is our installed package list C:\Users\Administrator>pip freeze Now we are planning to move to latest Python 3.12. Looking at this thread I think we cannot use PyWinAuto with Python 3.12. What is the maximum Python version that we can move to provided we still use PyWinAuto |
https://github.com/enthought/comtypes/releases/tag/1.2.1 If you have a problem with the |
Even with comtypes 1.2.1, PyWinAuto installation fails with Python 3.12. Submitted the issue in PyWinAuto |
I released I am relieved that there have been no regression reports immediately following the release. A few weeks later, I am planning to release If there are pull requests from contributors addressing some of the remaining "good first issue", I would like to prioritize reviewing them. |
I created a 'typing' label for the classification of features related to static typing. |
While summarizing my thoughts on numpy for #551, I noticed a few things during my research. As mentioned in #220, the version of On the other hand, Furthermore, there is also room to consider dropping to support |
I've found that dropping support for EOL Pythons is generally uncontroversial, especially if the proper metadata is present. I'd advise to do that as a matter of course with this (or any other) project unless there are specific functional reasons to keep it. |
I certainly agree with what you’re saying. Providing a long grace period when we dropped support for Python 2.7 was a special case. When Python 2 support was dropped, the version increment was made from In this project, when releasing the version that dropping support for Python 3.7 (or any Python 3.Y.Z that reaches EOL), which digit of |
Even if this project honors the well-specified semver standard, the choice for what qualifies as a "bugfix" (patch bump) and not (minor bump) is far from deterministic. Here's the methodology I follow:
By that methodology, since the ecosystem prevents installation of incompatible versions, it's not a breaking change. Since it's only a metadata change not affecting behavior, it could be a patch bump. On the other hand, because it's not a correction and because one may want to release bugfixes for versions supporting older Pythons, I almost always use a minor bump when dropping support for a Python. It's this last point that I think is the most crucial. Using the 1.1.11 release as an example, if a bug was discovered that affected both |
Thank you for sharing your methodology. With reference to that, I have the following very rough release schedule in mind:
|
Is "metadata" the When we dropped support for Python2, P.S. I am also aware that it is not recommended to have a large amount of code written in |
Actually, I'm speaking of the And now I see this project isn't declaring that metadata right now. That's not good. That means that a user installing comtypes on Python 2.7 or 3.6 will still be offered the latest release (and all prior releases):
We'll want to get that fixed ASAP and get a release out. PR incoming.
That is correct. The classifiers are essentially useless and I recommend against using them except maybe to declare the major Python version, which today is just "3" and there's no likelihood of "4", so I just omit it. |
I released |
If there are versions out there that claim Python 2 support but don't really support it, consider yanking them. |
I plan to release |
I believe that yanking should be done for more critical situations, such as when a vulnerability is discovered or when the package becomes unusable at all. If we yank versions solely because |
An idea that might effectively clarify which versions of Python this package supports: As previously discussed, "classifiers are essentially useless", adding or removing the I came across this comment. A badge like this might be useful: Any opinions would be appreciated. |
+1 to using Requires-Python and reflecting that in a badge. |
There is one point of classifiers which is basically "project is has CI testing against these Python versions". Then again, people typically add versions even if there's coverage gaps for interpreter versions... But the main point is that it may work on newer, it's just not been tested. Requires-Python is semantically different and just means you must not install on older than given version. |
A Requires-Python badge would also be effective, but what we might additionally need is a badge that shows the Python versions for which tests have passed in the CI pipeline. While researching a way to generate such a badge, I came across https://github.com/40ants/github-actions. |
We have identified cases where |
To support Python 3.13, version 1.4.8 includes changes to metaclass initialization. To prevent |
This package is very useful, thanks a lot for providing it! I would like to use it in a large open-source project (3D Slicer) but I'm not sure if I can rely on it in the long term, due to the followings:
Could somebody provide information about current status and future plans for this package?
I see that there have been some recent commits, so I still have some hope. Thanks in advance!
The text was updated successfully, but these errors were encountered: