Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/run_unit_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.8", "3.9", "3.10", "3.11"]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Setup python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "src/catch22"]
path = src/catch22
url = https://github.com/DynamicsAndNeuralSystems/catch22.git
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
graft src
exclude src/catch22/.git
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,14 @@ Thanks to [@jmoo2880](https://github.com/jmoo2880) for putting together a [demon

### Manual install

The upstream _catch22_ C sources are vendored as a git submodule, so clone with submodules before building from source:

```
git clone --recurse-submodules https://github.com/DynamicsAndNeuralSystems/pycatch22.git
```

(If you already cloned without `--recurse-submodules`, run `git submodule update --init` from the repository root.)

If you find issues with the `pip` install, you can also install using `setuptools`:

```
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "pycatch22"
version = "0.4.5"
version = "0.5.0"
authors = [
{name = "Carl H Lubba"},
{email = "carl.lubba@gmx.de"},
Expand Down
11 changes: 7 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@
import sysconfig
import os

sourceDir = os.path.join("src", "C");
# Upstream catch22 C sources live in a git submodule (src/catch22); the
# pycatch22-specific CPython wrapper lives alongside it in src/wrapper.
upstreamDir = os.path.join("src", "catch22", "C")
wrapDir = os.path.join("src", "wrapper")

sourceFileList = [os.path.join(sourceDir, file) for file in os.listdir(sourceDir) if file.endswith(
sourceFileList = [os.path.join(upstreamDir, file) for file in os.listdir(upstreamDir) if file.endswith(
".c") and not 'main' in file]
# and not (file == "sampen.c" or file == "run_features.c")]
sourceFileList.append(os.path.join(wrapDir, "catch22_wrap.c"))

cflags = sysconfig.get_config_var('CFLAGS')
if cflags is not None:
Expand All @@ -19,7 +22,7 @@
# The c++ extension module:
extension_mod = Extension(name = "catch22_C",
sources = sourceFileList,
include_dirs = [sourceDir],
include_dirs = [upstreamDir],
extra_compile_args = extra_compile_args) # Header files are here

setup(
Expand Down
Loading
Loading