From 30708d5d84c14e578fb2055486bef4698420ef35 Mon Sep 17 00:00:00 2001 From: Lior Shachaf Date: Fri, 13 Dec 2024 12:28:12 -0500 Subject: [PATCH 1/3] replaced deprecated python setup.py sdist with python -m build --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d9c35965..c14ad9a8 100644 --- a/Makefile +++ b/Makefile @@ -295,7 +295,7 @@ release-env/bin/make_shell: # public: generate the release build release-prep: release-check release-ready release-env release-env/bin/python setup.py clean - release-env/bin/python setup.py sdist + release-env/bin/python -m build release-env/bin/pip install dist/starfish-$(VERSION).tar.gz ## Sections: 5 - 6 From fec4816a119d46c877a6af30cf7378fec850cdfc Mon Sep 17 00:00:00 2001 From: Lior Shachaf Date: Fri, 13 Dec 2024 12:55:39 -0500 Subject: [PATCH 2/3] adding package build to requirements files --- requirements/REQUIREMENTS-CI.txt | 44 +++++++++++++++-------------- requirements/REQUIREMENTS-CI.txt.in | 1 + 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/requirements/REQUIREMENTS-CI.txt b/requirements/REQUIREMENTS-CI.txt index 53f877c0..2bdf4f94 100644 --- a/requirements/REQUIREMENTS-CI.txt +++ b/requirements/REQUIREMENTS-CI.txt @@ -1,21 +1,22 @@ # You should not edit this file directly. Instead, you should edit one of the following files (requirements/REQUIREMENTS-CI.txt.in) and run make requirements/REQUIREMENTS-CI.txt alabaster==0.7.16 -asttokens==2.4.1 +asttokens==3.0.0 attrs==24.2.0 babel==2.16.0 backports.tarfile==1.2.0 beautifulsoup4==4.12.3 -bleach==6.1.0 +bleach==6.2.0 boto3==1.35.38 botocore==1.35.38 +build==1.2.2.post1 certifi==2024.8.30 cffi==1.17.1 charset-normalizer==3.4.0 click==8.1.7 commonmark==0.9.1 contourpy==1.3.0 -coverage==7.6.2 -cryptography==43.0.1 +coverage==7.6.9 +cryptography==44.0.0 cycler==0.12.1 decorator==5.1.1 defusedxml==0.7.1 @@ -25,7 +26,7 @@ entrypoints==0.4 exceptiongroup==1.2.2 execnet==2.1.1 executing==2.1.0 -fastjsonschema==2.20.0 +fastjsonschema==2.21.1 flake8==7.1.1 flake8-import-order==0.18.2 fonttools==4.54.1 @@ -40,7 +41,7 @@ ipython==8.18.1 jaraco.classes==3.4.0 jaraco.context==6.0.1 jaraco.functools==4.1.0 -jedi==0.19.1 +jedi==0.19.2 jeepney==0.8.0 Jinja2==3.1.4 jmespath==1.0.1 @@ -49,15 +50,15 @@ jsonschema==4.17.3 jupyter_client==8.6.3 jupyter_core==5.7.2 jupyterlab_pygments==0.3.0 -keyring==25.4.1 +keyring==25.5.0 kiwisolver==1.4.7 lazy_loader==0.4 looseversion==1.3.0 lxml==5.3.0 -lxml_html_clean==0.4.0 +lxml_html_clean==0.4.1 m2r2==0.3.3.post2 markdown-it-py==3.0.0 -MarkupSafe==3.0.1 +MarkupSafe==3.0.2 matplotlib==3.7.5 matplotlib-inline==0.1.7 mccabe==0.7.0 @@ -67,12 +68,12 @@ more-itertools==10.5.0 mpmath==1.3.0 mypy==1.10.1 mypy-extensions==1.0.0 -nbclient==0.10.0 +nbclient==0.10.1 nbconvert==6.5.4 nbencdec==0.0.10 nbformat==5.10.4 networkx==3.2.1 -nh3==0.2.18 +nh3==0.2.19 numpy==1.26.4 numpydoc==1.8.0 packaging==24.1 @@ -81,7 +82,7 @@ pandocfilters==1.5.1 parso==0.8.4 pexpect==4.9.0 pillow==10.4.0 -pkginfo==1.10.0 +pkginfo==1.12.0 platformdirs==4.3.6 pluggy==1.5.0 prompt_toolkit==3.0.48 @@ -92,9 +93,10 @@ pycparser==2.22 pyflakes==3.2.0 Pygments==2.18.0 pyparsing==3.1.4 +pyproject_hooks==1.2.0 pyrsistent==0.20.0 -pytest==8.3.3 -pytest-cov==5.0.0 +pytest==8.3.4 +pytest-cov==6.0.0 pytest-xdist==3.6.1 python-dateutil==2.9.0.post0 pytz==2024.2 @@ -108,7 +110,7 @@ regional==1.1.2 requests==2.32.3 requests-toolbelt==1.0.0 rfc3986==2.0.0 -rich==13.9.2 +rich==13.9.4 s3transfer==0.10.3 scikit-image==0.21.0 scikit-learn==1.5.2 @@ -126,13 +128,13 @@ Sphinx==7.4.7 sphinx-autodoc-typehints==2.3.0 sphinx-bootstrap-theme==0.8.1 sphinx-gallery==0.18.0 -sphinx-rtd-theme==3.0.1 +sphinx-rtd-theme==3.0.2 sphinxcontrib-applehelp==2.0.0 sphinxcontrib-devhelp==2.0.0 sphinxcontrib-htmlhelp==2.1.0 sphinxcontrib-jquery==4.1 sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-programoutput==0.17 +sphinxcontrib-programoutput==0.18 sphinxcontrib-qthelp==2.0.0 sphinxcontrib-serializinghtml==2.0.0 stack-data==0.6.3 @@ -140,16 +142,16 @@ sympy==1.13.3 tabulate==0.9.0 threadpoolctl==3.5.0 tifffile==2024.8.30 -tinycss2==1.3.0 -tomli==2.0.2 +tinycss2==1.4.0 +tomli==2.2.1 tornado==6.4.2 tqdm==4.66.5 trackpy==0.6.4 traitlets==5.14.3 -twine==5.1.1 +twine==6.0.1 types-PyYAML==6.0.12.20240917 types-requests==2.31.0.6 -types-setuptools==75.1.0.20240917 +types-setuptools==75.6.0.20241126 types-urllib3==1.26.25.14 typing_extensions==4.12.2 tzdata==2024.2 diff --git a/requirements/REQUIREMENTS-CI.txt.in b/requirements/REQUIREMENTS-CI.txt.in index 1f8ca3fa..c84aee99 100644 --- a/requirements/REQUIREMENTS-CI.txt.in +++ b/requirements/REQUIREMENTS-CI.txt.in @@ -1,6 +1,7 @@ # requirements to run CI except for napari # constrain the CI requirements to packages already in REQUIREMENTS-STRICT.txt -r ../starfish/REQUIREMENTS-STRICT.txt +build flake8 flake8-import-order lxml_html_clean From c96c3be58dedaaf5c63f55aa49bdbe1a6d10c590 Mon Sep 17 00:00:00 2001 From: Lior Shachaf Date: Fri, 13 Dec 2024 23:19:51 -0500 Subject: [PATCH 3/3] adding pyproject.toml and removing setup.cfg --- pyproject.toml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 38 -------------------------------------- setup.py | 6 ------ 3 files changed, 48 insertions(+), 44 deletions(-) create mode 100644 pyproject.toml delete mode 100644 setup.cfg diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 00000000..3c2069c6 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,48 @@ +[build-system] +requires = ["setuptools >= 66.1.0", "versioneer"] +build-backend = "setuptools.build_meta" + +[project] +name = "starfish" +dynamic = ["version", "dependencies", "optional-dependencies"] +requires-python = ">= 3.9, <3.13" +authors = [ + {name = "Deep Ganguli", email = "dganguli@chanzuckerberg.com"} +] +maintainers = [ + {name = "Lior Shachaf", email = "shachaflior@gmail.com"} +] +description = "Pipelines and pipeline components for the analysis of image-based transcriptomics data" +readme = "README.rst" +keywords = ["single-cell", "image-based", "transcriptomics"] +classifiers = [ + "Development Status :: 4 - Beta", + "Natural Language :: English", + "Operating System :: POSIX :: Linux", + "Operating System :: Unix", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12" +] + +[tool.versioneer] +VCS = "git" +style = "pep440" +versionfile_source = "starfish/core/_version.py" +versionfile_build = "starfish/core/_version.py" +parentdir_prefix = "starfish-" +tag_prefix = "" + +[project.urls] +Homepage = "https://spacetx-starfish.readthedocs.io/en/latest/" +Documentation = "https://spacetx-starfish.readthedocs.io/en/latest/" +Repository = "https://github.com/spacetx/starfish" +"Bug Tracker" = "https://github.com/spacetx/starfish/issues" + +[project.scripts] +starfish = "starfish.core.starfish:starfish" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index ca5bee43..00000000 --- a/setup.cfg +++ /dev/null @@ -1,38 +0,0 @@ -[versioneer] -VCS = git -style = pep440 -versionfile_source = starfish/core/_version.py -versionfile_build = starfish/core/_version.py -parentdir_prefix = starfish- -tag_prefix = - -[metadata] -name = starfish -summary = Pipelines and pipeline components for the analysis of image-based transcriptomics data -author = Deep Ganguli -author_email = dganguli@chanzuckerberg.com -license = MIT -long_description = README.rst -long_description_content_type = text/x-rst; charset=UTF-8 -home_page = https://spacetx-starfish.readthedocs.io/en/latest/ -project_urls = - Bug Tracker = https://github.com/spacetx/starfish/issues - Documentation = https://spacetx-starfish.readthedocs.io/en/latest/ - Source Code = https://github.com/spacetx/starfish -classifier = - Development Status :: 2 - Pre-Alpha - Natural Language :: English - Operating System :: POSIX - Operating System :: Unix - Operating System :: MacOS :: MacOS X - Operating System :: Microsoft :: Windows - License :: OSI Approved :: MIT License - Programming Language :: Python :: 3 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Programming Language :: Python :: 3.12 -keywords = - single-cell - image-based - transcriptomics diff --git a/setup.py b/setup.py index 011a5e41..a2538b20 100644 --- a/setup.py +++ b/setup.py @@ -22,13 +22,7 @@ extras_require={ 'napari': [f"napari[all]>={napari_version}"], }, - entry_points={ - 'console_scripts': [ - "starfish=starfish.core.starfish:starfish", - ] - }, include_package_data=True, version=versioneer.get_version(), cmdclass=versioneer.get_cmdclass(), - python_requires='>=3.9, <3.13' )