Metadata-Version: 2.4
Name: xicommon
Version: 1.0.9
Summary: Common library for crosslinking mass spectrometry tools
Author: Rappsilber Laboratory
License: LGPL-3.0-or-later
Project-URL: Homepage, https://github.com/Rappsilber-Laboratory/xicommon
Project-URL: Source, https://github.com/Rappsilber-Laboratory/xicommon
Requires-Python: >=3.10.1
Description-Content-Type: text/markdown
License-File: COPYING
License-File: COPYING.LESSER
Requires-Dist: pyteomics!=4.7.3,!=4.7.4,>=4.0.0
Requires-Dist: pyteomics.cythonize>=0.2.2
Requires-Dist: numpy>=2.0
Requires-Dist: pandas>=1.1.0
Requires-Dist: cython<3.1.0,>=3.0.0
Requires-Dist: lxml
Requires-Dist: xicommon-zipfile-deflate64
Requires-Dist: memoized-property
Requires-Dist: termcolor
Requires-Dist: pygments
Requires-Dist: progress
Requires-Dist: dirlock
Requires-Dist: native-fisher-py>=0.3.0
Requires-Dist: pyyaml
Provides-Extra: dev
Requires-Dist: pytest>=3.6.4; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: pytest-flake8>=1.1.0; extra == "dev"
Requires-Dist: flake8==4.0.1; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: memory-profiler; extra == "dev"
Requires-Dist: pprofile; extra == "dev"
Requires-Dist: py-spy; extra == "dev"
Dynamic: license-file

# xicommon

## Troubleshooting

### Segmentation Faults during pytest (Python 3.14 free-threading)
If you encounter segmentation faults when running `pytest` in a Python 3.14 free-threading environment, it is likely caused by C-extensions (like `pyteomics.cmass` or `pyyaml`) compiled with an outdated version of Cython.

**Fix:**
Ensure Cython is at least version 3.3.0 before installing dependencies.

1. Upgrade Cython: `pip install "cython>=3.3.0"`
2. Reinstall affected packages (e.g., pyteomics) to trigger a rebuild against the new Cython version.

### Compilation Error: unknown type name '__pyx_vectorcallfunc'
When running pytest after upgrading Cython, if `pyximport` fails with a compilation error regarding `__pyx_vectorcallfunc` in dynamically generated `.c` files, the `.pyxbld` cache contains stale C files generated by the old Cython version.

**Fix:**
Clear the `pyximport` build cache to force regeneration of the C files:
`rm -rf ~/.pyxbld`
