Skip to content

Commit

Permalink
Fix cibuildwheel (#136)
Browse files Browse the repository at this point in the history
* cibuildwheel fix
  • Loading branch information
o-murphy authored Jan 19, 2025
1 parent 626a098 commit 34c6e91
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 16 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/cibuildwheel_test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: CiBuildWheel Test

on:
pull_request:
branches:
- '*'
workflow_dispatch:

permissions:
contents: read

jobs:

build-deploy:
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest ]

runs-on: ${{ matrix.os }}
environment: release
permissions:
id-token: write
steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Validate exts version matching
run: |
python -m pip install tomli
python hooks/version_check.py
- name: Install dependencies
run: |
python -m pip install build cibuildwheel twine
- name: Build pure python package
run: python -m build

- name: Build binary python package
run: |
cd ./py_ballisticcalc.exts
python -m build --sdist --outdir ../dist
cibuildwheel --output-dir ../dist
cd ..
- name: List ./dist
run: ls ./dist
10 changes: 2 additions & 8 deletions py_ballisticcalc.exts/py_ballisticcalc_exts/trajectory_calc.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ from libc.math cimport fabs, sin, cos, tan, atan, atan2
# noinspection PyUnresolvedReferences
from py_ballisticcalc_exts.vector cimport CVector, add, sub, mag, mul_c, mul_v, neg, norm, mag
# noinspection PyUnresolvedReferences
from py_ballisticcalc_exts.trajectory_data cimport CTrajFlag, TrajectoryData
# noinspection PyUnresolvedReferences
from py_ballisticcalc_exts.cy_euler cimport (
Config_t,
Wind_t,
Expand All @@ -33,15 +35,7 @@ from py_ballisticcalc_exts.cy_euler cimport (
_WIND_MAX_DISTANCE_FEET,
)

import platform
import warnings
if platform.python_implementation() == "PyPy":
# noinspection PyUnresolvedReferences
from py_ballisticcalc_exts.trajectory_data cimport CTrajFlag
from py_ballisticcalc import TrajectoryData
else:
# noinspection PyUnresolvedReferences
from py_ballisticcalc_exts.trajectory_data cimport TrajectoryData, CTrajFlag

from py_ballisticcalc.logger import logger
from py_ballisticcalc.unit import Angular, Unit, Velocity, Distance, Energy, Weight
Expand Down
6 changes: 4 additions & 2 deletions py_ballisticcalc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

import os
import sys
import platform
import importlib.resources

from typing_extensions import Dict, Union, Optional
Expand Down Expand Up @@ -39,8 +40,9 @@
logger.debug("Binary modules found, running in binary mode")
except ImportError as error:
import warnings
warnings.warn("Library running in pure python mode. "
"For better performance install 'py_ballisticcalc.exts' binary package", UserWarning)
if platform.python_implementation() != "PyPy":
warnings.warn("Library running in pure python mode. "
"For better performance install 'py_ballisticcalc.exts' binary package", UserWarning)


def _load_config(filepath=None, suppress_warnings=False):
Expand Down
8 changes: 2 additions & 6 deletions py_ballisticcalc/trajectory_data/__init__.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
from py_ballisticcalc.trajectory_data._trajectory_data import HitResult, TrajFlag, DangerSpace
from py_ballisticcalc.logger import logger
import platform


try:
if platform.python_implementation() == "PyPy":
from py_ballisticcalc.trajectory_data._trajectory_data import TrajectoryData
else:
# replace with cython based implementation
from py_ballisticcalc_exts import TrajectoryData # type: ignore
# replace with cython based implementation
from py_ballisticcalc_exts import TrajectoryData # type: ignore
except ImportError as err:
from py_ballisticcalc.trajectory_data._trajectory_data import TrajectoryData
logger.debug(err)
Expand Down

0 comments on commit 34c6e91

Please sign in to comment.