-
-
Notifications
You must be signed in to change notification settings - Fork 454
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
Release schedule #1095
Comments
works for me. Replace the commit hash with the revision you need. |
great! I was missing the subdirectory part of the url. |
You can use Pip's updated VCS support to pull with Git rather than zip files. This should be quicker than zip files now, afaiu, e.g.:
|
It probably goes without saying, but lots of folks use package mirrors that require a release to pypi, and can't safely install directly from this github repo. I'm happy to help push releases more regularly, but unfortunately the Git workarounds don't work for everyone. |
Understood. I've just started as a maintainer, I'm hoping I can help make relaeses more regular. It's also possible to copy the stubs into your project, I blogged about doing so recently. |
Is there any plans on making this compatible with 4.1? :( Usually didnt take so long to make it work. |
Despite having a way to install from the source, proper releases are way better. Why would people use them otherwise, right? And it would be great to have estimations on how often releases are expected. No pressure :) I tried to look at the release history, but there is no clear pattern. I personally release my projects after each MR merged (because the whole release is a one-liner in bash), but my projects are way smaller. |
I think there was something merged considered a release blocker #1163 (comment) Don't think it's resolved yet, I might be wrong though |
The last release of django-stubs was on June 17, four and a half months ago. Since then there have been 131 commits to the master branch, but all this work is useless for users until it has been released. If I'm spending my time contributing to these projects, it's usually because I have encountered an issue. If the contributions were to be released within a week, I may be able to delay changes in my own project and avoid implementing any workarounds on my side. If it's a month, I almost certainly need to implement workaround on my end and clean them up after the stubs release. However, if it takes more than quarter a year, I will already have forgotten what issues there were and what workarounds have been implemented. Meanwhile these workarounds often result in worse type safety and increased maintenance burden. Personally I would prefer a weekly release if there have been significant changes on the master branch, perhaps smaller things don't warrant quite a weekly release. But that's just a dream at this point. :) @sobolevn as the only currently active maintainer:
|
@intgr do you want to join our team? :) Drop me a line at |
Just adding my few cents here:
I think from my point of view, getting #1173 merged is a blocker from using the main branch currently. These are real errors in the type stubs that don't match up with Django behavior. We can use ignore comments to suppress these errors, but it would be great to not have to do that. As noted about there's also some issues related to #1163 (comment) that might cause a lot of confusion, so I think it at least warrants a section in the FAQ of the project. I'd be happy to contribute that. Other than that I'm not aware of any issues with the current main branch in our fairly large Django project. |
New version is released: https://github.com/typeddjango/django-stubs/releases/tag/1.13.0 |
Thanks for the release @sobolevn !
I’ve saw your PR and I wanted to review it thoroughly, since I also recently touched the session types. Unfortunately, a lot of stubs are still misaligned with Django, and until we get the coverage up and strictness. I think using ignore comments in select places (or a git install) is going to be a fact of life for a while yet. But contributions will help us solve this! (Edit: At least with |
Thank you for the release. Can you please update https://github.com/typeddjango/django-stubs#version-compatibility accordingly? |
I have a proposal about releases. VersioningRight now we have this version compat table https://github.com/typeddjango/django-stubs#version-compatibility which is very complex and not very accurate. We also have a problem that we don't have any support for different django versions. Proposed solution:
@adamchainz @intgr @mkurnikov what do you think? |
Sounds great to me. I had an idea of code preprocessing at the time, some kind of #ifdef from C, transforming pyi files for different versions of Django. But I don't think it's gonna be implemented any time soon, i don't participate in django-stubs anymore, and other resources are pretty limited. |
👍 I feel the tension between supporting multiple Django versions and having accurate type hints. I tend to keep my projects on the latest Django version, so that sounds fine to me. I wouldn't preclude supporting multiple Django versions. But for that to work, there needs to be some person willing to put in the work to develop and maintain it:
I have no interest in working on these personally and it seems nobody else in the TypedDjango team has either. |
This tends to be very problematic. Mypy needs to learn about this: the same way it check |
That's fine. Just to clarify: I agree with dropping support for older Django releases for now. I'm open to re-introducing backwards compatibility if someone comes up with a proposal and is willing to develop a clean solution for it. |
Would it make sense to maintain separate branches for older versions, so if someone's willing to fix something in an older version they can submit a PR against that (possibly just backports of the latest branch)? I realize that this adds a bit of extra work on the maintainers, but I assume that these PRs should be fairly simple to merge, and then maybe the same release automation could be applied to the legacy branches? |
Yes, sure: we can do separate branches with no promises of supporting them or ever merging back into the main branch. |
I’d also be happy just supporting the latest version of Django, for now. @ngnpope did suggest he’d found a possible path to versioned hints using literal integer types: #1160 (comment) . But it remains to be seen if that is feasible. |
I opened an issue to continue the discussion about conditional types based on Django version: #1244 |
@djbrown django-stubs 1.13.1 released now: https://github.com/typeddjango/django-stubs/releases/tag/1.13.1 |
fix released in typeddjango/django-stubs#1095
Just to explain why this wasn't implemented yet: I was considering changing the version scheme a few months ago (#1316), but I felt some apprehensive vibes in a few comments about dropping compatibility with older Django versions (e.g. #1316 (comment) and also somewhere else, can't remember). So I didn't feel like pursuing that, and later I just forgot. |
Can we release the newest main to PyPI?
It's possible to install main via a github url directly in pip, but that's somewhat cumbersome and i've had issues specifying the correct version of django-stubs-ext when installing that way.
The text was updated successfully, but these errors were encountered: