Skip to content

Commit 82ab5e3

Browse files
authored
Merge pull request #178 from borglab/upgrade
2 parents 24fc897 + 4f169c7 commit 82ab5e3

File tree

8 files changed

+362
-67
lines changed

8 files changed

+362
-67
lines changed

.github/workflows/linux-ci.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,35 +5,33 @@ on: [pull_request]
55
jobs:
66
build:
77
name: Tests for 🐍 ${{ matrix.python-version }}
8-
runs-on: ubuntu-22.04
8+
runs-on: ubuntu-latest
99

1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
python-version: ["3.9", "3.10", "3.11", "3.12"]
13+
python-version: ["3.10", "3.11", "3.12", "3.13"]
1414

1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v2
17+
uses: actions/checkout@v5
1818

1919
- name: Install Dependencies
2020
run: |
2121
sudo apt-get -y update
22-
sudo apt install cmake build-essential pkg-config libpython3-dev python3-numpy libboost-all-dev
22+
sudo apt install cmake
2323
24-
- name: Set up Python ${{ matrix.python-version }}
25-
uses: actions/setup-python@v2
24+
- name: Install uv and set the ${{ matrix.python-version }}
25+
uses: astral-sh/setup-uv@v6
2626
with:
2727
python-version: ${{ matrix.python-version }}
2828

2929
- name: Python Dependencies
30-
run: |
31-
sudo pip3 install -U pip setuptools
32-
sudo pip3 install -r requirements.txt
30+
run: uv sync --locked --all-extras --dev
3331

3432
- name: Build and Test
3533
run: |
34+
# Build
3635
cmake .
37-
cd tests
3836
# Use Pytest to run all the tests.
39-
pytest
37+
uv run pytest tests

.github/workflows/macos-ci.yml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,32 @@ on: [pull_request]
55
jobs:
66
build:
77
name: Tests for 🐍 ${{ matrix.python-version }}
8-
runs-on: macos-14
8+
runs-on: macos-latest
99

1010
strategy:
1111
fail-fast: false
1212
matrix:
13-
python-version: ["3.9", "3.10", "3.11", "3.12"]
13+
python-version: ["3.10", "3.11", "3.12", "3.13"]
1414

1515
steps:
1616
- name: Checkout
1717
uses: actions/checkout@v2
1818

1919
- name: Install Dependencies
2020
run: |
21-
brew install cmake ninja boost
21+
brew install cmake ninja
2222
23-
- name: Set up Python ${{ matrix.python-version }}
24-
uses: actions/setup-python@v2
23+
- name: Install uv and set the ${{ matrix.python-version }}
24+
uses: astral-sh/setup-uv@v6
2525
with:
2626
python-version: ${{ matrix.python-version }}
2727

2828
- name: Python Dependencies
29-
run: |
30-
pip3 install -U pip setuptools
31-
pip3 install -r requirements.txt
29+
run: uv sync --locked --all-extras --dev
3230

3331
- name: Build and Test
3432
run: |
3533
# Build
3634
cmake .
37-
cd tests
3835
# Use Pytest to run all the tests.
39-
pytest
40-
36+
uv run pytest tests

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ __pycache__/
1111
**/.coverage
1212

1313
gtwrap/matlab_wrapper/matlab_wrapper.tpl
14+
15+
.python-version

CMakeLists.txt

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.9)
1+
cmake_minimum_required(VERSION 3.22)
22

33
# Set the project name and version
44
project(gtwrap VERSION 1.0)
@@ -34,14 +34,13 @@ configure_package_config_file(
3434
${CMAKE_CURRENT_BINARY_DIR}/cmake/gtwrapConfig.cmake
3535
INSTALL_DESTINATION "${INSTALL_CMAKE_DIR}"
3636
PATH_VARS INSTALL_CMAKE_DIR INSTALL_LIB_DIR INSTALL_BIN_DIR
37-
INSTALL_INCLUDE_DIR
38-
INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
37+
INSTALL_INCLUDE_DIR)
3938

4039
# Set all the install paths
41-
set(GTWRAP_CMAKE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${INSTALL_CMAKE_DIR})
42-
set(GTWRAP_LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR})
43-
set(GTWRAP_BIN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${INSTALL_BIN_DIR})
44-
set(GTWRAP_INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/${INSTALL_INCLUDE_DIR})
40+
set(GTWRAP_CMAKE_INSTALL_DIR $${INSTALL_CMAKE_DIR})
41+
set(GTWRAP_LIB_INSTALL_DIR ${INSTALL_LIB_DIR})
42+
set(GTWRAP_BIN_INSTALL_DIR ${INSTALL_BIN_DIR})
43+
set(GTWRAP_INCLUDE_INSTALL_DIR ${INSTALL_INCLUDE_DIR})
4544

4645
# ##############################################################################
4746
# Install the package

pyproject.toml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
[project]
2+
name = "gtwrap"
3+
version = "2.0.0"
4+
description = "Library to wrap C++ with Python and Matlab"
5+
authors = [
6+
{ name="Frank Dellaert", email="dellaert@gatech.edu" },
7+
{ name = "Varun Agrawal", email = "varunagrawal@gatech.edu" },
8+
{ name = "Duy Nguyen Ta", email = "duynguyen@gatech.edu" },
9+
{ name = "Fan Jiang", email = "i@fanjiang.me" },
10+
{ name = "Matthew Sklar", email = "matthewsklar227@gmail.com" }
11+
]
12+
readme = "README.md"
13+
license = "BSD-3-Clause"
14+
keywords=["wrap", "bindings", "cpp", "python", "matlab"]
15+
16+
classifiers = [
17+
"Intended Audience :: Education",
18+
"Intended Audience :: Developers",
19+
"Intended Audience :: Science/Research",
20+
"Operating System :: MacOS",
21+
"Operating System :: Microsoft :: Windows",
22+
"Operating System :: POSIX :: Linux",
23+
"Programming Language :: Python",
24+
"Programming Language :: Python :: 3.11",
25+
]
26+
27+
requires-python = ">=3.10"
28+
dependencies = [
29+
"pyparsing>=3.2.5",
30+
]
31+
32+
[dependency-groups]
33+
dev = [
34+
"pytest>=9.0.1",
35+
"pytest-cov>=7.0.0",
36+
]
37+
38+
[project.urls]
39+
Homepage = "https://github.com/borglab/wrap"
40+
Documentation = "https://github.com/borglab/wrap"
41+
Repository = "https://github.com/borglab/wrap"
42+
43+
[build-system]
44+
requires = ["hatchling"]
45+
build-backend = "hatchling.build"
46+
47+
[tool.pytest.ini_options]
48+
addopts = "--cov=gtwrap --cov-report html --cov-report term"
49+
norecursedirs = []
50+
51+
[tool.uv.build-backend]
52+
module-name = "gtwrap"

requirements.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

setup.py

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)