Skip to content

Commit

Permalink
Merge pull request #237 from seung-lab/develop
Browse files Browse the repository at this point in the history
  fix: syntax error in setup.py + modernize
  • Loading branch information
lindstro authored Nov 25, 2024
2 parents a46fa8b + 3b11d31 commit 01506c8
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 4 deletions.
6 changes: 6 additions & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
include python/zfpy.pxd
include python/zfpy.pyx
recursive-include include *.h
recursive-include src *.c *.h
include LICENSE
include pyproject.toml
8 changes: 8 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[build-system]
requires = [
"setuptools",
"wheel",
"cython",
"oldest-supported-numpy; python_version<'3.9'",
'numpy; python_version>="3.9"',
]
2 changes: 2 additions & 0 deletions python/zfpy.pxd
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# cython: language_level=3

import cython
cimport libc.stdint as stdint
from libc.stddef cimport ptrdiff_t
Expand Down
2 changes: 2 additions & 0 deletions python/zfpy.pyx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# cython: language_level=3

import sys
import operator
import functools
Expand Down
41 changes: 37 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,48 @@
from setuptools import setup, Extension
import numpy as np

class NumpyImport:
def __repr__(self):
import numpy as np

return np.get_include()

__fspath__ = __repr__

setup(
name="zfpy",
setup_requires=["numpy", "cython"],
version="1.0.1",
author="Peter Lindstrom, Danielle Asher",
author_email="[email protected]",
url="https://zfp.llnl.gov",
license="License :: OSI Approved :: BSD License",
description="zfp compression in Python",
long_description="zfp is a compressed format for representing multidimensional floating-point and integer arrays. zfp provides compressed-array classes that support high throughput read and write random access to individual array elements. zfp also supports serial and parallel compression of whole arrays using both lossless and lossy compression with error tolerances. zfp is primarily written in C and C++ but also includes Python and Fortran bindings.",
ext_modules=[Extension("zfpy", ["build/python/zfpy.c"],
include_dirs=["include", np.get_include()],
libraries=["zfp"], library_dirs=["build/lib64", "build/lib/Release"]), language_level = "3"]
ext_modules=[
Extension(
"zfpy",
sources=["python/zfpy.pyx"],
include_dirs=["include", str(NumpyImport())],
libraries=["zfp"],
library_dirs=["build/lib64", "build/lib/Release"],
language_level=3,
lanugage="c",
),
],
classifiers=[
"Intended Audience :: Developers",
"Development Status :: 4 - Beta",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Image Processing",
"Topic :: System :: Archiving :: Compression",
"Operating System :: POSIX",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows :: Windows 10",
],
)

0 comments on commit 01506c8

Please sign in to comment.