Skip to content
Merged
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
55 changes: 55 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: CI

on:
push:
branches: [ 'master' ]
pull_request:
branches: [ 'master' ]
schedule:
# at 12:00 (UTC) on the first day of the month
- cron: '0 12 1 * *'

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
test:
name: Unittest (${{ matrix.os }}-${{ matrix.compiler }}-py${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
compiler: [gcc, clang]
python-version: ['3.10', '3.x']
include:
- os: ubuntu-20.04
python-version: '3.6'
compiler: gcc
- os: ubuntu-20.04
python-version: '3.6'
compiler: clang
fail-fast: false

steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install System Dependencies
if: matrix.os == 'ubuntu-latest' && matrix.compiler == 'clang'
run: |
sudo apt-get install libomp5 libomp-dev

- name: Install Python Dependencies
run: |
python -m pip install --upgrade pip setuptools setuptools-scm wheel
python -m pip install --upgrade numpy scipy jitcxde_common sympy

- name: Run Tests
env:
CC: ${{ matrix.compiler }}
run: |
python -m pip install --verbose --no-build-isolation --editable .
python -m unittest discover -b -f -v tests
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ docs/_build/
**/*.so
**/__pycache__
jitcode/version.py
*.egg-info/
56 changes: 56 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
[build-system]
build-backend = "setuptools.build_meta"
requires = [
"setuptools>=64",
"setuptools-scm>=7",
]

[project]
name = "jitcode"
dynamic = ["version"]
description = "Just-in-Time Compilation for Ordinary Differential Equations"
readme = "README.rst"
license = { text = "BSD-3-Clause" }
authors = [
{ name = "Gerrit Ansmann", email = "gansmann@uni-bonn.de" },
]
requires-python = ">=3.6"
classifiers = [
"Development Status :: 4 - Beta",
"License :: OSI Approved :: BSD License",
"Operating System :: POSIX",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Programming Language :: Python",
"Topic :: Scientific/Engineering :: Mathematics",
]
dependencies = [
"jitcxde_common>=1.5.4",
"numpy",
"scipy",
"symengine>=0.3.1.dev0",
]

[project.optional-dependencies]
test = [
# NOTE: required for expr.simplify (symengine calls sympy for that)
# https://github.com/symengine/symengine.py/issues/405
"sympy"
]

[project.urls]
Documentation = "https://jitcode.readthedocs.io"
Homepage = "http://github.com/neurophysik/jitcode"

[tool.setuptools.packages.find]
include = [
"jitcode*",
]

[tool.setuptools.package-data]
jitcode = [
"jitced_template.c",
]

[tool.setuptools_scm]
write_to = "jitcode/version.py"
35 changes: 0 additions & 35 deletions setup.py

This file was deleted.