Skip to content

Commit db4f01d

Browse files
v1.16.2 (#161)
* v1.16.2-rc0 * v1.16.2-rc1 --------- Co-authored-by: rtosholdings-bot <rtosholdings-bot@sig.com>
1 parent 9e3f5ac commit db4f01d

49 files changed

Lines changed: 792 additions & 486 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/native_sanity.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,4 @@ jobs:
9292
- name: Run the Windows riptide Python tests
9393
if: ${{ matrix.os == 'windows-latest' }}
9494
run: |
95-
ctest --test-dir build -C ${{ matrix.build-config }} -R test_riptide_cpp_python
95+
ctest --test-dir build -C ${{ matrix.build-config }} -R "(test_riptide_cpp_python|riptide_python_test\..*)"

.github/workflows/python_package.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,17 +53,14 @@ jobs:
5353
python -m pip install --upgrade pip
5454
python -m pip install setuptools-scm wheel
5555
python -m pip install numpy==${{ matrix.numpy-version }}.*
56-
- name: Build with python setup.py
57-
run: |
58-
python setup.py build --force
5956
- name: Package wheel
6057
if: ${{ matrix.os == 'windows-2022' }}
6158
run: |
62-
python setup.py bdist_wheel
59+
python -m build --wheel
6360
- name: Package sources
6461
if: ${{ matrix.os == 'ubuntu-latest' }}
6562
run: |
66-
python setup.py sdist
63+
python -m build --sdist
6764
- name: Upload artifacts
6865
uses: actions/upload-artifact@v3
6966
with:
@@ -100,7 +97,7 @@ jobs:
10097
python -c "import riptable; print(riptable, riptable.__version__); print(riptable.rc, riptable.rc.__version__)"
10198
- name: Riptable test with pytest
10299
run: |
103-
python -m riptable.tests.run
100+
python -m pytest --pyargs riptable.tests
104101
#- name: Riptable tooling integration tests
105102
# run: |
106103
# ipython -m pytest riptable/test_tooling_integration

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
cmake_minimum_required(VERSION 3.21)
1+
cmake_minimum_required(VERSION 3.26.1)
22

3-
project(riptide_cpp)
3+
project(riptide_cpp LANGUAGES C CXX)
44

55
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/")
66
include(CheckIPOSupported)
@@ -71,7 +71,7 @@ include(CopyRuntimeDeps)
7171
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
7272

7373
# Under setupbuild, exclude all dependencies from install target to avoid polluting distribution.
74-
if(SETUPBUILD)
74+
if(SETUPBUILD OR SKBUILD)
7575
set(EXLUSION_SPECIFIER EXCLUDE_FROM_ALL)
7676
else()
7777
unset(EXCLUSION_SPECIFIER)

cmake/AddCommonSettings.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ if(PROJ_COMPILER_FRONTEND STREQUAL "MSVC")
77
target_compile_options(rt_common_settings INTERFACE -FC -Zc:__cplusplus "-MP${BLD_MP_MAX}")
88
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Debug>:-Od>")
99
target_compile_options(rt_common_settings INTERFACE "$<$<CONFIG:Release>:-Ox;-Ob2;-Oi;-Ot>")
10+
target_compile_options(rt_common_settings INTERFACE -bigobj)
1011
target_compile_options(rt_common_settings INTERFACE -Z7) # generate symbols for all configs
1112
target_link_options(rt_common_settings INTERFACE "$<$<CONFIG:Release>:-DEBUG>") # generate PDB for all configs
1213
target_compile_options(rt_common_settings INTERFACE -W4 -WX)

conda_recipe/meta.yaml

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,33 +7,36 @@ source:
77

88
build:
99
number: 0
10-
# Use Python installed in host environment.
11-
script: "{{ PYTHON }} setup.py install --single-version-externally-managed --record=record.txt"
10+
script: "pip install -v --no-deps --no-build-isolation ."
11+
# will provide manual run requirements for these
12+
ignore_run_exports_from:
13+
- tbb-devel
14+
- zstd
1215

1316
requirements:
14-
build:
15-
- python {{ python }}
17+
host:
1618
- benchmark >=1.7,<1.8
19+
- cmake >=3.26.1
1720
- "{{ compiler('cxx') }}"
18-
- cmake >=3.21
19-
- setuptools_scm
21+
- ninja >=1.11.0 [unix]
2022
- numpy {{ numpy }}
23+
- python {{ python }}
24+
- scikit-build-core >=0.7.1
25+
- setuptools_scm
2126
- tbb-devel 2021.6
2227
- tbb 2021.6.*
2328
- zstd >=1.5,<1.6
24-
host:
25-
- python {{ python }}
26-
- "{{ pin_compatible('numpy', min_pin='x.x', max_pin='x.x') }}"
27-
- setuptools_scm
2829
run:
2930
- python {{ python }}
3031
- "{{ pin_compatible('numpy', min_pin='x.x', max_pin='x.x') }}"
31-
- tbb 2021.6.*
32-
- zstd >=1.5,<1.6
32+
- "{{ pin_compatible('tbb', min_pin='x.x', max_pin='x.x') }}"
33+
- "{{ pin_compatible('zstd', min_pin='x.x', max_pin='x.x') }}"
3334

3435
test:
3536
imports:
3637
- riptide_cpp
38+
commands:
39+
- 'python -c "import riptide_cpp; print(riptide_cpp, riptide_cpp.__version__)"'
3740

3841
about:
3942
home: https://github.com/rtosholdings/riptide_cpp

dev_tools/gen_requirements.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def is_python(major: int, minor: int) -> bool:
1919

2020

2121
_BENCHMARK_REQ = "benchmark>=1.7,<1.8"
22-
_CMAKE_REQ = "cmake>=3.21"
22+
_CMAKE_REQ = "cmake>=3.26.1"
2323
_NUMPY_REQ = "numpy>=1.23,<1.25"
2424
_TBB_VER = "==2021.6.*"
2525
_TBB_REQ = "tbb" + _TBB_VER
@@ -47,13 +47,13 @@ def is_python(major: int, minor: int) -> bool:
4747
] + toolchain_reqs
4848

4949
# PyPI setup build requirements.
50-
# Most everything else *should* be in pyproject.toml, but since we run
51-
# setup.py directly we need to set up build environment manually here.
50+
# Most everything *should* be in pyproject.toml, but some packages
51+
# need to be set up manually here.
5252
pypi_reqs = [
53+
"build", # PEP-517 py build frontend
5354
_BENCHMARK_REQ, # PyPI package doesn't exist
5455
_CMAKE_REQ,
5556
_TBB_DEVEL_REQ, # needed because PyPI tbb-devel pkg doesn't contain CMake files yet
56-
"wheel",
5757
_ZSTD_REQ, # PyPI package doesn't exist
5858
] + toolchain_reqs
5959

external/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# It's not yet available via find_package().
44
add_library(ut INTERFACE)
55

6-
set(UT_VERSION c3ed7a21a18a4de3fc807451ae86c9f51e706a11)
6+
set(UT_VERSION 2.0.1)
77

88
# Extract the archive to the build location, so we can reference it from there.
99
file(ARCHIVE_EXTRACT INPUT ${CMAKE_CURRENT_SOURCE_DIR}/ut-${UT_VERSION}.zip

external/ut-2.0.1.zip

89.6 KB
Binary file not shown.
-82.9 KB
Binary file not shown.

pyproject.toml

Lines changed: 94 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,101 @@
1+
[project]
2+
name = "riptide_cpp"
3+
description = "Python Package with fast math util functions"
4+
readme = "README.md"
5+
license = { file = "LICENSE" }
6+
authors = [{ name = "RTOS Holdings", email = "rtosholdings-bot@sig.com" }]
7+
requires-python = ">=3.9"
8+
dynamic = ["version"]
9+
classifiers = [
10+
"Development Status :: Beta",
11+
"Intended Audience :: Developers",
12+
"Programming Language :: Python :: 3",
13+
"Programming Language :: Python :: 3.9",
14+
"Programming Language :: Python :: 3.10",
15+
"Programming Language :: Python :: 3.11",
16+
"License :: OSI Approved :: BSD License",
17+
]
18+
19+
[project.urls]
20+
Repository = "https://github.com/rtosholdings/riptide_cpp"
21+
Documentation = "https://riptable.readthedocs.io/en/stable/"
22+
123
[build-system]
224
requires = [
325
#"benchmark >=1.7,<1.8", # DOES NOT EXIST! We must assume it exists in environment
4-
"cmake >=3.21",
26+
"cmake >=3.26.1",
527
"ninja; platform_system!='Windows'",
6-
"numpy >=1.23, <1.25",
28+
"numpy >=1.23,<1.25",
29+
"scikit-build-core >=0.7,<0.8",
30+
"setuptools >=65",
31+
"setuptools_scm[toml] >=7.1",
732
"tbb-devel ==2021.6.*",
8-
"setuptools >=42",
933
"wheel",
10-
"zstd> =1.5.2,<1.6",
34+
"zstd >=1.5.2,<1.6",
35+
]
36+
build-backend = "scikit_build_core.build"
37+
38+
[tool.setuptools_scm]
39+
version_scheme = "post-release"
40+
local_scheme = "node-and-timestamp"
41+
write_to = "src/_version.d"
42+
write_to_template = '"{version}"'
43+
44+
[tool.scikit-build]
45+
logging.level = "INFO" # Set to DEBUG for detailed logs.
46+
minimum-version = "0.7"
47+
cmake.minimum-version = "3.26.1"
48+
ninja.minimum-version = "1.11"
49+
ninja.make-fallback = false
50+
51+
# setuptools_scm integration
52+
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
53+
54+
cmake.verbose = true
55+
cmake.build-type = "Release"
56+
cmake.args = ["--=SEE_OVERRIDES_BELOW=--"]
57+
58+
sdist.include = ["src/_version.d"]
59+
60+
# Disable Python file inclusion and rely only on CMake's install mechanism.
61+
wheel.packages = []
62+
wheel.exclude = [ #
63+
"bench",
64+
"extras",
65+
"test",
66+
]
67+
wheel.license-files = ["LICENSE"]
68+
# Don't strip symbols from binaries; we want to preserve them
69+
# to get better backtraces if/when something fails.
70+
install.strip = false
71+
72+
[[tool.scikit-build.overrides]]
73+
if.platform-system = "linux"
74+
cmake.args = [
75+
# Force CMake to re-run the configuration step each time this build runs. Useful for local builds.
76+
"--fresh",
77+
# Use the Ninja generator.
78+
"-GNinja",
79+
]
80+
81+
[[tool.scikit-build.overrides]]
82+
if.platform-system = "win32"
83+
cmake.args = [
84+
# Force CMake to re-run the configuration step each time this build runs. Useful for local builds.
85+
"--fresh",
86+
# Use the VS2022 generator.
87+
"-GVisual Studio 17 2022",
1188
]
12-
build-backend = "setuptools.build_meta"
89+
90+
# Static way of passing current Python version to CMake.
91+
[[tool.scikit-build.overrides]]
92+
if.python-version = "~=3.9"
93+
cmake.define = { "RIPTIDE_PYTHON_VER" = "3.9" }
94+
95+
[[tool.scikit-build.overrides]]
96+
if.python-version = "~=3.10"
97+
cmake.define = { "RIPTIDE_PYTHON_VER" = "3.10" }
98+
99+
[[tool.scikit-build.overrides]]
100+
if.python-version = "~=3.11"
101+
cmake.define = { "RIPTIDE_PYTHON_VER" = "3.11" }

0 commit comments

Comments
 (0)