Skip to main content

Welcome to pymc-experimental

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-experimental 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 any code that may be inappropriate to include in the pymc repository, but may want to be made available to users.

The pymc-experimental 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-experimental 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_experimental as pmx

with pm.Model():

    alpha = pmx.ParabolicFractal('alpha', b=1, c=1)

    ...

Questions

What belongs in pymc-experimental?

  • 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-experimental?

  • 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-experimental 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.

Metadata

Release files for pymc-experimental 0.1.4

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

Source distribution (sdist)

Source distribution for pymc-experimental 0.1.4
File Size Uploaded
pymc_experimental-0.1.4.tar.gz 205.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymc-experimental 0.1.4
File Interpreter ABI Platform
pymc_experimental-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 456.7 kB

Release files / pymc_experimental-0.1.4.tar.gz

Download URL pymc_experimental-0.1.4.tar.gz
Size 205.2 kB
Tags Source
SHA-256 checksum
How to use checksums
ed1b0ea9fbe1b5f6d24d0adf646743dec6aab74de0b1adced1be23dae2fcdd9d
BLAKE2b-256 checksum
How to use checksums
65906e2a60886752f28f92effa09a0167ad80548ca35eee164bc5f87f443706f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release files / pymc_experimental-0.1.4-py3-none-any.whl

Download URL pymc_experimental-0.1.4-py3-none-any.whl
Size 251.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e84f167e0243402c9ce8e494248b0c583399e462edf15f761a237fcd9701a54c
BLAKE2b-256 checksum
How to use checksums
b04550025190cd313f072bd9ab3521ea434b74d438ebedacc06d457745e49ac6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.8

Release history Release notifications | RSS feed

This release

0.1.4 This release

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

0.0.18

2 release files

0.0.17

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.3

2 release files

0.0.2

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