{"id":28946240,"url":"https://github.com/pymc-devs/pymc-extras","last_synced_at":"2026-02-25T09:28:12.916Z","repository":{"id":37078847,"uuid":"434677093","full_name":"pymc-devs/pymc-extras","owner":"pymc-devs","description":"Powerful add-ons for PyMC","archived":false,"fork":false,"pushed_at":"2026-02-16T17:19:29.000Z","size":170339,"stargazers_count":133,"open_issues_count":140,"forks_count":78,"subscribers_count":17,"default_branch":"main","last_synced_at":"2026-02-17T00:32:28.706Z","etag":null,"topics":["analytics","bayesian-statistics","modeling","python"],"latest_commit_sha":null,"homepage":"https://www.pymc.io/projects/extras/","language":"Jupyter Notebook","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/pymc-devs.png","metadata":{"funding":{"github":"numfocus","custom":["https://numfocus.org/donate-to-pymc"]},"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-12-03T17:18:58.000Z","updated_at":"2026-02-14T20:14:14.000Z","dependencies_parsed_at":"2023-02-12T22:45:50.887Z","dependency_job_id":"f6a44704-59a9-44c9-a295-dc8787796cf8","html_url":"https://github.com/pymc-devs/pymc-extras","commit_stats":{"total_commits":263,"total_committers":31,"mean_commits":8.483870967741936,"dds":0.7186311787072244,"last_synced_commit":"5de65eb2c8398d45df67faa146835c369c4dc7d8"},"previous_names":["pymc-devs/pymc-extras","pymc-devs/pymc-experimental"],"tags_count":37,"template":false,"template_full_name":null,"purl":"pkg:github/pymc-devs/pymc-extras","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pymc-devs%2Fpymc-extras","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pymc-devs%2Fpymc-extras/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pymc-devs%2Fpymc-extras/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pymc-devs%2Fpymc-extras/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pymc-devs","download_url":"https://codeload.github.com/pymc-devs/pymc-extras/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pymc-devs%2Fpymc-extras/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29815952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T05:36:42.804Z","status":"ssl_error","status_checked_at":"2026-02-25T05:36:31.934Z","response_time":61,"last_error":"SSL_read: 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":["analytics","bayesian-statistics","modeling","python"],"created_at":"2025-06-23T08:05:17.961Z","updated_at":"2026-02-25T09:28:12.873Z","avatar_url":"https://github.com/pymc-devs.png","language":"Jupyter Notebook","funding_links":["https://github.com/sponsors/numfocus","https://numfocus.org/donate-to-pymc"],"categories":[],"sub_categories":[],"readme":"# Welcome to `pymc-extras`\n\u003ca href=\"https://gitpod.io/#https://github.com/pymc-devs/pymc-extras\"\u003e\n  \u003cimg\n    src=\"https://img.shields.io/badge/Contribute%20with-Gitpod-908a85?logo=gitpod\"\n    alt=\"Contribute with Gitpod\"\n  /\u003e\n\u003c/a\u003e\n\u003cimg\n  src=\"https://codecov.io/gh/pymc-devs/pymc-extras/branch/main/graph/badge.svg\"\n  alt=\"Codecov Badge\"\n/\u003e\n\nAs PyMC continues to mature and expand its functionality to accommodate more domains of application, we increasingly see cutting-edge methodologies, highly specialized statistical distributions, and complex models appear.\nWhile this adds to the functionality and relevance of the project, it can also introduce instability and impose a burden on testing and quality control.\nTo reduce the burden on the main `pymc` repository, this `pymc-extras` repository can become the aggregator and testing ground for new additions to PyMC.\nThis may include unusual probability distributions, advanced model fitting algorithms, innovative yet not fully tested methods, or niche functionality that might not fit in the main PyMC repository, but still may be of interest to users.\n\nThe `pymc-extras` repository can be understood as the first step in the PyMC development pipeline, where all novel code is introduced until it is obvious that it belongs in the main repository.\nWe hope that this organization improves the stability and streamlines the testing overhead of the `pymc` repository, while allowing users and developers to test and evaluate cutting-edge methods and not yet fully mature features.\n\n`pymc-extras` would be designed to mirror the namespaces in `pymc` to make usage and migration as easy as possible.\nFor example, a `ParabolicFractal` distribution could be used analogously to those in `pymc`:\n\n```python\nimport pymc as pm\nimport pymc_extras as pmx\n\nwith pm.Model():\n  alpha = pmx.ParabolicFractal('alpha', b=1, c=1)\n\n  ...\n\n```\n\n## Questions\n\n### What belongs in `pymc-extras`?\n\n- newly-implemented statistical methods, for example step methods or model construction helpers\n- distributions that are tricky to sample from or test\n- infrequently-used fitting methods or distributions\n- any code that requires additional optimization before it can be used in practice\n\n\n### What does not belong in `pymc-extras`?\n- Case studies\n- Implementations that cannot be applied generically, for example because they are tied to variables from a toy example\n\n\n### Should there be more than one add-on repository?\n\nSince there is a lot of code that we may not want in the main repository, does it make sense to have more than one additional repository?\nFor example, `pymc-extras` may just include methods that are not fully developed, tested and trusted, while code that is known to work well and has adequate test coverage, but is still too specialized to become part of `pymc` could reside in a `pymc-extras` (or similar) repository.\n\n\n### Unanswered questions \u0026 ToDos\nThis project is still young and many things have not been answered or implemented.\nPlease get involved!\n\n* What are guidelines for organizing submodules?\n  * Proposal: No default imports of WIP/unstable submodules. By importing manually we can avoid breaking the package if a submodule breaks, for example because of an updated dependency.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpymc-devs%2Fpymc-extras","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpymc-devs%2Fpymc-extras","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpymc-devs%2Fpymc-extras/lists"}