{"id":32177487,"url":"https://github.com/pslmodels/behavioral-responses","last_synced_at":"2026-03-09T14:06:42.479Z","repository":{"id":33705386,"uuid":"153316641","full_name":"PSLmodels/Behavioral-Responses","owner":"PSLmodels","description":"PSL module that estimates partial-equilibrium behavioral responses to tax changes simulated by Tax-Calculator","archived":false,"fork":false,"pushed_at":"2024-03-20T02:20:16.000Z","size":190,"stargazers_count":7,"open_issues_count":9,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-10-11T12:32:23.763Z","etag":null,"topics":["psl-cataloged"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PSLmodels.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-10-16T16:18:01.000Z","updated_at":"2025-08-27T12:18:12.000Z","dependencies_parsed_at":"2024-04-13T22:52:44.125Z","dependency_job_id":null,"html_url":"https://github.com/PSLmodels/Behavioral-Responses","commit_stats":{"total_commits":165,"total_committers":6,"mean_commits":27.5,"dds":"0.33333333333333337","last_synced_commit":"232abc1e6b9f0a2b2f224ad887af3c19019d28d3"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/PSLmodels/Behavioral-Responses","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSLmodels%2FBehavioral-Responses","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSLmodels%2FBehavioral-Responses/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSLmodels%2FBehavioral-Responses/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSLmodels%2FBehavioral-Responses/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PSLmodels","download_url":"https://codeload.github.com/PSLmodels/Behavioral-Responses/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PSLmodels%2FBehavioral-Responses/sbom","scorecard":{"id":107050,"data":{"date":"2025-08-11","repo":{"name":"github.com/PSLmodels/Behavioral-Responses","commit":"232abc1e6b9f0a2b2f224ad887af3c19019d28d3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.1,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":1,"reason":"Found 1/8 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 27 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T11:17:44.957Z","repository_id":33705386,"created_at":"2025-08-15T11:17:44.957Z","updated_at":"2025-08-15T11:17:44.957Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280325326,"owners_count":26311424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["psl-cataloged"],"created_at":"2025-10-21T20:08:17.420Z","updated_at":"2025-10-21T20:08:19.433Z","avatar_url":"https://github.com/PSLmodels.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![PSL cataloged](https://img.shields.io/badge/PSL-cataloged-a0a0a0.svg)](https://www.PSLmodels.org)\n[![Python 3.6+](https://img.shields.io/badge/python-3.6%2B-blue.svg)](https://www.python.org/downloads/release/python-360/)\n[![Build Status](https://travis-ci.org/PSLmodels/Behavioral-Responses.svg?branch=master)](https://travis-ci.org/PSLmodels/Behavioral-Responses)\n[![Codecov](https://codecov.io/gh/PSLmodels/Behavioral-Responses/branch/master/graph/badge.svg)](https://codecov.io/gh/PSLmodels/Behavioral-Responses)\n\n\nBehavioral-Responses\n====================\n\nThis document tells you how to begin using or contributing to\nBehavioral-Responses.  Begin by reading the [Tax-Calculator\ndocumentation](https://PSLmodels.github.io/Tax-Calculator/) and then\nthe [Behavioral-Responses user\nguide](https://PSLmodels.github.io/Behavioral-Responses/) that\ndescribes how to write Python programs that use Behavioral-Responses\ntogether with Tax-Calculator on your own computer.\n\n\nWhat is Behavioral-Responses?\n-----------------------------\n\nBehavioral-Responses, which is part of the Policy Simulation Library\n(PSL) collection of USA tax models, estimates partial-equilibrium\nbehavioral responses to changes in the US federal individual income\nand payroll tax system as simulated by Tax-Calculator.  It provides\ntwo ways of doing this: (1) the `response` function, which contains\nhigher-level logic that supports the Tax-Brain \"Partial Equilibrium\nSimulation\" capability and requires specification of only the\nelasticities, and (2) the `quantity_response` function, which contains\nlower-level logic that requires specification of the quantity whose\nresponse is to be estimated, requires specification of the marginal\ntax rates and elasticities to be used in the response calculation, and\nallows the response estimation to be conducted by subgroup with\ndifferent elasticities for each subgroup.\n\n\nDisclaimer\n----------\n\nResults will change as the underlying models improve. A fundamental\nreason for adopting open source methods in this project is so that\npeople from all backgrounds can contribute to the models that our\nsociety uses to assess economic policy; when community-contributed\nimprovements are incorporated, the model will produce different\nresults.\n\n\nGetting Started\n---------------\n\nIf you want to **report a bug**, create a new issue\n[here](https://github.com/PSLmodels/Behavioral-Responses/issues)\nproviding details on what you think is wrong with Behavioral-Responses.\n\nIf you want to **request an enhancement**, create a new issue\n[here](https://github.com/PSLmodels/Behavioral-Responses/issues)\nproviding details on what you think should be added to Behavioral-Responses.\n\nIf you want to **propose code changes**, follow the directions in the\n[Tax-Calculator contributor\nguide](https://taxcalc.pslmodels.org/contributing/contributor_guide.html)\non how to fork and clone the Behavioral-Responses git repository.\nBefore developing any code changes be sure to read completely the\nTax-Calculator contributor guide and then read about the\n[Tax-Calculator pull-request\nworkflow](https://taxcalc.pslmodels.org/contributing/pr_workflow.html).\nWhen reading both documents, be sure to mentally substitute\nBehavioral-Response for Tax-Calculator and behresp for taxcalc.\n\nThe Behavioral-Responses [release\nhistory](https://github.com/PSLmodels/Behavioral-Responses/blob/master/RELEASES.md#tax-calculator-release-history)\nprovides a high-level summary of past pull requests and access to a\ncomplete list of merged, closed, and pending pull requests.\n\n\nCiting Behavioral-Responses\n---------------------------\n\nPlease cite the source of your analysis as \"Behavioral-Responses\nrelease #.#.#, author's calculations.\" If you wish to link to\nBehavioral-Responses,\nhttps://PSLmodels.github.io/Behavioral-Responses/ is preferred.\nAdditionally, we strongly recommend that you describe the\nelasticity parameters used, and provide a link to the materials\nrequired to replicate your analysis or, at least, note that those\nmaterials are available upon request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpslmodels%2Fbehavioral-responses","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpslmodels%2Fbehavioral-responses","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpslmodels%2Fbehavioral-responses/lists"}