-
-
Notifications
You must be signed in to change notification settings - Fork 97
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
Modernising the dev tooling #480
Comments
Thank you so much for the compliment, @bennyrowland! This issue is worth to be pinned (so I actually did). I will summarize my opinions during my free time this weekend. |
First of all, most of the modern tools you have exemplified are for Python3 only. So if we were to adopt some of them, it would be the |
Just IMO formatters like
|
Thanks, @junkmd, for your thoughts. I would say that adding a pre-commit config file that devs can use to install a commit hook that will run To my mind part of the advantage of The reference to Moving to
|
My understanding is that the day |
I am aware that supporting Python2 will be available up to
That perception as well for me. Actually, I expect that
I wonder that who would be a contributor or a maintainer to the |
Moving to
|
I see. The existing GHA would act as the gatekeeper. It won't be a problem as long as we are careful about maintaining things like |
When implementing #486, I considered that registering TLBs/DLLs for testing in the registry before testing and unregistering them after testing is better than worrying about native COM libraries in the test environments. If you were to configure Additionally, I believe it would be more preferable to build the TLBs/DLLs through CD/CI from the source code instead of keeping pre-built TLBs/DLLs. Of course, if these are to be introduced, they will not be done all at once, but will be step by step. I would appreciate your insights. |
I have a project which implements a COM server using
There may be cleaner ways of doing this but I haven't figured them out yet. I also haven't bothered unregistering afterwards but tox supports a I did try using a mocked registry to avoid all this stuff, but too much of the stuff accessing the registry is in the COM layer rather than in Python so that didn't work. Another way to approach this would be to do the registering on a per test basis (e.g. using Any testing DLLs/TLBs obviously should not be part of the main package, which means if they are to be built from source then we need some kind of test build process distinct from building the main |
Thanks. I think your examples should be very useful.
"get the bit size from the Python executable or set up different
Depending on the developer's permissions, those COM libraries could not be registered. In that case, those tests need to be skipped.
This repository currently contains |
Well, personally I would put the test folder outside of the main package (in the repo but not in the built sdist or wheel), I don't see why it should be installed by every user on production systems that don't want to run the tests. But I certainly wouldn't add a load of Visual Studio files like .sln/.vcproj and the .c and .h files used to build test DLLs into that folder (just as the repo currently has the I think we could define a pytest mark to indicate tests that needed admin permissions and have a "skip-if" paradigm so that they would automatically run or not depending on the permissions pytest was run with. |
Thank you for your knowledge.
Modern project repositories usually locate tests outside of the package. Lines 135 to 146 in d1f5cd7
Lines 158 to 164 in d1f5cd7
I really appreciate that.
If it is just skip markers, I think we should just make do with it in |
I know that it may raise a However, if possible, I would like to avoid using this testing option and avoid making errors "in the right way". related to: |
|
Hello
comtypes
ers,As
comtypes
is currently experiencing a new lease of life (thanks particularly to the efforts of @junkmd), I wanted to gauge the level of interest from contributors in adding in new tooling to support the development process. There is now such a rich ecosystem of packaging tools including things liketox
/nox
for isolating and automating test builds, formatters likeblack
(that can be run withpre-commit
), linters likepylint
orruff
,setuptools_scm
for version management, andtowncrier
for generating the changelog.While I am not suggesting the immediate or wholesale adoption of all these options, I think that incorporating some of these tools could make the development process easier for new contributors to get started with, and probably simplify things for everybody. However, I realise that this would also require a certain amount of work, and also some discussion to try and achieve consensus on what tools to use, and that may not appeal to everyone involved. So I decided to open this issue to see whether I get enthusiastic support, naked hostility, or studied indifference. Let me know what you all think...
The text was updated successfully, but these errors were encountered: