feat: Migrate to uv from pipenv - #235
Conversation
d3d0cd3 to
3d3fc72
Compare
|
Thank you so much for this. I was plannign to handle the CI pipeline first, then come to this but that order is not a strict requirement. |
|
I also think we should drop support for Python 3.8 and Python 3.9 for this package, as they are already EOL before this uv PR is merged. I checked the test cases and noticed that they use the pytz package and it is also not available by default (Third party library). Since Python 3.9+ introduced the zoneinfo library, we can replace pytz with it. Any thoughts, @ulgens? |
I was trying to keep an overlap for supported Django - Python versions between the latest release and the next one, so that the update process will be less painful for the users but I just removed I'm okay with adding pytz depedency for a temporary period. |
👍 |
3d3fc72 to
895342f
Compare
|
Update:
|
|
Thanks for the update. About pytz, is it useful now? Were you able to run tests locally, or does the project itself depend on it? If not, I'd recommend adding the pytz where it's useful. Do we still need |
Currently working on it (test cases) |
|
We don't need this file anymore, also it's too complex. |
895342f to
0fc57a0
Compare
|
@ulgens |
0fc57a0 to
cf3465d
Compare
cf3465d to
cb8a52d
Compare
cb8a52d to
1ccf995
Compare
|
@ulgens I have plans to create a Docker-based, fully automated test setup for this package this weekend. I expect this PR to be merged before then, as uv really helps us set up and run test suites very easily without any hassle. |
|
Hey @DhavalGojiya , sorry for the delay on my end. I don't use Django as much as before, and I have very limited time to push anything related to it - but I should've responded a long time ago. My memory about this PR was that because the tests are not working yet, anything else we change can not be tested either. The PR looks pretty much okay, and I think we can merge it but it's not clear if this new setup works fine and what will happen when someone needs to make a new release. About the docker-based test setup, can you please create an issue first? I'm missing why it's needed. |
I understand that this PR does not directly fix that issue, but we can take things step by step. If someone wants to contribute to this package, the first step is setting up the project and its dependencies. This PR addresses that problem, and
This PR does not change any code that affects the package itself or the code that is shipped to PyPI. I don't think this is something we need to worry about for this PR.
This is already covered by an existing issue in the project: #249
Check this setup (I wrote this entire test module for Haystack-related projects): To run the
I don't think we can cover all of this in a single PR. We'll need to address these step by step, and I can help with this. |
I definitely agree on that, but the part I am focused on is that the previous setup was working at some point, and switching to a new method that is not validated yet is risky. I'd prefer keeping things as is, instead of providing untested new structures.
The PR is changing the dependency management and the build system, I'm missing how it doesn't affect the build process.
#249 has no mention of docker in it. The case sounds like it makes sense, but it will still need an issue. Also, the latest issue with tests wasn't the environment; it was the code. |
| { name = "Rolf Håvard Blindheim", email = "rhblind@gmail.com" }, | ||
| { name = "Ülgen Sarıkavak", email = "ulgensrkvk@gmail.com" }, | ||
| ] | ||
| requires-python = ">=3.8" |
There was a problem hiding this comment.
I'd recommend depending the higher limit too.
The current setup is using Only Elasticsearch 8.x and 9.x series are currently maintained. There is also one more major problem here. This When I say
@acdha (maintainer of django-haystack) and I are currently working on these packages to keep support for newer maintained search engines (Specially Apache Solr) available in the
I would say that we are just optimizing the build process ( It does not matter which build frontend or build backend we use for package management. At the end, the generated source distribution and wheel distribution are the same. We do not change anything in the
Yes we can create a new issue or can create sub task in existing issue since this docker things also part of test process. |
Description
Migrated from Pipenv to uv
Added support for pyproject.toml with uv
Removed files:
setup.pysetup.cfgMANIFEST.inPipfilePipfile.lockuv buildorpipx run buildSource Distribution
Wheel Distribution