Skip to content

Commit

Permalink
Merge branch 'refactor_angles'
Browse files Browse the repository at this point in the history
  • Loading branch information
dbookstaber committed Feb 12, 2024
2 parents ceccd50 + 7e668fa commit 69b8793
Show file tree
Hide file tree
Showing 69 changed files with 6,101 additions and 3,251 deletions.
32 changes: 32 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Environment: **
- OS: [e.g. iOS]
- Python3 version: [e.g. 3.9, 3.11]
- Release [e.g. 1.0.12]

**Additional context**
Add any other context about the problem here.
24 changes: 24 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Pylint

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pylint
- name: Analysing the code with pylint
run: |
#pylint $(git ls-files '*.py')
pylint ./py_ballisticcalc
56 changes: 56 additions & 0 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Python package tests

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install build-essential -y
python -m pip install --upgrade pip
python -m pip install setuptools pytest cython
- name: Run unittest tests in pure python mode
run: |
if pytest tests --no-header --no-summary -v; then
echo "Pytest succeeded."
else
echo "Pytest failed, running without capture"
# Add your additional commands here
pytest tests -v
fi
- name: Build cython modules
run: |
cd py_ballisticcalc_exts
python setup.py build_ext --inplace
cd ..
- name: Run unittest tests in binary mode
run: |
if pytest tests --no-header --no-summary -v; then
echo "Pytest succeeded."
else
echo "Pytest failed, running without capture"
# Add your additional commands here
pytest tests --no-header --no-summary -v -s
fi
48 changes: 48 additions & 0 deletions .github/workflows/python-publish-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Upload Python Package to Test PyPI

on:
workflow_dispatch:

permissions:
contents: read

jobs:
deploy:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Build package
run: python -m build

- name: Build extensions package
run: |
cd py_ballisticcalc_exts
python -m build --outdir ../dist
cd ..
- name: Publish package to Test PyPI
run: |
python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/* --skip-existing --verbose --non-interactive
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.TEST_PYPI_API_TOKEN }}

- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: python-package-artifacts
path: dist/
59 changes: 59 additions & 0 deletions .github/workflows/python-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python#publishing-to-package-registries

# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

name: Upload Python Package

on:
release:
types: [published]

workflow_dispatch:

permissions:
contents: read

jobs:
deploy:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build twine
- name: Build package
run: python -m build

- name: Build extensions package
run: |
cd py_ballisticcalc_exts
python -m build --outdir ../dist
cd ..
- name: Publish package to PyPI
run: |
python -m twine upload dist/* --skip-existing --verbose --non-interactive
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}

- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: python-package-artifacts
path: dist/
41 changes: 8 additions & 33 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,33 +1,8 @@
UsageDemo - Copy.ipynb
.vs/ProjectSettings.json
.vs/slnx.sqlite
.vs/VSWorkspaceState.json
.vs/py_ballistics/v15/.suo
.vscode/settings.json
py_ballisticcalc/atmosphere.c
py_ballisticcalc/drag.c
py_ballisticcalc/ExampleDetailed.py
py_ballisticcalc/Examples.ipynb
py_ballisticcalc/ExampleSimple.py
py_ballisticcalc/multiple_bc.c
py_ballisticcalc/projectile.c
py_ballisticcalc/shot_parameters.c
py_ballisticcalc/trajectory_calculator.c
py_ballisticcalc/trajectory_data.c
py_ballisticcalc/wind.c
py_ballisticcalc/__pycache__/__init__.cpython-310.pyc
py_ballisticcalc/__pycache__/drag_tables.cpython-310.pyc
py_ballisticcalc/__pycache__/interface.cpython-310.pyc
py_ballisticcalc/bmath/__pycache__/__init__.cpython-310.pyc
py_ballisticcalc/bmath/unit/angular.c
py_ballisticcalc/bmath/unit/distance.c
py_ballisticcalc/bmath/unit/energy.c
py_ballisticcalc/bmath/unit/pressure.c
py_ballisticcalc/bmath/unit/temperature.c
py_ballisticcalc/bmath/unit/velocity.c
py_ballisticcalc/bmath/unit/velocityNew.py
py_ballisticcalc/bmath/unit/weight.c
py_ballisticcalc/bmath/unit/__pycache__/__init__.cpython-310.pyc
py_ballisticcalc/bmath/unit/__pycache__/velocity.cpython-310.pyc
py_ballisticcalc/bmath/vector/vector.c
py_ballisticcalc/bmath/vector/__pycache__/__init__.cpython-310.pyc
**/__pycache__
**/.idea
**/*.c
**/*.pyd
**/build
**/dist
**/*.egg-info
**/.venv
Loading

0 comments on commit 69b8793

Please sign in to comment.