Skip to content

Commit

Permalink
Merge pull request #306 from bgilbert/setuptools
Browse files Browse the repository at this point in the history
Fix `setup.py install` with old setuptools
  • Loading branch information
bgilbert authored Oct 30, 2024
2 parents cd3216d + 43a3455 commit 0da8347
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 1 deletion.
19 changes: 19 additions & 0 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,25 @@ jobs:
path: artifacts/whl
compression-level: 0

setuptools:
name: Setuptools install
needs: pre-commit
runs-on: ubuntu-20.04
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libopenslide0 python3-pil
pip install pytest
- name: Install OpenSlide Python
run: sudo python setup.py install
- name: Run tests
run: pytest -v
- name: Tile slide
run: python examples/deepzoom/deepzoom_tile.py --viewer -o tiled tests/fixtures/small.svs

docs:
name: Docs
needs: pre-commit
Expand Down
2 changes: 1 addition & 1 deletion examples/deepzoom/deepzoom_tile.py
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ def _write_html(self) -> None:
# We're not running from a module (e.g. "python deepzoom_tile.py")
# so PackageLoader('__main__') doesn't work in jinja2 3.x.
# Load templates directly from the filesystem.
loader = jinja2.FileSystemLoader(Path(__file__).parent / 'templates')
loader = jinja2.FileSystemLoader([Path(__file__).parent / 'templates'])
env = jinja2.Environment(loader=loader, autoescape=True)
template = env.get_template('slide-multipane.html')
associated_urls = {n: self._url_for(n) for n in self._slide.associated_images}
Expand Down
19 changes: 19 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
from pathlib import Path
import sys

from setuptools import Extension, setup

# Load version string
with open(Path(__file__).parent / 'openslide/_version.py') as _fh:
exec(_fh.read()) # instantiates __version__

# use the Limited API on Python 3.11+; build release-specific wheels on
# older Python
_abi3 = sys.version_info >= (3, 11)
Expand All @@ -21,4 +26,18 @@
# tag wheel for Limited API
'bdist_wheel': {'py_limited_api': 'cp311'} if _abi3 else {},
},
#
# setuptools < 61 compatibility for distro packages building from source
name='openslide-python',
version=__version__, # type: ignore[name-defined] # noqa: F821
install_requires=[
'Pillow',
],
packages=[
'openslide',
],
package_data={
'openslide': ['py.typed', '*.pyi'],
},
zip_safe=False,
)

0 comments on commit 0da8347

Please sign in to comment.