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
18 changes: 9 additions & 9 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
Lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Check formatting
uses: "lgeiger/black-action@master"
with:
Expand All @@ -15,15 +15,15 @@ jobs:
name: Check version
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
fetch-depth: 0
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.12
- name: Build changelog
run: pip install yaml-changelog>=0.1.7 && make changelog
- name: Preview changelog update
Expand All @@ -35,19 +35,19 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.11", "3.12", "3.13", "3.14"]
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: ${{ matrix.python-version }}
allow-prereleases: true
- name: Install package
run: make install
- name: Run tests
run: make test
- uses: codecov/codecov-action@v3
- name: Build package
run: make build
- name: Test documentation builds
run: make documentation
36 changes: 13 additions & 23 deletions .github/workflows/push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
(github.repository == 'PolicyEngine/policyengine-ng')
&& (github.event.head_commit.message == 'Update PolicyEngine Nigeria')
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Check formatting
uses: "lgeiger/black-action@master"
with:
Expand All @@ -22,15 +22,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
token: ${{ secrets.POLICYENGINE_GITHUB }}
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.14
- name: Build changelog
run: pip install yaml-changelog && make changelog
- name: Preview changelog update
Expand All @@ -52,37 +52,28 @@ jobs:
os: [ubuntu-latest, windows-latest]
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.14
- name: Install package
run: make install
- name: Run tests
run: make test
- uses: codecov/codecov-action@v3
- name: Generate documentation
run: make documentation
- name: Deploy documentation
if: matrix.os == 'ubuntu-latest'
uses: JamesIves/github-pages-deploy-action@releases/v3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: docs/_build/html # The folder the action should deploy.
Publish:
runs-on: ubuntu-latest
if: |
(github.repository == 'PolicyEngine/policyengine-ng')
&& (github.event.head_commit.message == 'Update PolicyEngine Nigeria')
steps:
- name: Checkout repo
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.14
- name: Publish a git tag
run: ".github/publish-git-tag.sh || true"
- name: Install package
Expand All @@ -104,15 +95,15 @@ jobs:
GH_TOKEN: ${{ secrets.POLICYENGINE_GITHUB }}
steps:
- name: Checkout repo
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
repository: ${{ github.event.pull_request.head.repo.full_name }}
ref: ${{ github.event.pull_request.head.ref }}
token: ${{ secrets.POLICYENGINE_GITHUB }}
- name: Setup Python
uses: actions/setup-python@v2
uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.14
- name: Install Wheel and Pytest
run: pip3 install wheel setuptools pytest==5.4.3
- name: Install package
Expand All @@ -121,4 +112,3 @@ jobs:
run: python .github/update_api.py
env:
GITHUB_TOKEN: ${{ secrets.POLICYENGINE_GITHUB }}

1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.14
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
all: install format test build changelog

documentation:
jb clean docs
jb build docs
myst build docs

format:
black . -l 79
Expand Down
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: minor
changes:
added:
- Python 3.14 support. Dropped Python 3.10 and below.
1 change: 1 addition & 0 deletions policyengine_ng/entities.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

See https://openfisca.org/doc/key-concepts/person,_entities,_role.html
"""

from typing import Any

from policyengine_core.entities import build_entity
Expand Down
10 changes: 6 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,16 +41,18 @@
"License :: OSI Approved :: GNU Affero General Public License v3",
"Operating System :: POSIX",
"Programming Language :: Python",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering :: Information Analysis",
],
python_requires=">=3.11",
description="Core microsimulation engine enabling country-specific policy models.",
keywords="tax benefit microsimulation framework",
license="https://www.fsf.org/licensing/licenses/agpl-3.0.html",
license_files=("LICENSE",),
url="https://github.com/policyengine/policyengine-core",
url="https://github.com/policyengine/policyengine-ng",
long_description=long_description,
long_description_content_type="text/markdown",
entry_points={
Expand Down