-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Clean up dependencies Include optional "dev" component Update README.md with badges Test minimal setup.py Neuter - for now - sample C extension
- Loading branch information
Showing
7 changed files
with
96 additions
and
117 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,9 @@ | ||
# MASER - Measles Simulation for ERadication | ||
|
||
Spatial measles models implemented with the LASER toolkit. | ||
|
||
[![package](https://img.shields.io/pypi/v/laser-measles.svg)](https://pypi.org/project/laser-measles/) | ||
![wheel](https://img.shields.io/pypi/wheel/laser-measles.svg) | ||
![python versions](https://img.shields.io/pypi/pyversions/laser-measles) | ||
![implementation](https://img.shields.io/pypi/implementation/laser-measles.svg) | ||
![license](https://img.shields.io/pypi/l/laser-measles.svg) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,9 +8,9 @@ version = "0.5.0" | |
|
||
dependencies = [ | ||
"click", | ||
"laser-core @ git+https://github.com/InstituteforDiseaseModeling/[email protected]", | ||
"numpy>=1.26.4,<2.0.0", | ||
"numba>=0.59.1", | ||
"laser-core==0.1.1", | ||
# "numpy>=1.26.4,<2.0.0", # use laser-core version | ||
# "numba~=0.59.1", # use laser-core version | ||
"tqdm", | ||
"geopandas", | ||
"pandas", | ||
|
@@ -51,6 +51,10 @@ classifiers = [ | |
"Topic :: Utilities", | ||
] | ||
|
||
[project.optional-dependencies] | ||
dev = ["tox", "uv"] | ||
# docs = ["sphinx", "sphinx-rtd-theme"] | ||
|
||
[project.urls] | ||
Homepage = "https://example.com" | ||
Documentation = "https://laser-measles.readthedocs.io/en/latest/" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,107 +1,66 @@ | ||
#!/usr/bin/env python | ||
import os | ||
import platform | ||
import re | ||
from pathlib import Path | ||
|
||
from setuptools import Extension | ||
from setuptools import find_packages | ||
from setuptools import setup | ||
from setuptools.dist import Distribution | ||
import setuptools | ||
|
||
# Enable code coverage for C code: we cannot use CFLAGS=-coverage in tox.ini, since that may mess with compiling | ||
# dependencies (e.g. numpy). Therefore, we set SETUPPY_CFLAGS=-coverage in tox.ini and copy it to CFLAGS here (after | ||
# deps have been safely installed). | ||
if "TOX_ENV_NAME" in os.environ and os.environ.get("SETUPPY_EXT_COVERAGE") == "yes" and platform.system() == "Linux": | ||
CFLAGS = os.environ["CFLAGS"] = "-fprofile-arcs -ftest-coverage" | ||
LFLAGS = os.environ["LFLAGS"] = "-lgcov" | ||
else: | ||
CFLAGS = "" | ||
LFLAGS = "" | ||
if __name__ == "__main__": | ||
setuptools.setup() | ||
|
||
|
||
class BinaryDistribution(Distribution): | ||
""" | ||
Distribution which almost always forces a binary package with platform name | ||
""" | ||
# import os | ||
# import platform | ||
# import re | ||
# from pathlib import Path | ||
|
||
def has_ext_modules(self): | ||
return super().has_ext_modules() or not os.environ.get("SETUPPY_ALLOW_PURE") | ||
# from setuptools import Extension | ||
# from setuptools import find_packages | ||
# from setuptools import setup | ||
# from setuptools.dist import Distribution | ||
|
||
# # Enable code coverage for C code: we cannot use CFLAGS=-coverage in tox.ini, since that may mess with compiling | ||
# # dependencies (e.g. numpy). Therefore, we set SETUPPY_CFLAGS=-coverage in tox.ini and copy it to CFLAGS here (after | ||
# # deps have been safely installed). | ||
# if "TOX_ENV_NAME" in os.environ and os.environ.get("SETUPPY_EXT_COVERAGE") == "yes" and platform.system() == "Linux": | ||
# CFLAGS = os.environ["CFLAGS"] = "-fprofile-arcs -ftest-coverage" | ||
# LFLAGS = os.environ["LFLAGS"] = "-lgcov" | ||
# else: | ||
# CFLAGS = "" | ||
# LFLAGS = "" | ||
|
||
def read(*names, **kwargs): | ||
with Path(__file__).parent.joinpath(*names).open(encoding=kwargs.get("encoding", "utf8")) as fh: | ||
return fh.read() | ||
|
||
# class BinaryDistribution(Distribution): | ||
# """ | ||
# Distribution which almost always forces a binary package with platform name | ||
# """ | ||
|
||
setup( | ||
# name="laser-measles", | ||
# version="0.5.0", | ||
# license="MIT", | ||
# description="Spatial models of measles implemented with the LASER toolkit.", | ||
long_description="{}\n{}".format( | ||
re.compile("^.. start-badges.*^.. end-badges", re.M | re.S).sub("", read("README.rst")), | ||
re.sub(":[a-z]+:`~?(.*?)`", r"``\1``", read("CHANGELOG.rst")), | ||
), | ||
# author="Christopher Lorton", | ||
# author_email="[email protected]", | ||
url="https://github.com/InstituteforDiseaseModeling/laser-measles", | ||
packages=find_packages("src"), | ||
package_dir={"": "src"}, | ||
py_modules=[path.stem for path in Path("src").glob("*.py")], | ||
include_package_data=True, | ||
zip_safe=False, | ||
# classifiers=[ | ||
# # complete classifier list: http://pypi.python.org/pypi?%3Aaction=list_classifiers | ||
# "Development Status :: 5 - Production/Stable", | ||
# "Intended Audience :: Developers", | ||
# "License :: OSI Approved :: MIT License", | ||
# "Operating System :: Unix", | ||
# "Operating System :: POSIX", | ||
# "Operating System :: Microsoft :: Windows", | ||
# "Programming Language :: Python", | ||
# "Programming Language :: Python :: 3", | ||
# "Programming Language :: Python :: 3 :: Only", | ||
# "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", | ||
# "Programming Language :: Python :: Implementation :: CPython", | ||
# "Topic :: Utilities", | ||
# ], | ||
# project_urls={ | ||
# "Documentation": "https://laser-measles.readthedocs.io/en/latest/", | ||
# "Changelog": "https://laser-measles.readthedocs.io/en/latest/changelog.html", | ||
# "Issue Tracker": "https://github.com/InstituteforDiseaseModeling/laser-measles/issues", | ||
# }, | ||
# keywords=[ | ||
# # eg: "keyword1", "keyword2", "keyword3", | ||
# ], | ||
# python_requires=">=3.8", | ||
# install_requires=[ | ||
# "click", | ||
# # eg: "aspectlib==1.1.1", "six>=1.7", | ||
# ], | ||
extras_require={ | ||
# eg: | ||
# "rst": ["docutils>=0.11"], | ||
# ":python_version=='3.8'": ["backports.zoneinfo"], | ||
}, | ||
# entry_points={ | ||
# "console_scripts": [ | ||
# "laser-measles = laser_measles.cli:run", | ||
# ] | ||
# }, | ||
ext_modules=[ | ||
Extension( | ||
str(path.relative_to("src").with_suffix("")).replace(os.sep, "."), | ||
sources=[str(path)], | ||
extra_compile_args=CFLAGS.split(), | ||
extra_link_args=LFLAGS.split(), | ||
include_dirs=[str(path.parent)], | ||
) | ||
for path in Path("src").glob("**/*.c") | ||
], | ||
distclass=BinaryDistribution, | ||
) | ||
# def has_ext_modules(self): | ||
# return super().has_ext_modules() or not os.environ.get("SETUPPY_ALLOW_PURE") | ||
|
||
|
||
# def read(*names, **kwargs): | ||
# with Path(__file__).parent.joinpath(*names).open(encoding=kwargs.get("encoding", "utf8")) as fh: | ||
# return fh.read() | ||
|
||
|
||
# setup( | ||
# long_description="{}\n{}".format( | ||
# re.compile("^.. start-badges.*^.. end-badges", re.M | re.S).sub("", read("README.rst")), | ||
# re.sub(":[a-z]+:`~?(.*?)`", r"``\1``", read("CHANGELOG.rst")), | ||
# ), | ||
# url="https://github.com/InstituteforDiseaseModeling/laser-measles", | ||
# packages=find_packages("src"), | ||
# package_dir={"": "src"}, | ||
# py_modules=[path.stem for path in Path("src").glob("*.py")], | ||
# include_package_data=True, | ||
# zip_safe=False, | ||
# ext_modules=[ | ||
# Extension( | ||
# str(path.relative_to("src").with_suffix("")).replace(os.sep, "."), | ||
# sources=[str(path)], | ||
# extra_compile_args=CFLAGS.split(), | ||
# extra_link_args=LFLAGS.split(), | ||
# include_dirs=[str(path.parent)], | ||
# ) | ||
# for path in Path("src").glob("**/*.c") | ||
# ], | ||
# distclass=BinaryDistribution, | ||
# ) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters