channels_postgres icon indicating copy to clipboard operation
channels_postgres copied to clipboard

Do we really need `msgpack~=1.0.7` or will a newer version work?

Open wolph opened this issue 8 months ago • 1 comments

I've got a project that's running on Python 3.13 on Windows and I can't install a compiler. Currently this project has a requirement for msgpack 1.0.7 which does not offer Python 3.13 binaries.

https://github.com/danidee10/channels_postgres/blob/8ac3fd69449ee2f0a4bcb38189365e85d123d745/setup.py#L31

Would it be possible to relax the requirements so I can use msgpack 1.1.0 which does support Python 3.13?

wolph avatar Mar 31 '25 22:03 wolph

Yes. please open a PR. I would only restrict major updates. Something like

msgpack>=1.0.7,<2.0.0

Should be fine

If there are other strict requirements (besides msgpack) preventing it from working on Python 3.13. Feel free to loosen them too.

danidee10 avatar Apr 04 '25 15:04 danidee10

I can create a pull request but I think you're already rewriting everything with the new psycopg3 branch anyhow so I'm not sure if there's a point.

If I can make a suggestion, try uv instead of pipenv. It's much faster and way more versatile than pipenv is. It's basically a drop-in replacement for pipenv/poetry/etc., pip, pipx and probably a few other tools and it's blazing fast and convenient to use. I did give pipenv a good try at some point but I found pipenv to be prohibitively slow and I even attempted to improve it at some point: https://github.com/pypa/pipenv/pull/3667

With regards to the requirements, I would suggest this:

install_requires=[
    'msgpack~=1.0',
    'asgiref~=3.7',
    'channels~=4.0',
    'aiopg~=1.4',
]

That requires (in the case of asgiref as an example) version 3.7.x or higher, but does not allow version 4.0.0.

wolph avatar Apr 10 '25 02:04 wolph

I can create a pull request but I think you're already rewriting everything with the new psycopg3 branch anyhow so I'm not sure if there's a point.

If I can make a suggestion, try uv instead of pipenv. It's much faster and way more versatile than pipenv is. It's basically a drop-in replacement for pipenv/poetry/etc., pip, pipx and probably a few other tools and it's blazing fast and convenient to use. I did give pipenv a good try at some point but I found pipenv to be prohibitively slow and I even attempted to improve it at some point: pypa/pipenv#3667

With regards to the requirements, I would suggest this:

install_requires=[ 'msgpack~=1.0', 'asgiref~=3.7', 'channels~=4.0', 'aiopg~=1.4', ] That requires (in the case of asgiref as an example) version 3.7.x or higher, but does not allow version 4.0.0.

Yeah. It's not necessary to open a PR for this anymore.

I tried uv and I can attest to everything that you said. The only thing preventing me from using it now is that it doesn't support dependabot :( https://github.com/dependabot/dependabot-core/issues/10478

danidee10 avatar Apr 10 '25 10:04 danidee10

It seems like it might be supported 🤔

https://github.blog/changelog/2025-03-13-dependabot-version-updates-now-support-uv-in-general-availability/

danidee10 avatar Apr 10 '25 10:04 danidee10

I believe this has been fixed with the new release :)

wolph avatar Apr 18 '25 16:04 wolph