Skip to content

Commit 58778eb

Browse files
authored
Merge pull request #209 from pycompression/release_1.7.0
Release 1.7.0
2 parents aa4a483 + 7926c93 commit 58778eb

17 files changed

+115
-68
lines changed

.github/release_checklist.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ Release checklist
22
- [ ] Check outstanding issues on JIRA and Github.
33
- [ ] Check [latest documentation](https://python-isal.readthedocs.io/en/latest/) looks fine.
44
- [ ] Create a release branch.
5-
- [ ] Set version to a stable number.
65
- [ ] Change current development version in `CHANGELOG.rst` to stable version.
7-
- [ ] Change the version in `__init__.py`
86
- [ ] Check if the address sanitizer does not find any problems using `tox -e asan`
97
- [ ] Merge the release branch into `main`.
108
- [ ] Created an annotated tag with the stable version number. Include changes

.github/workflows/ci.yml

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@ name: Continous integration
22

33
on:
44
pull_request:
5-
paths-ignore:
6-
- 'docs/**'
7-
- '*.rst'
85
push:
96
branches:
107
- develop
@@ -16,7 +13,7 @@ jobs:
1613
lint:
1714
runs-on: ubuntu-latest
1815
steps:
19-
- uses: actions/checkout@v2.3.4
16+
- uses: actions/checkout@v4
2017
with:
2118
submodules: recursive
2219
- name: Set up Python 3.8
@@ -36,7 +33,7 @@ jobs:
3633
- twine_check
3734
runs-on: ubuntu-latest
3835
steps:
39-
- uses: actions/checkout@v2.3.4
36+
- uses: actions/checkout@v4
4037
with:
4138
submodules: recursive
4239
- name: Set up Python 3.8
@@ -67,12 +64,14 @@ jobs:
6764
- "pypy-3.10"
6865
os: ["ubuntu-latest"]
6966
include:
70-
- os: "macos-latest"
71-
python-version: 3.8
67+
- os: "macos-13"
68+
python-version: "3.8"
69+
- os: "macos-14"
70+
python-version: "3.10"
7271
- os: "windows-latest"
73-
python-version: 3.8
72+
python-version: "3.8"
7473
steps:
75-
- uses: actions/checkout@v2.3.4
74+
- uses: actions/checkout@v4
7675
with:
7776
submodules: recursive
7877
- name: Set up Python ${{ matrix.python-version }}
@@ -108,7 +107,7 @@ jobs:
108107
python_version:
109108
- "3.8"
110109
steps:
111-
- uses: actions/checkout@v2.3.4
110+
- uses: actions/checkout@v4
112111
with:
113112
submodules: recursive
114113
- uses: uraimo/[email protected]
@@ -117,7 +116,11 @@ jobs:
117116
arch: none
118117
distro: none
119118
base_image: "--platform=linux/arm64 quay.io/pypa/manylinux2014_aarch64"
119+
# versioningit needs an accessible git repository but the container
120+
# is run as root, which is different from the repository user.
121+
# use git config to override this.
120122
run: |-
123+
git config --global --add safe.directory $PWD
121124
CFLAGS="-DNDEBUG -g0" python${{matrix.python_version}} -m pip install . pytest
122125
python${{matrix.python_version}} -m pytest tests
123126
@@ -132,17 +135,17 @@ jobs:
132135
shell: bash -l {0}
133136
strategy:
134137
matrix:
135-
os: ["ubuntu-latest", "macos-latest", "windows-latest"]
138+
os: ["ubuntu-latest", "macos-13", "windows-latest"]
136139
python_version: [ "python" ]
137140
include:
138141
- os: "ubuntu-latest"
139142
python_version: "pypy"
140143
steps:
141-
- uses: actions/checkout@v2.3.4
144+
- uses: actions/checkout@v4
142145
with:
143146
submodules: recursive
144147
- name: Install miniconda.
145-
uses: conda-incubator/setup-miniconda@v2.0.1 # https://github.com/conda-incubator/setup-miniconda.
148+
uses: conda-incubator/setup-miniconda@v3 # https://github.com/conda-incubator/setup-miniconda.
146149
with:
147150
channels: conda-forge,defaults
148151
- name: Install requirements (universal)
@@ -168,7 +171,8 @@ jobs:
168171
matrix:
169172
os:
170173
- ubuntu-latest
171-
- macos-latest
174+
- macos-13
175+
- macos-14
172176
- windows-latest
173177
cibw_archs_linux: ["x86_64"]
174178
cibw_before_all_linux:
@@ -186,9 +190,10 @@ jobs:
186190
cibw_archs_linux: "aarch64"
187191
cibw_before_all_linux: "true" # The true command exits with 0
188192
steps:
189-
- uses: actions/checkout@v2.3.4
193+
- uses: actions/checkout@v4
190194
with:
191195
submodules: recursive
196+
fetch-depth: 0 # Fetch everything to get accurately versioned tag.
192197
- uses: actions/setup-python@v2
193198
name: Install Python
194199
- name: Install cibuildwheel twine wheel

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
src/isal/_version.py
2+
13
# Byte-compiled / optimized / DLL files
24
__pycache__/
35
*.py[cod]

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[submodule "src/isal/isa-l"]
22
path = src/isal/isa-l
3-
url = https://github.com/intel/isa-l.git
3+
url = https://github.com/rhpvorderman/isa-l.git

CHANGELOG.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ Changelog
77
.. This document is user facing. Please word the changes in such a way
88
.. that users understand how the changes affect the new version.
99
10+
version 1.7.0
11+
-----------------
12+
+ Include a patched ISA-L version 2.31. The applied patches make compilation
13+
and wheelbuilding on MacOS ARM64 possible.
14+
+ Fix a bug where READ and WRITE in isal.igzip were inconsistent with the
15+
values in gzip on Python 3.13
16+
+ Small simplifications to the ``igzip.compress`` function, which should lead
17+
to less overhead.
18+
1019
version 1.6.1
1120
-----------------
1221
+ Fix a bug where streams that were passed to igzip_threaded.open where closed.

MANIFEST.in

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
11
graft src/isal/isa-l
22
include src/isal/*.h
3+
prune tests
4+
prune docs
5+
prune benchmark_scripts
6+
exclude requirements-docs.txt
7+
exclude codecov.yml
8+
exclude .readthedocs.yml

README.rst

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,6 @@ Installation is supported on Linux, Windows and MacOS. For more advanced
101101
installation options check the `documentation
102102
<https://python-isal.readthedocs.io/en/stable/index.html#installation>`_.
103103

104-
.. _differences-with-zlib-and-gzip-modules:
105-
106104
python-isal as a dependency in your project
107105
-------------------------------------------
108106

@@ -125,6 +123,8 @@ your project please list a python-isal dependency as follows.
125123

126124
.. dependency end
127125
126+
.. _differences-with-zlib-and-gzip-modules:
127+
128128
Differences with zlib and gzip modules
129129
--------------------------------------
130130

@@ -166,6 +166,28 @@ are also very welcome. Please report them on the `github issue tracker
166166

167167
.. contributing end
168168
169+
Development
170+
-----------
171+
.. development start
172+
173+
The repository needs to be cloned recursively to make sure the
174+
`ISA-L <https://github.com/intel/isa-l>`_ repository is checked out:
175+
``git clone --recursive https://github.com/pycompression/python-isal.git``. If
176+
the repository is already checked out you can use ``git submodule update --init``.
177+
178+
Patches should be made on a feature branch. To run the testing install ``tox``
179+
with ``pip install tox`` and run the commands ``tox -e lint`` and
180+
``tox``. That will run most of the testing that is also performed by the CI.
181+
For changes to the documentation run ``tox -e docs``. For changes to the C
182+
code please also run ``tox -e asan`` to check for memory leaks. This requires
183+
libasan to be installed.
184+
185+
Building requires the
186+
`ISA-L build requirements <https://github.com/intel/isa-l?tab=readme-ov-file#building-isa-l>`_
187+
as well.
188+
189+
.. development end
190+
169191
Acknowledgements
170192
----------------
171193

docs/conf.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,20 @@
44
# list see the documentation:
55
# https://www.sphinx-doc.org/en/master/usage/configuration.html
66

7-
from distutils.dist import DistributionMetadata
8-
from pathlib import Path
9-
10-
import pkg_resources
7+
from isal import __version__
118

129
# -- Project information -----------------------------------------------------
1310

1411
# Get package information from the installed package.
15-
package = pkg_resources.get_distribution("isal")
16-
metadata_file = Path(package.egg_info) / Path(package.PKG_INFO)
17-
metadata = DistributionMetadata(path=str(metadata_file))
1812

1913
project = 'python-isal'
2014
copyright = '2020, Leiden University Medical Center'
2115
author = 'Leiden University Medical Center'
2216

2317
# The short X.Y version
24-
version = package.parsed_version.base_version
18+
version = __version__
2519
# The full version, including alpha/beta/rc tags
26-
release = package.version
27-
20+
release = __version__
2821

2922
# -- General configuration ---------------------------------------------------
3023

docs/index.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,13 @@ Contributing
158158
:start-after: .. contributing start
159159
:end-before: .. contributing end
160160

161+
===========
162+
Development
163+
===========
164+
.. include:: includes/README.rst
165+
:start-after: .. development start
166+
:end-before: .. development end
167+
161168
================
162169
Acknowledgements
163170
================

pyproject.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
11
[build-system]
2-
requires = ["setuptools>=51", "wheel"]
2+
requires = ["setuptools>=64", "versioningit>=1.1.0"]
33
build-backend = "setuptools.build_meta"
4+
5+
[tool.versioningit.vcs]
6+
method="git"
7+
default-tag = "v0.0.0"
8+
9+
[tool.versioningit.write]
10+
file = "src/isal/_version.py"

0 commit comments

Comments
 (0)