You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+22-9
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,15 @@
1
-
# Proposal: `pymc-experimental` repository
1
+
# Welcome to `pymc-experimental`
2
2
3
-
As PyMC continues to mature and expand its functionality to accomodate more domains of application, we increasingly see cutting-edge methodologies, highly specialized statistical distributions, and complex models appear. While this adds to the functinoality and relevance of the project, it can also introduce instability and impose a burden on testing and quality control. To help address this, a `pymc-experimental` respository could act as 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.
3
+
As PyMC continues to mature and expand its functionality to accomodate more domains of application, we increasingly see cutting-edge methodologies, highly specialized statistical distributions, and complex models appear.
4
+
While this adds to the functinoality and relevance of the project, it can also introduce instability and impose a burden on testing and quality control.
5
+
To reduce the burden on the main `pymc` repository, this `pymc-experimental` respository can become the aggregator & testing ground for new additions to PyMC.
6
+
This 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.
4
7
5
-
If implemented thoughtfully, a `pymc-experimental` repository could act 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. This would improve the stability and streamline the testing overhead of the `pymc` respository.
8
+
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.
9
+
We hope that this improves the stability and streamlines the testing overhead of the `pymc` respository.
6
10
7
-
`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`:
11
+
`pymc-experimental` would be designed to mirror the namespaces in `pymc` to make usage and migration as easy as possible.
12
+
For example, a `ParabolicFractal` distribution could be used analogously to those in `pymc`:
8
13
9
14
```python
10
15
import pymc as pm
@@ -22,22 +27,30 @@ with pm.Model():
22
27
23
28
### What belongs in `pymc-experimental`?
24
29
25
-
- newly-implemented statistical methodologies
30
+
- newly-implemented statistical methods, for example diagnostics or step methods
26
31
- distributions that are tricky to sample from or test
27
32
- infrequently-used fitting methods or distributions
28
33
- any code that requires additional optimization before it can be used in practice
29
34
30
35
31
36
### What does not belong in `pymc-experimental`?
37
+
- Case studies
38
+
- Implementations that cannot be applied generically
32
39
33
40
34
-
### Should `pymc-experimental` be a submodule?
41
+
### Should there be more than one add-on repository?
35
42
43
+
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?
44
+
For exmaple, `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 could reside in a `pymc-extras` (or similar) repository.
36
45
37
-
### Should there be more than one add-on repository?
38
46
39
-
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 exmaple, `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 could reside in a `pymc-extras` (or similar) repository.
47
+
### Unanswered questions & ToDos
48
+
This project is still young and many things have not been answered or implemented.
49
+
Please get involved!
40
50
51
+
* What are guidlines for organizing submodules?
52
+
* 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.
53
+
* How can we minimize the additional burden of additional project repositories?
54
+
* ToDo: Setting up a basic CI pipeline
41
55
42
-
### How can we minimize the additional burden of additional project repositories?
0 commit comments