{"id":21494124,"url":"https://github.com/grburgess/popsynth","last_synced_at":"2026-03-04T09:02:28.626Z","repository":{"id":33509142,"uuid":"152276434","full_name":"grburgess/popsynth","owner":"grburgess","description":"A generic flux/parameter population synthesis code","archived":false,"fork":false,"pushed_at":"2023-12-06T11:03:58.000Z","size":130127,"stargazers_count":14,"open_issues_count":1,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-28T16:54:53.504Z","etag":null,"topics":["astronomy","astrophysics","population","population-synthesis","simulation","statistics"],"latest_commit_sha":null,"homepage":"https://popsynth.readthedocs.io/en/latest/?badge=latest","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grburgess.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-10-09T15:33:49.000Z","updated_at":"2023-09-25T17:01:56.000Z","dependencies_parsed_at":"2025-04-14T15:57:28.273Z","dependency_job_id":"380d460e-f875-4a8f-803f-4a6bcec7fbfb","html_url":"https://github.com/grburgess/popsynth","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"purl":"pkg:github/grburgess/popsynth","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grburgess%2Fpopsynth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grburgess%2Fpopsynth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grburgess%2Fpopsynth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grburgess%2Fpopsynth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grburgess","download_url":"https://codeload.github.com/grburgess/popsynth/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grburgess%2Fpopsynth/sbom","scorecard":{"id":444231,"data":{"date":"2025-08-11","repo":{"name":"github.com/grburgess/popsynth","commit":"86999d3a88724bb8ab7a231d63385a14af462cdb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"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":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","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":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/autoyapf.yml:1","Warn: no topLevel permission defined: .github/workflows/build_test.yml:1","Warn: no topLevel permission defined: .github/workflows/docs.yml:1","Warn: no topLevel permission defined: .github/workflows/paper.yml:1","Info: no jobLevel write permissions found"],"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":"Code-Review","score":4,"reason":"Found 2/5 approved changesets -- score normalized to 4","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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"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":"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":"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/autoyapf.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/autoyapf.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/autoyapf.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/autoyapf.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_test.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/build_test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_test.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/build_test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_test.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/build_test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_test.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/build_test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_test.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/build_test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_test.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/build_test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build_test.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/build_test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build_test.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/build_test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:137: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:150: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:9: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/docs.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/docs.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/docs.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/paper.yml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/paper.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/paper.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/paper.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/paper.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/paper.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/paper.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/paper.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/paper.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/paper.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/paper.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/grburgess/popsynth/paper.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/build_test.yml:59","Warn: pipCommand not pinned by hash: .github/workflows/build_test.yml:81","Warn: pipCommand not pinned by hash: .github/workflows/build_test.yml:27","Warn: pipCommand not pinned by hash: .github/workflows/build_test.yml:28","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:20","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:21","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:22","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:23","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:58","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:59","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:60","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:61","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:68","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:77","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:78","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:79","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:80","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:112","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:113","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:114","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:115","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:116","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:126","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:127","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:128","Warn: pipCommand not pinned by hash: .github/workflows/docs.yml:129","Info:   0 out of  21 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  10 third-party GitHubAction dependencies pinned","Info:   0 out of  26 pipCommand dependencies pinned"],"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":"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":"Vulnerabilities","score":0,"reason":"14 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-h2x6-5jx5-46hf","Warn: Project is vulnerable to: GHSA-29gw-9793-fvw7","Warn: Project is vulnerable to: PYSEC-2015-24 / GHSA-4vwq-x64q-j4cj","Warn: Project is vulnerable to: PYSEC-2017-46 / GHSA-66gw-5xpf-gfp5","Warn: Project is vulnerable to: PYSEC-2015-25 / GHSA-92mr-v722-f48m","Warn: Project is vulnerable to: PYSEC-2022-12 / GHSA-pq7m-3gw7-gq5x","Warn: Project is vulnerable to: PYSEC-2017-47","Warn: Project is vulnerable to: GHSA-6p56-wp2h-9hxr","Warn: Project is vulnerable to: GHSA-fpfv-jqm9-f5jm","Warn: Project is vulnerable to: PYSEC-2020-73","Warn: Project is vulnerable to: PYSEC-2019-156 / GHSA-xp76-357g-9wqq","Warn: Project is vulnerable to: PYSEC-2023-102","Warn: Project is vulnerable to: PYSEC-2023-114","Warn: Project is vulnerable to: PYSEC-2017-74"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 29 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-19T06:17:37.008Z","repository_id":33509142,"created_at":"2025-08-19T06:17:37.008Z","updated_at":"2025-08-19T06:17:37.008Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30076935,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["astronomy","astrophysics","population","population-synthesis","simulation","statistics"],"created_at":"2024-11-23T15:49:10.905Z","updated_at":"2026-03-04T09:02:28.605Z","avatar_url":"https://github.com/grburgess.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![CI](https://github.com/grburgess/popsynth/workflows/CI/badge.svg?branch=master)\n[![codecov](https://codecov.io/gh/grburgess/popsynth/branch/master/graph/badge.svg)](https://codecov.io/gh/grburgess/popsynth)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5d02c9e6f5c540989a615eb1575863e3)](https://app.codacy.com/gh/grburgess/popsynth?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=grburgess/popsynth\u0026utm_campaign=Badge_Grade_Settings)\n[![Documentation Status](https://readthedocs.org/projects/popsynth/badge/?version=latest)](http://jmichaelburgess.com/popsynth/)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5109590.svg)](https://doi.org/10.5281/zenodo.5109590)\n![PyPI](https://img.shields.io/pypi/v/popsynth)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/popsynth)\n [![status](https://joss.theoj.org/papers/a52e4c2c355396e7946917996502aac0/status.svg)](https://joss.theoj.org/papers/a52e4c2c355396e7946917996502aac0)\n# popsynth\n\n![alt text](https://raw.githubusercontent.com/grburgess/popsynth/master/external/logo.png)\n\n`popsynth` core function is to create **observed** surveys from **latent** population models. \n\nFirst, let's define what a population of objects is in terms of a\ngenerative model. The two main ingredients are the objects' spatial\ndistribution (\u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\lambda(\\vec{r},\\vec{\\psi})\"\u003e) and the distribution of\ntheir inherent properties (\u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\pi(\\vec{\\phi} | \\vec{\\psi})\"\u003e). Here,\n\u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\vec{\\psi}\"\u003e are the latent population parameters, \u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\vec{r}\"\u003e are the\nspatial locations of the objects, and \u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\vec{\\phi}\"\u003e are the properties\nof the individual objects (luminosity, spin, viewing angle, mass,\netc.). The spatial distribution is defined such that:\n\n\u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\frac{d \\Lambda}{dt}(\\vec{\\psi}) = \\int d r \\frac{dV}{dr} \\lambda(\\vec{r}, \\vec{\\psi}))\"\u003e\n\nis the intensity of objects for a given set of population\nparameters. With these definitions we can define the probability for\nan object to have position \u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\vec{r}\"\u003e and properties \u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\vec{\\phi}\"\u003e as\n\n\u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\pi(\\vec{r}, \\vec{\\phi} | \\vec{\\psi}) = \\frac{\\lambda(\\vec{r}, \\vec{\\psi})  \\pi(\\vec{\\phi} | \\vec{\\psi})}{ \\int d r \\frac{dV}{dr} \\lambda(\\vec{r}, \\vec{\\psi})}\"\u003e\n\n`popsynth` allows you to specify these spatial and property\ndistributions in an object-oriented way to create surveys. The final\ningredient to creating a sample for a survey is knowing how many\nobjects to sample from the population (before any selection effects\nare applied). Often, we see this number in simulation frameworks\npresented as \"we draw N objects to guarantee we have enough.\" This is\nincorrect. A survey takes place over a given period of time (\u003cimg src=\"https://render.githubusercontent.com/render/math?math=\\Delta t\"\u003e) in which observed objects are counted. This is a description of a\nPoisson process. Thus, the number of objects in a simulation of this\nsurvey is a draw from a Poisson distribution:\n\n\u003cimg src=\"https://render.githubusercontent.com/render/math?math=N \\sim Poisson \\left( \\Delta t \\frac{d\\Lambda}{dt} \\right)\"\u003e\n\nThus, ```popsynth``` first numerically integrates the spatial\ndistribution to determine the Poisson rate parameter for the given\n$\\vec{\\psi}$, then makes a Poisson draw for the number of objects in\nthe population survey. For each object, positions and properties are\ndrawn with arbitrary dependencies between them. Finally, selection\nfunctions are applied to either latent or observed (with or without\nmeasurement error) properties.\n\n\n**Note:** If instead we draw a preset number of objects, as is done in\nmany astrophysical population simulation frameworks, it is equivalent\nto running a survey up until that specific number of objects is\ndetected. This process is distributed as a negative binomial process,\ni.e, wait for a number of successes and requires a different\nstatistical framework to compare models to data.\n\n\n## Installation\n```bash\npip install popsynth\n```\n\n\nNote: **This is not synth pop!** If you were looking for some hard driving beats out of a yamaha keyboard with bells... look elsewhere\n\n![alt text](https://raw.githubusercontent.com/grburgess/popsynth/master/external/pop.gif)\n\n\n## Contributing\n\nContributions to ```popsynth``` are always welcome. They can come in the form of:\n\n### Bug reports\n\nPlease use the [Github issue tracking system for any\nbugs](https://github.com/grburgess/popsynth/issues), for questions,\nand or feature requests.\n\n### Code and more distributions\n\nWhile it is easy to create custom distributions in your local setup,\nif you would like to add them to popsynth directly, go ahead. Please\ninclude tests to ensure that your contributions are compatible with\nthe code and can be maintained in the long term.\n\n### Documentation\n\nAdditions or examples, tutorials, or better explanations are always\nwelcome. To ensure that the documentation builds with the current\nversion of the software, I am using\n[jupytext](https://jupytext.readthedocs.io/en/latest/) to write the\ndocumentation in Markdown. These are automatically converted to and\nexecuted as jupyter notebooks when changes are pushed to Github.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrburgess%2Fpopsynth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrburgess%2Fpopsynth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrburgess%2Fpopsynth/lists"}