Skip to main content

A home for new additions to PyMC, which may include unusual probability distribitions, advanced model fitting algorithms, or any code that may be inappropriate to include in the pymc repository, but may want to be made available to users.

Project description

Welcome to pymc-extras

Contribute with Gitpod Codecov Badge

As 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. While this adds to the functionality and relevance of the project, it can also introduce instability and impose a burden on testing and quality control. To reduce the burden on the main pymc repository, this pymc-extras repository can become the aggregator and testing ground for new additions to PyMC. This 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.

The 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. We 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.

pymc-extras would be designed to mirror the namespaces in pymc to make usage and migration as easy as possible. For example, a ParabolicFractal distribution could be used analogously to those in pymc:

import pymc as pm
import pymc_extras as pmx

with pm.Model():
  alpha = pmx.ParabolicFractal('alpha', b=1, c=1)

  ...

Questions

What belongs in pymc-extras?

  • newly-implemented statistical methods, for example step methods or model construction helpers
  • distributions that are tricky to sample from or test
  • infrequently-used fitting methods or distributions
  • any code that requires additional optimization before it can be used in practice

What does not belong in pymc-extras?

  • Case studies
  • Implementations that cannot be applied generically, for example because they are tied to variables from a toy example

Should there be more than one add-on repository?

Since 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? For 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.

Unanswered questions & ToDos

This project is still young and many things have not been answered or implemented. Please get involved!

  • What are guidelines for organizing submodules?
    • 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.

Project details


Download files

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

Source Distribution

pymc_extras-0.11.0.tar.gz (587.5 kB view details)

Uploaded Source

Built Distribution

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

pymc_extras-0.11.0-py3-none-any.whl (276.0 kB view details)

Uploaded Python 3

File details

Details for the file pymc_extras-0.11.0.tar.gz.

File metadata

  • Download URL: pymc_extras-0.11.0.tar.gz
  • Upload date:
  • Size: 587.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pymc_extras-0.11.0.tar.gz
Algorithm Hash digest
SHA256 c726d26d2ed92e632f2460ef72293f03df17a1b2d4f5c1d004dc86e65d265b0a
MD5 d1f04913d8479f382f7a77fe5296bab9
BLAKE2b-256 2cb9d11ae49308b4a5799a9954f7aed276e8056cf496e8402d112f0480c583b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymc_extras-0.11.0.tar.gz:

Publisher: pypi.yml on pymc-devs/pymc-extras

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymc_extras-0.11.0-py3-none-any.whl.

File metadata

  • Download URL: pymc_extras-0.11.0-py3-none-any.whl
  • Upload date:
  • Size: 276.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for pymc_extras-0.11.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e58a4b8c9c165f985facae0284b10cc8d317e41f489a0edd1fd37c4934d36e57
MD5 81a9ab571bea360c5ce1165e853d644f
BLAKE2b-256 a96e864f6a29af5b186e346a62bedeb2d799c2637b0666e85889524231a7e49d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymc_extras-0.11.0-py3-none-any.whl:

Publisher: pypi.yml on pymc-devs/pymc-extras

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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