Skip to content

Commit

Permalink
add pyproject.toml, upgrade ci actions (#13)
Browse files Browse the repository at this point in the history
* add pyproject.toml, upgrade ci actions

---------

Co-authored-by: Bryn Lloyd <[email protected]>
  • Loading branch information
dyollb and dyollb authored Aug 21, 2024
1 parent 95659f2 commit 09485b4
Show file tree
Hide file tree
Showing 5 changed files with 124 additions and 53 deletions.
16 changes: 12 additions & 4 deletions .github/workflows/build-test-package.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
name: Build, test, package

on: [push,pull_request]
on:
push:
branches:
- main
tags:
- 'v*'
pull_request:
branches:
- main

jobs:
cxx-build-workflow:
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-cxx.yml@5083da2740617b78423ebf6083489e1e70ee8ca0
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-cxx.yml@v5.4.0

python-build-workflow:
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-package-python.yml@5083da2740617b78423ebf6083489e1e70ee8ca0
uses: InsightSoftwareConsortium/ITKRemoteModuleBuildTestPackageAction/.github/workflows/build-test-package-python.yml@v5.4.0
secrets:
pypi_password: ${{ secrets.PYPI_API_TOKEN }}
pypi_password: ${{ secrets.PYPI_API_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/clang-format-linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: InsightSoftwareConsortium/ITKClangFormatLinterAction@master
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,6 @@
*.exe
*.out
*.app

# Mac
.DS_Store
108 changes: 108 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
[build-system]
requires = ["scikit-build-core"]
build-backend = "scikit_build_core.build"

[project]
name = "itk-dissolve"
version = "1.0.7"
description = "This is a module for the Insight Toolkit (ITK) that provides filters to replace regions within a masked region with the surrounding labels."
readme = "README.md"
license = {file = "LICENSE"}
authors = [
{ name = "Bryn Lloyd", email = "[email protected]" },
]
keywords = [
"itk",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Education",
"Intended Audience :: Healthcare Industry",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: Apache Software License",
"Operating System :: Android",
"Operating System :: MacOS",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Operating System :: Unix",
"Programming Language :: C++",
"Programming Language :: Python",
"Topic :: Scientific/Engineering",
"Topic :: Scientific/Engineering :: Information Analysis",
"Topic :: Scientific/Engineering :: Medical Science Apps.",
"Topic :: Software Development :: Libraries",
]
requires-python = ">=3.8"
dependencies = [
"itk == 5.4.*",
]

[project.urls]
Download = "https://github.com/dyollb/ITKDissolve"
Homepage = "https://github.com/dyollb/ITKDissolve"

[tool.scikit-build]
# The versions of CMake to allow. If CMake is not present on the system or does
# not pass this specifier, it will be downloaded via PyPI if possible. An empty
# string will disable this check.
cmake.version = ">=3.16.3"

# A list of args to pass to CMake when configuring the project. Setting this in
# config or envvar will override toml. See also ``cmake.define``.
cmake.args = []

# A table of defines to pass to CMake when configuring the project. Additive.
cmake.define = {}

# Verbose printout when building.
cmake.verbose = true

# The build type to use when building the project. Valid options are: "Debug",
# "Release", "RelWithDebInfo", "MinSizeRel", "", etc.
cmake.build-type = "Release"

# The source directory to use when building the project. Currently only affects
# the native builder (not the setuptools plugin).
cmake.source-dir = "."

# The versions of Ninja to allow. If Ninja is not present on the system or does
# not pass this specifier, it will be downloaded via PyPI if possible. An empty
# string will disable this check.
ninja.version = ">=1.11"

# The logging level to display, "DEBUG", "INFO", "WARNING", and "ERROR" are
# possible options.
logging.level = "INFO"

# Files to include in the SDist even if they are skipped by default. Supports
# gitignore syntax.
sdist.include = []

# Files to exclude from the SDist even if they are included by default. Supports
# gitignore syntax.
sdist.exclude = []

# A list of license files to include in the wheel. Supports glob patterns.
wheel.license-files = ["LICEN[CS]E*",]

# Target the platlib or the purelib. If not set, the default is to target the
# platlib if wheel.cmake is true, and the purelib otherwise.
wheel.platlib = "false"

# If CMake is less than this value, backport a copy of FindPython. Set to 0
# disable this, or the empty string.
backport.find-python = "3.26.1"

# Select the editable mode to use. Can be "redirect" (default) or "inplace".
editable.mode = "redirect"

# Rebuild the project when the package is imported. The build-directory must be
# set.
editable.rebuild = false

# If set, this will provide a method for scikit-build-core backward compatibility.
minimum-version = "0.8.2"

# The build directory. Defaults to a temporary directory, but can be set.
build-dir = "build/{wheel_tag}"
48 changes: 0 additions & 48 deletions setup.py

This file was deleted.

0 comments on commit 09485b4

Please sign in to comment.