Skip to main content

PolicyEngine Core

codecov PyPI version Code style: black

This package, a fork of OpenFisca-Core, powers PolicyEngine country models and apps.

Prerequisites

Python 3.10 or beyond is required.

Setting Up

1. Fork the repo

https://github.com/PolicyEngine/policyengine-core/fork

2. Clone your own fork

3. Install dependencies

make install

If you are using Windows (not recommended), please install make first. You can either directly download from Make for Windows; or install Chocolatey, and simply install make with

choco install make

(See Acknowledgements for credit)

Contributing

Choosing an Issue

All of our code changes are made against a GitHub issue. If you're new to the project, go to Issues and search for good first issues label: "good first issue". If you see an open issue that no one's opened a PR against, it's all yours! Feel free to make some edits, then open a PR, as described below.

Developing

Keep your fork's master branch in sync with the original repo by pulling the original repo's code at times; typically (if the original repo is called "upstream" by Git) this means running git pull upstream master, then git push origin master to sync the code to your local repo.

Create branches on your fork off of your master or main branch. Periodically, if you're working on something for a while, you might also run git rebase master within your feature branch to sync your code with any new changes.

Testing, Formatting, Changelogging

You've finished your contribution, but now what? Before opening a PR, we ask contributors to do three things.

Step 1: Testing

To test your changes against our series of automated tests, run

make test

We also ask that you add tests for any new features or bug-fixes you add, so we can gradually build up the code coverage. Our tests are written in the Python standard, Pytest, and will be run again against the production environment, as well.

Step 2: Formatting

In addition to the tests, we use Black to lint our codebase, so before opening a pull request, Step 2 is to lint the code by running

make format

This will automatically format the code for you; no need to do anything else.

Step 3: Changelogging

Finally, we ask contributors to make it clear for our users what changes have been made by contributing to a changelog. This changelog is formatted in YAML and describes the changes you've made to the code. This should follow the below format:

- bump: {major, minor, patch}
  changes:
    {added, removed, changed, fixed}:
      - <variable or program>

For more info on the syntax, check out the semantic versioning docs and keep a changelog.

Write your changelog info into the empty file called changelog_entry.yaml. When you open your PR, this will automatically be added to the overall changelog.

Opening a Pull Request

Now you've finished your contribution! Please open a pull request (PR) from your branch to the live master branch and request review. At times, it may take some time for the team to review your PR, especially for larger contributions, so please be patient--we will be sure to get to it.

In the first line of your PR, please make sure to include the following:

Fixes {issue_number}

This makes it much easier for us to maintain and prune our issue board.

Please try to be detailed in your PRs about the changes you made and why you made them. You may find yourself looking back at them for reference in the future, or needing insight about someone else's changes. Save yourself a conversation and write it all in the PR!

Here are some best practices for using Git.

When you're ready for review, switch the PR from Draft to Ready for review.

License

Distributed under the AGPL License. See LICENSE for more info.

Acknowledgements

Release files for policyengine-core 3.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for policyengine-core 3.10.0
File Size Uploaded
policyengine_core-3.10.0.tar.gz 159.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for policyengine-core 3.10.0
File Interpreter ABI Platform
policyengine_core-3.10.0-py3-none-any.whl Python 3 none any Details

Total release size:380.1 kB

Release files / policyengine_core-3.10.0.tar.gz

Download URL policyengine_core-3.10.0.tar.gz
Size 159.1 kB
Tags Source
SHA-256 checksum
How to use checksums
8d9c33d433f18dc2d31c3f614efc21c4b0331b79e7b8bf2bd54ff887d5c2100f
BLAKE2b-256 checksum
How to use checksums
1357ec8918393f8bba9bbbe35174d4d25579d46735cd6188e170ca29e28ceade
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / policyengine_core-3.10.0-py3-none-any.whl

Download URL policyengine_core-3.10.0-py3-none-any.whl
Size 221.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f0609b85ffe8236689cd8973cf4a987e0e6910273c971f05e0c66ada18ba326
BLAKE2b-256 checksum
How to use checksums
e06b66d708a8c149b2914c233ca481afe00abfd3f189c1266cd4aa72e5df2669
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

3.32.6

2 release files

3.32.5

2 release files

3.31.1

2 release files

3.31.0

2 release files

3.30.3

2 release files

3.30.2

2 release files

3.30.1

2 release files

3.28.0

2 release files

3.27.1

2 release files

3.26.9

2 release files

3.26.8

2 release files

3.26.7

2 release files

3.26.6

2 release files

3.26.5

2 release files

3.26.4

2 release files

3.26.3

2 release files

3.26.2

2 release files

3.25.4

2 release files

3.25.3

2 release files

3.25.2

2 release files

3.25.1

2 release files

3.25.0

2 release files

3.24.4

2 release files

3.24.3

2 release files

3.24.2

2 release files

3.24.1

2 release files

3.24.0

2 release files

3.23.6

2 release files

3.23.5

2 release files

3.23.4

2 release files

3.23.3

2 release files

3.23.2

2 release files

3.23.1

2 release files

3.21.0

2 release files

3.20.0

2 release files

3.19.4

2 release files

3.19.3

2 release files

3.19.2

2 release files

3.19.1

2 release files

3.19.0

2 release files

3.18.0

2 release files

3.17.1

2 release files

3.16.4

2 release files

3.16.2

2 release files

3.16.1

2 release files

3.16.0

2 release files

3.14.0

2 release files

3.13.0

2 release files

3.12.5

2 release files

3.12.4

2 release files

3.12.0

2 release files

3.11.1

2 release files

3.11.0

2 release files

This release

3.10.0 This release

2 release files

3.9.0

2 release files

3.8.2

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.1

2 release files

3.7.0

2 release files

3.6.6

2 release files

3.6.5

2 release files

3.6.4

2 release files

3.6.3

2 release files

3.6.2

2 release files

3.6.0

2 release files

3.5.3

2 release files

3.5.2

2 release files

3.5.1

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.22.0

2 release files

2.21.8

2 release files

2.21.7

2 release files

2.21.6

2 release files

2.19.1

2 release files

2.19.0

2 release files

2.18.0

2 release files

2.16.1

2 release files

2.16.0

2 release files

2.12.1

2 release files

2.12.0

2 release files

2.11.5

2 release files

2.11.4

2 release files

2.11.3

2 release files

2.11.2

2 release files

2.11.1

2 release files

2.11.0

2 release files

2.10.0

2 release files

2.9.0

2 release files

2.8.2

2 release files

2.8.1

2 release files

2.8.0

2 release files

2.7.1

2 release files

2.7.0

2 release files

2.6.0

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.1

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

2.0.0

2 release files

1.12.1

2 release files

1.12.0

2 release files

1.11.4

2 release files

1.11.3

2 release files

1.10.7

2 release files

1.10.6

2 release files

1.10.5

2 release files

1.10.4

2 release files

1.10.3

2 release files

1.10.2

2 release files

1.10.1

2 release files

1.10.0

2 release files

1.9.0

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page