Skip to content

Commit e0696d4

Browse files
Merge pull request #4 from petrasvestartas/api
API
2 parents 12ea16d + 2c598bb commit e0696d4

File tree

3,992 files changed

+3299090
-849
lines changed

Some content is hidden

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

3,992 files changed

+3299090
-849
lines changed

.editorconfig

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
1-
# EditorConfig is awesome: http://EditorConfig.org
2-
root = true
3-
4-
[*]
5-
end_of_line = lf
6-
trim_trailing_whitespace = true
7-
insert_final_newline = true
8-
indent_style = space
9-
indent_size = 4
10-
charset = utf-8
11-
max_line_length = 179
12-
13-
[*.{bat,cmd,ps1}]
14-
end_of_line = crlf
15-
16-
[*.md]
17-
trim_trailing_whitespace = false
18-
19-
[*.yml]
20-
indent_size = 2
21-
22-
[*.rst]
23-
indent_size = 4
24-
25-
[Makefile]
26-
indent_style = tab
27-
indent_size = 4
28-
29-
[LICENSE]
30-
insert_final_newline = false
1+
# EditorConfig is awesome: http://EditorConfig.org
2+
root = true
3+
4+
[*]
5+
end_of_line = lf
6+
trim_trailing_whitespace = true
7+
insert_final_newline = true
8+
indent_style = space
9+
indent_size = 4
10+
charset = utf-8
11+
max_line_length = 179
12+
13+
[*.{bat,cmd,ps1}]
14+
end_of_line = crlf
15+
16+
[*.md]
17+
trim_trailing_whitespace = false
18+
19+
[*.yml]
20+
indent_size = 2
21+
22+
[*.rst]
23+
indent_size = 4
24+
25+
[Makefile]
26+
indent_style = tab
27+
indent_size = 4
28+
29+
[LICENSE]
30+
insert_final_newline = false

.github/workflows/build.yml

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,41 @@ jobs:
1212
Build:
1313
if: ${{ !contains(github.event.pull_request.labels.*.name, 'docs-only') }}
1414
runs-on: ${{ matrix.os }}
15+
env:
16+
BLA_VENDOR: OpenBLAS
1517
strategy:
1618
matrix:
17-
os: [ubuntu-latest] # , macos-latest, windows-latest
18-
python: ["3.10"]
19+
os: [ubuntu-latest] # Only Linux is supported
20+
python: ["3.12"]
1921

2022
steps:
2123
- uses: actions/checkout@v4
2224
with:
2325
fetch-depth: 0
26+
submodules: recursive
27+
28+
- name: Install system dependencies (Linux)
29+
if: runner.os == 'Linux'
30+
run: |
31+
sudo apt-get update
32+
sudo apt-get install -y gfortran cmake libopenblas-dev liblapack-dev
2433
2534
- name: Set up conda
2635
uses: conda-incubator/setup-miniconda@v3
2736
with:
2837
python-version: ${{ matrix.python }}
29-
channels: conda-forge
38+
channels: conda-forge,defaults
3039
activate-environment: "compas_lmgc90-dev"
3140

41+
- name: Install libstdcxx-ng
42+
shell: bash -el {0}
43+
run: |
44+
conda install -y -c conda-forge libstdcxx-ng=14
45+
3246
- name: Configure conda channels
3347
shell: bash -el {0}
3448
run: |
49+
conda config --add channels conda-forge
3550
conda config --add channels defaults
3651
conda config --set channel_priority strict
3752
@@ -46,6 +61,8 @@ jobs:
4661
name: cibuildwheel on ${{ matrix.platform }}
4762
needs: [Build] # Only run if Build job succeeds
4863
runs-on: ${{ matrix.os }}
64+
env:
65+
BLA_VENDOR: OpenBLAS
4966
strategy:
5067
fail-fast: false
5168
matrix:
@@ -61,6 +78,13 @@ jobs:
6178
- uses: actions/checkout@v4
6279
with:
6380
fetch-depth: 0
81+
submodules: recursive
82+
83+
- name: Install system dependencies (Linux)
84+
if: runner.os == 'Linux'
85+
run: |
86+
sudo apt-get update
87+
sudo apt-get install -y gfortran cmake libopenblas-dev liblapack-dev
6488
6589
- name: Install cibuildwheel
6690
run: pipx install cibuildwheel==2.23.1

.github/workflows/docs.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,14 @@ jobs:
1616
steps:
1717
- name: Checkout code
1818
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
submodules: recursive
22+
23+
- name: Install system dependencies
24+
run: |
25+
sudo apt-get update
26+
sudo apt-get install -y gfortran cmake libopenblas-dev liblapack-dev
1927
2028
- name: Set up Python
2129
uses: actions/setup-python@v4
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/bash
2+
3+
# SPDX-FileCopyrightText: 2020 Intel Corporation
4+
#
5+
# SPDX-License-Identifier: MIT
6+
7+
#shellcheck disable=SC2010
8+
LATEST_VERSION=$(ls -1 /opt/intel/oneapi/compiler/ | grep -v latest | sort | tail -1)
9+
10+
sudo rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/compiler/lib/ia32_lin
11+
sudo rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/bin/ia32
12+
sudo rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/lib/emu
13+
sudo rm -rf /opt/intel/oneapi/compiler/"$LATEST_VERSION"/linux/lib/oclfpga
14+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#!/bin/bash
2+
# This script sets up the Intel oneAPI apt repository on a Linux system.
3+
# https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2025-1/base-apt.html#BASE-APT
4+
5+
curl -sS -L https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
6+
| gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
7+
8+
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
9+
10+
sudo apt-get update -o Dir::Etc::sourcelist="sources.list.d/oneAPI.list" -o APT::Get::List-Cleanup="0"
11+

.github/workflows/release.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,19 @@ jobs:
3131
include:
3232
- os: ubuntu-latest
3333
platform: manylinux
34-
- os: macos-latest
35-
platform: mac
36-
- os: windows-latest
37-
platform: windows
34+
# macOS and Windows not supported - requires Fortran and bundled LMGC90 libraries
3835

3936
steps:
4037
- uses: actions/checkout@v4
4138
with:
4239
fetch-depth: 0
40+
submodules: recursive
41+
42+
- name: Install system dependencies (Linux)
43+
if: runner.os == 'Linux'
44+
run: |
45+
sudo apt-get update
46+
sudo apt-get install -y gfortran cmake
4347
4448
- name: Install cibuildwheel
4549
run: pipx install cibuildwheel==2.23.1
@@ -71,9 +75,9 @@ jobs:
7175
publish:
7276
needs: [build_sdist, build_wheels]
7377
runs-on: ubuntu-latest
74-
environment: pypi
75-
# The URL is created after successful deploy
76-
# url: https://pypi.org/project/compas_lmgc90
78+
environment:
79+
name: pypi
80+
# url: https://pypi.org/project/compas_lmgc90
7781
permissions:
7882
id-token: write # Required for PyPI trusted publishing
7983

.gitignore

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ generated/
120120
libs/**
121121
!libs/PLACEHOLDER
122122

123-
temp/**
124-
!temp/PLACEHOLDER
123+
# temp/**
124+
# !temp/PLACEHOLDER
125125

126126
src/.build/**
127127

@@ -137,7 +137,7 @@ src/.build/**
137137

138138
docs/api/generated/
139139

140-
scripts/
140+
/scripts/
141141

142142
.ruff_cache
143143

@@ -146,13 +146,19 @@ scripts/
146146
# ------------------------------------------------------------------------------
147147

148148
# External dependencies
149-
ext/**
150-
external/
151-
**/external/
149+
# ext/**
150+
# external/
151+
# **/external/
152152

153153
# ------------------------------------------------------------------------------
154154
# cibuildwheel
155155
# ------------------------------------------------------------------------------
156156

157157
wheelhouse
158-
wheelhouse/**
158+
wheelhouse/**
159+
160+
# ------------------------------------------------------------------------------
161+
# Bundled Intel oneAPI libraries (large binary files)
162+
# ------------------------------------------------------------------------------
163+
164+
# external/intel_libs/

CHANGELOG.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1-
# Changelog
2-
3-
All notable changes to this project will be documented in this file.
4-
5-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7-
8-
## Unreleased
9-
10-
### Added
11-
12-
### Changed
13-
14-
### Removed
15-
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## Unreleased
9+
10+
- Fortran - C API
11+
12+
### Added
13+
14+
### Changed
15+
16+
### Removed
17+

0 commit comments

Comments
 (0)