Skip to content

Commit 02ab5f3

Browse files
committed
Merge branch 'main' of https://github.com/Point72/csp into strict-structs
2 parents 05d6ea7 + e24e2e2 commit 02ab5f3

21 files changed

+156
-183
lines changed

.github/workflows/build.yml

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,6 @@ jobs:
200200
python-version:
201201
- "3.11"
202202
cibuildwheel:
203-
- "cp39"
204203
- "cp310"
205204
- "cp311"
206205
- "cp312"
@@ -296,35 +295,28 @@ jobs:
296295
run: make dist-check
297296

298297
- name: Upload Wheel
299-
uses: actions/upload-artifact@v4
300-
with:
301-
name: csp-dist-${{ runner.os }}-${{ runner.arch }}-3.9
302-
path: dist/*.whl
303-
if: ${{ matrix.cibuildwheel == 'cp39' }}
304-
305-
- name: Upload Wheel
306-
uses: actions/upload-artifact@v4
298+
uses: actions/upload-artifact@v5
307299
with:
308300
name: csp-dist-${{ runner.os }}-${{ runner.arch }}-3.10
309301
path: dist/*.whl
310302
if: ${{ matrix.cibuildwheel == 'cp310' }}
311303

312304
- name: Upload Wheel
313-
uses: actions/upload-artifact@v4
305+
uses: actions/upload-artifact@v5
314306
with:
315307
name: csp-dist-${{ runner.os }}-${{ runner.arch }}-3.11
316308
path: dist/*.whl
317309
if: ${{ matrix.cibuildwheel == 'cp311' }}
318310

319311
- name: Upload Wheel
320-
uses: actions/upload-artifact@v4
312+
uses: actions/upload-artifact@v5
321313
with:
322314
name: csp-dist-${{ runner.os }}-${{ runner.arch }}-3.12
323315
path: dist/*.whl
324316
if: ${{ matrix.cibuildwheel == 'cp312' }}
325317

326318
- name: Upload Wheel
327-
uses: actions/upload-artifact@v4
319+
uses: actions/upload-artifact@v5
328320
with:
329321
name: csp-dist-${{ runner.os }}-${{ runner.arch }}-3.13
330322
path: dist/*.whl
@@ -385,7 +377,7 @@ jobs:
385377
run: make dist-check
386378

387379
- name: Upload SDist
388-
uses: actions/upload-artifact@v4
380+
uses: actions/upload-artifact@v5
389381
with:
390382
name: csp-sdist
391383
path: dist/*.tar.gz
@@ -415,7 +407,6 @@ jobs:
415407
- macos-14
416408
- windows-2022
417409
python-version:
418-
- 3.9
419410
- "3.10"
420411
- 3.11
421412
- 3.12
@@ -426,15 +417,8 @@ jobs:
426417
##############################################
427418
# Things to exclude if not a full matrix run #
428419
##############################################
429-
# mac arm builds support py3.10+
430-
- os: macos-14
431-
python-version: "3.9"
432-
420+
433421
# Avoid extra resources for windows build
434-
- is-full-run: false
435-
os: windows-2022
436-
python-version: "3.9"
437-
438422
- is-full-run: false
439423
os: windows-2022
440424
python-version: "3.10"
@@ -448,10 +432,6 @@ jobs:
448432
python-version: "3.12"
449433

450434
# avoid unnecessary use of mac resources
451-
- is-full-run: false
452-
os: macos-14
453-
python-version: "3.9"
454-
455435
- is-full-run: false
456436
os: macos-14
457437
python-version: "3.10"
@@ -482,7 +462,7 @@ jobs:
482462
run: make requirements
483463

484464
- name: Download wheel
485-
uses: actions/download-artifact@v5
465+
uses: actions/download-artifact@v6
486466
with:
487467
name: csp-dist-${{ runner.os }}-${{ runner.arch }}-${{ matrix.python-version }}
488468

@@ -566,7 +546,7 @@ jobs:
566546
os:
567547
- ubuntu-24.04
568548
python-version:
569-
- 3.9
549+
- 3.11
570550

571551
runs-on: ${{ matrix.os }}
572552

@@ -593,7 +573,7 @@ jobs:
593573
- name: Install requirements
594574
run: sudo make dependencies-debian
595575

596-
- uses: actions/download-artifact@v5
576+
- uses: actions/download-artifact@v6
597577
with:
598578
name: csp-sdist
599579
path: dist/
@@ -644,7 +624,7 @@ jobs:
644624
os:
645625
- ubuntu-24.04
646626
python-version:
647-
- 3.9
627+
- "3.10"
648628
package:
649629
- sqlalchemy<2
650630
- perspective-python<3
@@ -674,7 +654,7 @@ jobs:
674654
run: sudo apt-get install graphviz
675655

676656
- name: Download wheel
677-
uses: actions/download-artifact@v5
657+
uses: actions/download-artifact@v6
678658
with:
679659
name: csp-dist-${{ runner.os }}-${{ runner.arch }}-${{ matrix.python-version }}
680660

@@ -754,7 +734,7 @@ jobs:
754734

755735
steps:
756736
- name: Download wheels and sdist
757-
uses: actions/download-artifact@v5
737+
uses: actions/download-artifact@v6
758738
with:
759739
name:
760740
merge-multiple: true

.github/workflows/conda.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -110,17 +110,22 @@ jobs:
110110
shell: micromamba-shell {0}
111111
if: ${{ runner.os != 'Windows' }}
112112

113-
- name: Python Lint Steps ( Windows )
113+
- name: Python Lint Steps (Windows)
114114
run: make lint
115115
shell: cmd /C call {0}
116116
if: ${{ runner.os == 'Windows' }}
117117

118-
- name: Python Build Steps
118+
- name: Python Build Steps (Linux)
119119
run: make build-conda ${{ needs.initialize.outputs.SANITIZER == 'true' && 'ASAN="ON" UBSAN="ON"' || '' }}
120120
shell: micromamba-shell {0}
121121
if: ${{ runner.os == 'Linux' }}
122122

123-
- name: Python Build Steps ( Windows )
123+
- name: Python Build Steps (macOS)
124+
run: make build-conda
125+
shell: micromamba-shell {0}
126+
if: ${{ runner.os == 'macOS' }}
127+
128+
- name: Python Build Steps (Windows)
124129
env:
125130
CSP_GENERATOR: "Visual Studio 17 2022"
126131
run: make build-conda

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Project Configuration #
33
#########################
44
cmake_minimum_required(VERSION 3.20.0)
5-
project(csp VERSION "0.11.3")
5+
project(csp VERSION "0.12.0")
66
set(CMAKE_CXX_STANDARD 20)
77

88
###################################################################################################################################################

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
[![PyPI](https://img.shields.io/pypi/v/csp.svg?style=flat)](https://pypi.python.org/pypi/csp)
1111
[![License](https://img.shields.io/badge/license-Apache--2.0-green)](https://github.com/Point72/csp/LICENSE)
1212
[![Build Status](https://github.com/Point72/csp/actions/workflows/build.yml/badge.svg)](https://github.com/Point72/csp/actions/workflows/build.yml)
13-
[![Python Versions](https://img.shields.io/badge/python-3.9_%7C_3.10_%7C_3.11_%7C_3.12-blue)](https://github.com/Point72/csp/blob/main/pyproject.toml)
13+
[![Python Versions](https://img.shields.io/badge/python-3.10_%7C_3.11_%7C_3.12_%7C_3.13-blue)](https://github.com/Point72/csp/blob/main/pyproject.toml)
1414

1515
<br/>
1616

conda/dev-environment-unix.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,37 +18,36 @@ dependencies:
1818
- graphviz
1919
- gtest
2020
- httpx>=0.20,<1
21-
- libarrow<22
21+
- libarrow<23
2222
- libboost>=1.80.0
2323
- libboost-headers>=1.80.0
2424
- librdkafka
2525
- lz4-c
2626
- make
2727
- mamba
28-
- mdformat>=0.7.19,<0.8
28+
- mdformat>=0.7.19,<1.1
2929
- mdformat-tables>=1,<1.1
3030
- ninja
3131
- numpy>=2
32-
- pandas<2.3 # [py<310]
33-
- pandas # [py>=310]
32+
- pandas
3433
- pillow
3534
- polars
3635
- psutil
37-
- pyarrow>=15,<22
36+
- pyarrow>=15,<23
3837
- pydantic>=2
3938
- pytest
4039
- pytest-asyncio
4140
- pytest-cov
4241
- pytest-sugar
43-
- python<3.14
42+
- python>=3.10,<3.14
4443
- python-build
4544
- python-graphviz
4645
- python-rapidjson
4746
- pytz
4847
- rapidjson
4948
- requests
5049
- ruamel.yaml
51-
- ruff>=0.9,<0.10
50+
- ruff>=0.9,<0.15
5251
- scikit-build
5352
- setuptools>=69,<74
5453
- sqlalchemy

conda/dev-environment-win.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,37 +18,36 @@ dependencies:
1818
- graphviz
1919
- gtest
2020
- httpx>=0.20,<1
21-
- libarrow<22
21+
- libarrow<23
2222
- libboost>=1.80.0
2323
- libboost-headers>=1.80.0
2424
- librdkafka
2525
- lz4-c
2626
- make
2727
- mamba
28-
- mdformat>=0.7.19,<0.8
28+
- mdformat>=0.7.19,<1.1
2929
- mdformat-tables>=1,<1.1
3030
- ninja
3131
- numpy>=2
32-
- pandas<2.3 # [py<310]
33-
- pandas # [py>=310]
32+
- pandas
3433
- pillow
3534
- polars
3635
- psutil
37-
- pyarrow>=15,<22
36+
- pyarrow>=15,<23
3837
- pydantic>=2
3938
- pytest
4039
- pytest-asyncio
4140
- pytest-cov
4241
- pytest-sugar
43-
- python<3.14
42+
- python>=3.10,<3.14
4443
- python-build
4544
- python-graphviz
4645
- python-rapidjson
4746
- pytz
4847
- rapidjson
4948
- requests
5049
- ruamel.yaml
51-
- ruff>=0.9,<0.10
50+
- ruff>=0.9,<0.15
5251
- scikit-build
5352
- setuptools>=69,<74
5453
- sqlalchemy

cpp/csp/adapters/parquet/ParquetFileReaderWrapper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void ParquetFileReaderWrapper::open( const std::string &fileName )
1717

1818
try
1919
{
20-
#if ARROW_VERSION_MAJOR == 20 || ARROW_VERSION_MAJOR == 21
20+
#if ARROW_VERSION_MAJOR >= 20
2121
auto res = ::parquet::arrow::OpenFile(m_inputFile, arrow::default_memory_pool());
2222
STATUS_OK_OR_THROW_RUNTIME(res.status(), "Failed to open parquet file " << fileName );
2323
m_fileReader = res.MoveValueUnsafe();

cpp/csp/adapters/parquet/ParquetFileWriterWrapper.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void ParquetFileWriterWrapper::openImpl( const std::string &fileName, const std:
1717

1818
::parquet::WriterProperties::Builder builder;
1919
builder.compression( resolveCompression( compression ));
20-
#if ARROW_VERSION_MAJOR == 20 || ARROW_VERSION_MAJOR == 21
20+
#if ARROW_VERSION_MAJOR >= 20
2121
builder.version(::parquet::ParquetVersion::PARQUET_2_6 );
2222
#else
2323
builder.version(::parquet::ParquetVersion::PARQUET_2_0 );

cpp/csp/python/PyStructFastList_impl.h

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,6 @@
1010
#include <csp/python/VectorWrapper.h>
1111
#include <algorithm>
1212

13-
// The Py_TPFLAGS_SEQUENCE flag is used for 'match' statement to work. It is not available prior Python 3.10, so need to use conditional compilation
14-
#define IS_PYTHON_3_10_OR_GREATER ( PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 10 )
15-
#if IS_PYTHON_3_10_OR_GREATER
16-
#define SEQ_FLAG Py_TPFLAGS_SEQUENCE
17-
#else
18-
#define SEQ_FLAG 0
19-
#endif
2013

2114
namespace csp::python
2215
{
@@ -615,7 +608,7 @@ PyTypeObject PyStructFastList<StorageT>::PyType = {
615608
PyObject_GenericGetAttr, /* tp_getattro */
616609
0, /* tp_setattro */
617610
0, /* tp_as_buffer */
618-
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | SEQ_FLAG, /* tp_flags */ // adding flag Py_TPFLAGS_SEQUENCE in Python >=3.10
611+
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_SEQUENCE, /* tp_flags */
619612
"", /* tp_doc */
620613
( traverseproc ) PyStructFastList_tp_traverse<StorageT>, /* tp_traverse */
621614
( inquiry ) PyStructFastList_tp_clear<StorageT>, /* tp_clear */

csp/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131

3232
from . import stats
3333

34-
__version__ = "0.11.3"
34+
__version__ = "0.12.0"
3535

3636

3737
def get_include_path():

0 commit comments

Comments
 (0)