Skip to content

Python 3.13 release #55

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

Open
cbenz opened this issue Nov 19, 2024 · 4 comments
Open

Python 3.13 release #55

cbenz opened this issue Nov 19, 2024 · 4 comments
Assignees

Comments

@cbenz
Copy link

cbenz commented Nov 19, 2024

I'd like to be able to use the latest release of cysimdjson (24.12) with Python 3.13, using a wheel to avoid recompiling it myself.

It seems it's not possible:

$ python --version
Python 3.13.0

$ pip install cysimdjson==24.12
ERROR: Could not find a version that satisfies the requirement cysimdjson==24.12 (from versions: 21.11b2, 21.11, 23.7, 23.8)
ERROR: No matching distribution found for cysimdjson==24.12

I can install the previous version (23.8) by relaxing the constraint (but I want the latest!), by compiling the wheel:

$ pip install cysimdjson

Collecting cysimdjson
  Downloading cysimdjson-23.8.tar.gz (517 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: cysimdjson
  Building wheel for cysimdjson (pyproject.toml) ... done
  Created wheel for cysimdjson: filename=cysimdjson-23.8-cp313-cp313-linux_x86_64.whl size=958087 sha256=97f2f1eaa484c19dce5e2659a9403a444445c8cc710b9b423427d5971c3cd6d6
  Stored in directory: /home/cbenz/.cache/pip/wheels/75/00/3c/73dd4c3f81224fc86a2b49475c98ef8ee0e63a03cceb0b1194
/home/cbenz/Dev/test/.venv/lib/python3.13/site-packages/pip/_internal/metadata/importlib/_dists.py:77: DeprecationWarning: Unimplemented abstract methods {'locate_file'}
  return cls(files, info_location)
Successfully built cysimdjson
Installing collected packages: cysimdjson
Successfully installed cysimdjson-23.8

It seems that the source distribution was omitted in the latest release (24.12).

Would it be possible to publish wheels for Python 3.13 for the latest release (24.12)?

@cbenz
Copy link
Author

cbenz commented Jan 7, 2025

Solved by doing

pip install git+https://github.com/TeskaLabs/cysimdjson

@StSav012
Copy link

@cbenz, despite getting the package from GitHub enables installing, calling loads yields

Process finished with exit code 132 (interrupted by signal 4:SIGILL)

Can you confirm it?

My setup is

Python 3.13.2 (main, Feb  5 2025, 08:05:21) [GCC 14.2.1 20250128] on linux

@cbenz
Copy link
Author

cbenz commented Apr 30, 2025

@StSav012 No, I don't have that error:

$ cd Dev/tests/python
$ uv venv test-cysimdjson-venv
Using CPython 3.13.1
Creating virtual environment at: test-cysimdjson-venv
Activate with: source test-cysimdjson-venv/bin/activate
$ source test-cysimdjson-venv/bin/activate
$ uv pip install git+https://github.com/TeskaLabs/cysimdjson

Using Python 3.13.1 environment at: test-cysimdjson-venv
Resolved 1 package in 456ms
Installed 1 package in 3ms
 + cysimdjson==24.12 (from git+https://github.com/TeskaLabs/cysimdjson@a86929eb7a73aed971f08144ce3022b8211eb59d)

$ python
Python 3.13.1 (main, Dec 19 2024, 14:32:25) [Clang 18.1.8 ] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cysimdjson
>>> parser = cysimdjson.JSONParser()
>>> parser.loads('{"a": 1}').export()
{'a': 1}
>>>

Could you provide a reproducible example?

@StSav012
Copy link

StSav012 commented May 5, 2025

Sure.

~cd /tmp                                                                                                                ✔ 
/tmp   uv venv                                                                                                             ✔ 
Using CPython 3.13.2 interpreter at: /usr/bin/python
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
/tmp   source .venv/bin/activate                                                                                                                                                                  ✔ 
/tmp   uv pip install git+https://github.com/TeskaLabs/cysimdjson                                                   ✔ tmp 🐍 
Resolved 1 package in 1.29s
░░░░░░░░░░░░░░░░░░░░ [0/1] Installing wheels...
warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
         If the cache and target directories are on different filesystems, hardlinking may not be supported.
         If this is intentional, set `export UV_LINK_MODE=copy` or use `--link-mode=copy` to suppress this warning.
Installed 1 package in 23ms
 + cysimdjson==24.12 (from git+https://github.com/TeskaLabs/cysimdjson@a86929eb7a73aed971f08144ce3022b8211eb59d)
/tmp   python                                                                                                       ✔ tmp 🐍 
Python 3.13.2 (main, Feb  5 2025, 08:05:21) [GCC 14.2.1 20250128] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cysimdjson
>>> parser = cysimdjson.JSONParser()
>>> parser.loads('{"a": 1}').export()
zsh: illegal hardware instruction (core dumped)  python
$  lsb_release -a
LSB Version:    n/a
Distributor ID: ManjaroLinux
Description:    Manjaro Linux
Release:        25.0.0
Codename:       Zetar

$  uname -a
Linux stsav012-pc 6.12.21-4-MANJARO #1 SMP PREEMPT_DYNAMIC Tue, 01 Apr 2025 18:45:30 +0000 x86_64 GNU/Linux

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants