Skip to main content

Core microsimulation engine enabling country-specific policy models.

Project description

PolicyEngine Core

codecov PyPI version Ruff

A fork of OpenFisca-Core that powers PolicyEngine country models (policyengine-uk, policyengine-us, policyengine-canada, policyengine-il, policyengine-ng) and the downstream apps and APIs. Provides the simulation engine, parameter tree, variable system, and reform machinery that each country package builds on top of.

Install

pip install policyengine-core

Supports Python 3.9 – 3.14.

Usage

Most users reach this package transitively through a country model. Import directly if you're building a new country model, writing a reform, or extending the core:

from policyengine_core.simulations import Simulation
from policyengine_core.reforms import Reform

See the documentation for API reference and tutorials.

Development

# Install dev dependencies (uses uv)
make install

# Run the full test suite
make test

# Run a single test
uv run pytest tests/core/test_file.py::test_name -v

# Format before committing (CI enforces)
make format

Always use uv run for Python commands; bare python / pytest / pip may pick up the wrong environment.

Contributions: see CONTRIBUTING.md for branching, PR conventions, and the towncrier changelog.d/ workflow. Default branch is master.

License

Distributed under the AGPL License. See LICENSE for details.

Acknowledgements

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

policyengine_core-3.29.0.tar.gz (489.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

policyengine_core-3.29.0-py3-none-any.whl (241.1 kB view details)

Uploaded Python 3

File details

Details for the file policyengine_core-3.29.0.tar.gz.

File metadata

  • Download URL: policyengine_core-3.29.0.tar.gz
  • Upload date:
  • Size: 489.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for policyengine_core-3.29.0.tar.gz
Algorithm Hash digest
SHA256 412228880b04a2c66c99faa3a0a8643503fba79ea4a9ccf4f65fddf9a184a4ae
MD5 2fa50be6e148fdc03be29fa7ee4df709
BLAKE2b-256 52cbf2520b3f0b8db1a1bb5380158791d6d0c3c5271080bb9b3b8ac540e7497d

See more details on using hashes here.

File details

Details for the file policyengine_core-3.29.0-py3-none-any.whl.

File metadata

File hashes

Hashes for policyengine_core-3.29.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d49fd4c57d18cf859569b0b221c07096ade2b1f94fea5e14e822a1fad859007
MD5 3f79e917dc972ca4df1a0df3ec040d6d
BLAKE2b-256 19d0c510872c0c5f63d0a32a7dfaa9f359d8fde343d8ee8bb85ed19753b5ba86

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page