From fcee3b6342f6cb229e1c0ce29ccb257461c09c4b Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Tue, 8 Feb 2022 22:03:09 -0500 Subject: [PATCH 01/18] Revised community naming/mission --- GOVERNANCE.md | 52 +++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 902de1595a..a91d91cd15 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -79,7 +79,7 @@ also members of all the groups listed above: Recurring Contributors comprise what we understand as the PyMC Team. The Team will generally act as a single unit, except for some specific questions where dedicated teams will prevail. -The PyMC project currently has Developer, Documentation and Discourse teams. +The PyMC project currently has Developer, Documentation and Community teams. Team members can be part of one, some or none of these dedicated teams. The diagram below should help illustrate this idea. @@ -191,24 +191,24 @@ Contributors don't need to be part of any dedicated team. * Bill Engels (dev) * Brandon T. Willard (dev) * Chris Fonnesbeck (dev, docs) -* Christian Luhmann (discourse) +* Christian Luhmann (community) * Colin Carroll (dev) * Eelke Spaak (dev) * Eric Ma (dev - PyMC Labs) * George Ho (dev) -* Junpeng Lao (dev, discourse) +* Junpeng Lao (dev, community) * Luciano Paz (dev - PyMC Labs) * Martina Cantaro (docs) * Maxim Kochurov (dev - PyMC Labs) * Meenal Jhajharia (docs) * Michael Osthege (dev) -* Oriol Abril-Pla (docs, discourse) +* Oriol Abril-Pla (docs, community) * Osvaldo Martin (dev, docs) -* Ravin Kumar (dev, discourse, docs) -* Ricardo Vieira (dev, discourse) +* Ravin Kumar (dev, community, docs) +* Ricardo Vieira (dev, community) * Robert P. Goldman (dev) * Sayam Kumar (dev, docs) -* Thomas Wiecki (dev, discourse - PyMC Labs) +* Thomas Wiecki (dev, community - PyMC Labs) ## Steering Council @@ -253,10 +253,10 @@ In particular, the Council may: The current Steering Council membership comprises: - Chris Fonnesbeck (dev, docs) -- Junpeng Lao (dev, discourse) -- Oriol Abril-Pla (docs, discourse) -- Ravin Kumar (dev, discourse, docs) -- Thomas Wiecki (dev, discourse - PyMC Labs) +- Junpeng Lao (dev, community) +- Oriol Abril-Pla (docs, community) +- Ravin Kumar (dev, community, docs) +- Thomas Wiecki (dev, community - PyMC Labs) Note that as explained in the [community architecture section](#community-and-team-architecture) and as indicated again in the description of the Steering Council above, @@ -604,7 +604,7 @@ The dedicated teams are work units with two main objectives: better distributing the work related to The Project, and to better showcase all the different tasks involved in The Project to attract more diverse Contributors. -The PyMC project currently has Developer, Documentation and Discourse teams. +The PyMC project currently has Developer, Documentation and Community teams. Team members can be part of one, some or none of these dedicated teams. Team members are expected to participate and join these dedicated teams @@ -630,10 +630,10 @@ write all the documentation for the PyMC library. For current members of the documentation team, refer to the recurrent and core contributor membership sections. -### Discourse team -The focus of the Discourse team is managing and energizing the PyMC Discourse. +### Community team +The focus of the Community team is activities intended to nuture, energize, and grow the community of PyMC users and contributors. -For current members of the discourse team, refer to the recurrent and +For current members of the community team, refer to the recurrent and core contributor membership sections. ### "No-team" tasks @@ -668,7 +668,7 @@ In addition, Council members are given admin rights to all repositories within the [pymc-devs](https://github.com/pymc-devs) organization. #### Discourse -Similarly to the above section, Discourse permissions are also mapped to the discourse team +Similarly to the above section, Discourse permissions are also mapped to the community team and the two contributor roles. Role: @@ -679,13 +679,13 @@ Role: #### Accounts and services ownership and administration The PyMC Project also has accounts and hosts services on several platforms -such as GitHub, Discourse, Twitter, ReadTheDocs or Medium. +such as GitHub, Discourse, Twitter, ReadTheDocs, and Medium. If possible, all Council Members and relevant Core Contributors should have -admin rights on those platforms. -If this were not possible, admin rights should be distributed between +administrative rights on those platforms. +If this is not possible, administrative rights should be distributed among Council Members and relevant Core Contributors and establish a rotation -of the admin rights every 1-2 years. +of the administrative rights every 1-2 years. #### Permission examples This section lists some imaginary contributors with their teams and roles to @@ -693,8 +693,8 @@ provide examples on how to assign permissions:
See permission examples -- Arnau, recurrent contributor, discourse team - * Added to the Discourse PyMC_team and given "leader" trust level +- Arnau, recurrent contributor, community team + * Added to the Community PyMC_team and given "leader" trust level * Added to all private communication channels * No permissions on any GitHub @@ -705,21 +705,21 @@ provide examples on how to assign permissions: of the pymc-devs organization - Carme, core contributor, doc team - * Added to the Discourse PyMC_team and given "leader" trust level + * Added to the community PyMC_team and given "leader" trust level * Added to all private communication channels * Write permissions on pymc-examples and resources repositories, triage permissions to pymc and pymc-experimental repositories * Admin access to ReadTheDocs accounts -- Dolors, core contributor, dev and discourse teams - * Added to the Discourse PyMC_team and given "leader" trust level, +- Dolors, core contributor, dev and community teams + * Added to the Community PyMC_team and given "leader" trust level, given moderator permissions on Discourse (that might be rotating and not always active) * Added to all private communication channels * Write permissions on pymc and pymc-experimental repositories, triage permissions to pymc-examples and resources repositories - Eudald, core contributor, no dedicated team membership - * Added to the Discourse PyMC_team and given "leader" trust level + * Added to the Community PyMC_team and given "leader" trust level * Added to all private communication channels * Triage permissions on all repositories * Access to pymc_devs twitter account as they are the main manager From 69001cd556ec00bbbacc2d274e0cdfc326bf3e5d Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Sat, 19 Mar 2022 22:50:19 -0400 Subject: [PATCH 02/18] make dist signatures consistent --- pymc/distributions/continuous.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index 8a4b731c49..b55a9054d5 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1662,7 +1662,7 @@ class AsymmetricLaplace(Continuous): rv_op = asymmetriclaplace @classmethod - def dist(cls, b, kappa, mu=0, *args, **kwargs): + def dist(cls, kappa, mu, b, *args, **kwargs): b = at.as_tensor_variable(floatX(b)) kappa = at.as_tensor_variable(floatX(kappa)) mu = mu = at.as_tensor_variable(floatX(mu)) @@ -1901,7 +1901,7 @@ class StudentT(Continuous): rv_op = studentt @classmethod - def dist(cls, nu, mu=0, lam=None, sigma=None, *args, **kwargs): + def dist(cls, nu=1, mu=0, sigma=None, lam=None, *args, **kwargs): nu = at.as_tensor_variable(floatX(nu)) lam, sigma = get_tau_sigma(tau=lam, sigma=sigma) sigma = at.as_tensor_variable(sigma) From c477181fc19391101dcda825833577851a0dc2f6 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Sun, 20 Mar 2022 13:58:25 -0400 Subject: [PATCH 03/18] revert unrelated changes --- GOVERNANCE.md | 53 ++++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index a91d91cd15..36ed9371ff 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -79,7 +79,7 @@ also members of all the groups listed above: Recurring Contributors comprise what we understand as the PyMC Team. The Team will generally act as a single unit, except for some specific questions where dedicated teams will prevail. -The PyMC project currently has Developer, Documentation and Community teams. +The PyMC project currently has Developer, Documentation and Discourse teams. Team members can be part of one, some or none of these dedicated teams. The diagram below should help illustrate this idea. @@ -191,24 +191,24 @@ Contributors don't need to be part of any dedicated team. * Bill Engels (dev) * Brandon T. Willard (dev) * Chris Fonnesbeck (dev, docs) -* Christian Luhmann (community) +* Christian Luhmann (discourse) * Colin Carroll (dev) * Eelke Spaak (dev) * Eric Ma (dev - PyMC Labs) * George Ho (dev) -* Junpeng Lao (dev, community) +* Junpeng Lao (dev, discourse) * Luciano Paz (dev - PyMC Labs) * Martina Cantaro (docs) * Maxim Kochurov (dev - PyMC Labs) * Meenal Jhajharia (docs) * Michael Osthege (dev) -* Oriol Abril-Pla (docs, community) +* Oriol Abril-Pla (docs, discourse) * Osvaldo Martin (dev, docs) -* Ravin Kumar (dev, community, docs) -* Ricardo Vieira (dev, community) +* Ravin Kumar (dev, discourse, docs) +* Ricardo Vieira (dev, discourse) * Robert P. Goldman (dev) * Sayam Kumar (dev, docs) -* Thomas Wiecki (dev, community - PyMC Labs) +* Thomas Wiecki (dev, discourse - PyMC Labs) ## Steering Council @@ -253,10 +253,10 @@ In particular, the Council may: The current Steering Council membership comprises: - Chris Fonnesbeck (dev, docs) -- Junpeng Lao (dev, community) -- Oriol Abril-Pla (docs, community) -- Ravin Kumar (dev, community, docs) -- Thomas Wiecki (dev, community - PyMC Labs) +- Junpeng Lao (dev, discourse) +- Oriol Abril-Pla (docs, discourse) +- Ravin Kumar (dev, discourse, docs) +- Thomas Wiecki (dev, discourse - PyMC Labs) Note that as explained in the [community architecture section](#community-and-team-architecture) and as indicated again in the description of the Steering Council above, @@ -604,7 +604,7 @@ The dedicated teams are work units with two main objectives: better distributing the work related to The Project, and to better showcase all the different tasks involved in The Project to attract more diverse Contributors. -The PyMC project currently has Developer, Documentation and Community teams. +The PyMC project currently has Developer, Documentation and Discourse teams. Team members can be part of one, some or none of these dedicated teams. Team members are expected to participate and join these dedicated teams @@ -630,10 +630,10 @@ write all the documentation for the PyMC library. For current members of the documentation team, refer to the recurrent and core contributor membership sections. -### Community team -The focus of the Community team is activities intended to nuture, energize, and grow the community of PyMC users and contributors. +### Discourse team +The focus of the Discourse team is managing and energizing the PyMC Discourse. -For current members of the community team, refer to the recurrent and +For current members of the discourse team, refer to the recurrent and core contributor membership sections. ### "No-team" tasks @@ -668,7 +668,7 @@ In addition, Council members are given admin rights to all repositories within the [pymc-devs](https://github.com/pymc-devs) organization. #### Discourse -Similarly to the above section, Discourse permissions are also mapped to the community team +Similarly to the above section, Discourse permissions are also mapped to the discourse team and the two contributor roles. Role: @@ -679,13 +679,13 @@ Role: #### Accounts and services ownership and administration The PyMC Project also has accounts and hosts services on several platforms -such as GitHub, Discourse, Twitter, ReadTheDocs, and Medium. +such as GitHub, Discourse, Twitter, ReadTheDocs or Medium. If possible, all Council Members and relevant Core Contributors should have -administrative rights on those platforms. -If this is not possible, administrative rights should be distributed among +admin rights on those platforms. +If this were not possible, admin rights should be distributed between Council Members and relevant Core Contributors and establish a rotation -of the administrative rights every 1-2 years. +of the admin rights every 1-2 years. #### Permission examples This section lists some imaginary contributors with their teams and roles to @@ -693,8 +693,8 @@ provide examples on how to assign permissions:
See permission examples -- Arnau, recurrent contributor, community team - * Added to the Community PyMC_team and given "leader" trust level +- Arnau, recurrent contributor, discourse team + * Added to the Discourse PyMC_team and given "leader" trust level * Added to all private communication channels * No permissions on any GitHub @@ -705,21 +705,21 @@ provide examples on how to assign permissions: of the pymc-devs organization - Carme, core contributor, doc team - * Added to the community PyMC_team and given "leader" trust level + * Added to the Discourse PyMC_team and given "leader" trust level * Added to all private communication channels * Write permissions on pymc-examples and resources repositories, triage permissions to pymc and pymc-experimental repositories * Admin access to ReadTheDocs accounts -- Dolors, core contributor, dev and community teams - * Added to the Community PyMC_team and given "leader" trust level, +- Dolors, core contributor, dev and discourse teams + * Added to the Discourse PyMC_team and given "leader" trust level, given moderator permissions on Discourse (that might be rotating and not always active) * Added to all private communication channels * Write permissions on pymc and pymc-experimental repositories, triage permissions to pymc-examples and resources repositories - Eudald, core contributor, no dedicated team membership - * Added to the Community PyMC_team and given "leader" trust level + * Added to the Discourse PyMC_team and given "leader" trust level * Added to all private communication channels * Triage permissions on all repositories * Access to pymc_devs twitter account as they are the main manager @@ -833,3 +833,4 @@ extra benefits but those will be related to the conference, not the Project. * Sharan Yalburgi (GSoC 2018) * Taku Yoshioka * Tirth Patel (GSoC 2020) + From 1bc3661ca6007e1a74a137759bb59f97563ea0f5 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 21 Mar 2022 10:16:57 -0400 Subject: [PATCH 04/18] update signatures of half/studentT --- GOVERNANCE.md | 1 - pymc/distributions/continuous.py | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 36ed9371ff..902de1595a 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -833,4 +833,3 @@ extra benefits but those will be related to the conference, not the Project. * Sharan Yalburgi (GSoC 2018) * Taku Yoshioka * Tirth Patel (GSoC 2020) - diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index b55a9054d5..4d902ffeb5 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1901,7 +1901,7 @@ class StudentT(Continuous): rv_op = studentt @classmethod - def dist(cls, nu=1, mu=0, sigma=None, lam=None, *args, **kwargs): + def dist(cls, nu, mu=0, *, sigma=None, lam=None, *args, **kwargs): nu = at.as_tensor_variable(floatX(nu)) lam, sigma = get_tau_sigma(tau=lam, sigma=sigma) sigma = at.as_tensor_variable(sigma) @@ -2706,7 +2706,7 @@ class HalfStudentT(PositiveContinuous): Parameters ---------- - nu : tensor_like of float, default 1 + nu : tensor_like of float Degrees of freedom, also known as normality parameter (nu > 0). sigma : tensor_like of float, optional Scale parameter (sigma > 0). Converges to the standard deviation as nu @@ -2729,7 +2729,7 @@ class HalfStudentT(PositiveContinuous): rv_op = halfstudentt @classmethod - def dist(cls, nu=1, sigma=None, lam=None, *args, **kwargs): + def dist(cls, nu, sigma=None, lam=None, *args, **kwargs): nu = at.as_tensor_variable(floatX(nu)) lam, sigma = get_tau_sigma(lam, sigma) sigma = at.as_tensor_variable(sigma) From 61def7717712765bb79c82383e714de7f7e822fe Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 21 Mar 2022 10:51:38 -0400 Subject: [PATCH 05/18] fix args --- pymc/distributions/continuous.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index 4d902ffeb5..362ea50cb2 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1901,7 +1901,7 @@ class StudentT(Continuous): rv_op = studentt @classmethod - def dist(cls, nu, mu=0, *, sigma=None, lam=None, *args, **kwargs): + def dist(cls, nu, mu=0, *, sigma=None, lam=None, **kwargs): nu = at.as_tensor_variable(floatX(nu)) lam, sigma = get_tau_sigma(tau=lam, sigma=sigma) sigma = at.as_tensor_variable(sigma) From f9ac4f0bdca0ef5d69e34bf7c66f0383c5d18fa7 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 21 Mar 2022 13:41:24 -0400 Subject: [PATCH 06/18] update release notes --- RELEASE-NOTES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index e3e9f8e6fc..dacc9a127c 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -27,6 +27,10 @@ Also check out the [milestones](https://github.com/pymc-devs/pymc/milestones) fo All of the above apply to: +- `pm.StudentT` now now requires either `sigma` or `lam` as kwarg +- `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1.0) +- `pm.AsymmetricLaplace` positional arguments re-ordered +- `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 1.0) - BART was removed [#5566](https://github.com/pymc-devs/pymc/pull/5566). It is now available from [pymc-experimental](https://github.com/pymc-devs/pymc-experimental) - ⚠ The library is now named, installed and imported as "pymc". For example: `pip install pymc`. - ⚠ Theano-PyMC has been replaced with Aesara, so all external references to `theano`, `tt`, and `pymc3.theanof` need to be replaced with `aesara`, `at`, and `pymc.aesaraf` (see [4471](https://github.com/pymc-devs/pymc/pull/4471)). From 3fb2844e77ce085c6e64acda7403b4034dc08a53 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 21 Mar 2022 14:02:34 -0400 Subject: [PATCH 07/18] update docstring and release notes --- RELEASE-NOTES.md | 4 ++-- pymc/distributions/continuous.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index dacc9a127c..4ef3a74e2b 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -28,9 +28,9 @@ Also check out the [milestones](https://github.com/pymc-devs/pymc/milestones) fo All of the above apply to: - `pm.StudentT` now now requires either `sigma` or `lam` as kwarg -- `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1.0) +- `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1) - `pm.AsymmetricLaplace` positional arguments re-ordered -- `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 1.0) +- `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 0) - BART was removed [#5566](https://github.com/pymc-devs/pymc/pull/5566). It is now available from [pymc-experimental](https://github.com/pymc-devs/pymc-experimental) - ⚠ The library is now named, installed and imported as "pymc". For example: `pip install pymc`. - ⚠ Theano-PyMC has been replaced with Aesara, so all external references to `theano`, `tt`, and `pymc3.theanof` need to be replaced with `aesara`, `at`, and `pymc.aesaraf` (see [4471](https://github.com/pymc-devs/pymc/pull/4471)). diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index 362ea50cb2..c2646595db 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1648,12 +1648,12 @@ class AsymmetricLaplace(Continuous): Parameters ---------- - b: float - Scale parameter (b > 0) kappa: float Symmetry parameter (kappa > 0) mu: float Location parameter + b: float + Scale parameter (b > 0) See Also: -------- From 6b9490c26e4cf5bfe3c396b03f60733d9da87c04 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Tue, 22 Mar 2022 09:59:32 -0400 Subject: [PATCH 08/18] update halfstudentt test and release notes --- RELEASE-NOTES.md | 2 +- pymc/tests/test_distributions.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 4ef3a74e2b..f87e74e569 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -27,7 +27,7 @@ Also check out the [milestones](https://github.com/pymc-devs/pymc/milestones) fo All of the above apply to: -- `pm.StudentT` now now requires either `sigma` or `lam` as kwarg +- `pm.StudentT` now now requires either `sigma` or `lam` as kwarg [#5628](https://github.com/pymc-devs/pymc/pull/5628) - `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1) - `pm.AsymmetricLaplace` positional arguments re-ordered - `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 0) diff --git a/pymc/tests/test_distributions.py b/pymc/tests/test_distributions.py index 94ab4e7fb7..4324328ab7 100644 --- a/pymc/tests/test_distributions.py +++ b/pymc/tests/test_distributions.py @@ -1617,6 +1617,7 @@ def test_half_studentt(self): Rplus, {"sigma": Rplus}, lambda value, sigma: sp.halfcauchy.logpdf(value, 0, sigma), + extra_args={"nu": 1}, ) def test_skew_normal(self): From 05e6130799741d80b01ed91addd86bbe13d1c25b Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Tue, 8 Feb 2022 22:03:09 -0500 Subject: [PATCH 09/18] Revised community naming/mission --- GOVERNANCE.md | 52 +++++++++++++++++++++++++-------------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 902de1595a..a91d91cd15 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -79,7 +79,7 @@ also members of all the groups listed above: Recurring Contributors comprise what we understand as the PyMC Team. The Team will generally act as a single unit, except for some specific questions where dedicated teams will prevail. -The PyMC project currently has Developer, Documentation and Discourse teams. +The PyMC project currently has Developer, Documentation and Community teams. Team members can be part of one, some or none of these dedicated teams. The diagram below should help illustrate this idea. @@ -191,24 +191,24 @@ Contributors don't need to be part of any dedicated team. * Bill Engels (dev) * Brandon T. Willard (dev) * Chris Fonnesbeck (dev, docs) -* Christian Luhmann (discourse) +* Christian Luhmann (community) * Colin Carroll (dev) * Eelke Spaak (dev) * Eric Ma (dev - PyMC Labs) * George Ho (dev) -* Junpeng Lao (dev, discourse) +* Junpeng Lao (dev, community) * Luciano Paz (dev - PyMC Labs) * Martina Cantaro (docs) * Maxim Kochurov (dev - PyMC Labs) * Meenal Jhajharia (docs) * Michael Osthege (dev) -* Oriol Abril-Pla (docs, discourse) +* Oriol Abril-Pla (docs, community) * Osvaldo Martin (dev, docs) -* Ravin Kumar (dev, discourse, docs) -* Ricardo Vieira (dev, discourse) +* Ravin Kumar (dev, community, docs) +* Ricardo Vieira (dev, community) * Robert P. Goldman (dev) * Sayam Kumar (dev, docs) -* Thomas Wiecki (dev, discourse - PyMC Labs) +* Thomas Wiecki (dev, community - PyMC Labs) ## Steering Council @@ -253,10 +253,10 @@ In particular, the Council may: The current Steering Council membership comprises: - Chris Fonnesbeck (dev, docs) -- Junpeng Lao (dev, discourse) -- Oriol Abril-Pla (docs, discourse) -- Ravin Kumar (dev, discourse, docs) -- Thomas Wiecki (dev, discourse - PyMC Labs) +- Junpeng Lao (dev, community) +- Oriol Abril-Pla (docs, community) +- Ravin Kumar (dev, community, docs) +- Thomas Wiecki (dev, community - PyMC Labs) Note that as explained in the [community architecture section](#community-and-team-architecture) and as indicated again in the description of the Steering Council above, @@ -604,7 +604,7 @@ The dedicated teams are work units with two main objectives: better distributing the work related to The Project, and to better showcase all the different tasks involved in The Project to attract more diverse Contributors. -The PyMC project currently has Developer, Documentation and Discourse teams. +The PyMC project currently has Developer, Documentation and Community teams. Team members can be part of one, some or none of these dedicated teams. Team members are expected to participate and join these dedicated teams @@ -630,10 +630,10 @@ write all the documentation for the PyMC library. For current members of the documentation team, refer to the recurrent and core contributor membership sections. -### Discourse team -The focus of the Discourse team is managing and energizing the PyMC Discourse. +### Community team +The focus of the Community team is activities intended to nuture, energize, and grow the community of PyMC users and contributors. -For current members of the discourse team, refer to the recurrent and +For current members of the community team, refer to the recurrent and core contributor membership sections. ### "No-team" tasks @@ -668,7 +668,7 @@ In addition, Council members are given admin rights to all repositories within the [pymc-devs](https://github.com/pymc-devs) organization. #### Discourse -Similarly to the above section, Discourse permissions are also mapped to the discourse team +Similarly to the above section, Discourse permissions are also mapped to the community team and the two contributor roles. Role: @@ -679,13 +679,13 @@ Role: #### Accounts and services ownership and administration The PyMC Project also has accounts and hosts services on several platforms -such as GitHub, Discourse, Twitter, ReadTheDocs or Medium. +such as GitHub, Discourse, Twitter, ReadTheDocs, and Medium. If possible, all Council Members and relevant Core Contributors should have -admin rights on those platforms. -If this were not possible, admin rights should be distributed between +administrative rights on those platforms. +If this is not possible, administrative rights should be distributed among Council Members and relevant Core Contributors and establish a rotation -of the admin rights every 1-2 years. +of the administrative rights every 1-2 years. #### Permission examples This section lists some imaginary contributors with their teams and roles to @@ -693,8 +693,8 @@ provide examples on how to assign permissions:
See permission examples -- Arnau, recurrent contributor, discourse team - * Added to the Discourse PyMC_team and given "leader" trust level +- Arnau, recurrent contributor, community team + * Added to the Community PyMC_team and given "leader" trust level * Added to all private communication channels * No permissions on any GitHub @@ -705,21 +705,21 @@ provide examples on how to assign permissions: of the pymc-devs organization - Carme, core contributor, doc team - * Added to the Discourse PyMC_team and given "leader" trust level + * Added to the community PyMC_team and given "leader" trust level * Added to all private communication channels * Write permissions on pymc-examples and resources repositories, triage permissions to pymc and pymc-experimental repositories * Admin access to ReadTheDocs accounts -- Dolors, core contributor, dev and discourse teams - * Added to the Discourse PyMC_team and given "leader" trust level, +- Dolors, core contributor, dev and community teams + * Added to the Community PyMC_team and given "leader" trust level, given moderator permissions on Discourse (that might be rotating and not always active) * Added to all private communication channels * Write permissions on pymc and pymc-experimental repositories, triage permissions to pymc-examples and resources repositories - Eudald, core contributor, no dedicated team membership - * Added to the Discourse PyMC_team and given "leader" trust level + * Added to the Community PyMC_team and given "leader" trust level * Added to all private communication channels * Triage permissions on all repositories * Access to pymc_devs twitter account as they are the main manager From 407638623963ee82a7519d3b1704cea389676351 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Sat, 19 Mar 2022 22:50:19 -0400 Subject: [PATCH 10/18] make dist signatures consistent --- pymc/distributions/continuous.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index fa637c0a0b..15851c34ec 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1658,7 +1658,7 @@ class AsymmetricLaplace(Continuous): rv_op = asymmetriclaplace @classmethod - def dist(cls, b, kappa, mu=0, *args, **kwargs): + def dist(cls, kappa, mu, b, *args, **kwargs): b = at.as_tensor_variable(floatX(b)) kappa = at.as_tensor_variable(floatX(kappa)) mu = mu = at.as_tensor_variable(floatX(mu)) @@ -1897,7 +1897,7 @@ class StudentT(Continuous): rv_op = studentt @classmethod - def dist(cls, nu, mu=0, lam=None, sigma=None, *args, **kwargs): + def dist(cls, nu=1, mu=0, sigma=None, lam=None, *args, **kwargs): nu = at.as_tensor_variable(floatX(nu)) lam, sigma = get_tau_sigma(tau=lam, sigma=sigma) sigma = at.as_tensor_variable(sigma) From 9b50644b30387110a99e9169d97d59805eccdd9f Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Sun, 20 Mar 2022 13:58:25 -0400 Subject: [PATCH 11/18] revert unrelated changes --- GOVERNANCE.md | 53 ++++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index a91d91cd15..36ed9371ff 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -79,7 +79,7 @@ also members of all the groups listed above: Recurring Contributors comprise what we understand as the PyMC Team. The Team will generally act as a single unit, except for some specific questions where dedicated teams will prevail. -The PyMC project currently has Developer, Documentation and Community teams. +The PyMC project currently has Developer, Documentation and Discourse teams. Team members can be part of one, some or none of these dedicated teams. The diagram below should help illustrate this idea. @@ -191,24 +191,24 @@ Contributors don't need to be part of any dedicated team. * Bill Engels (dev) * Brandon T. Willard (dev) * Chris Fonnesbeck (dev, docs) -* Christian Luhmann (community) +* Christian Luhmann (discourse) * Colin Carroll (dev) * Eelke Spaak (dev) * Eric Ma (dev - PyMC Labs) * George Ho (dev) -* Junpeng Lao (dev, community) +* Junpeng Lao (dev, discourse) * Luciano Paz (dev - PyMC Labs) * Martina Cantaro (docs) * Maxim Kochurov (dev - PyMC Labs) * Meenal Jhajharia (docs) * Michael Osthege (dev) -* Oriol Abril-Pla (docs, community) +* Oriol Abril-Pla (docs, discourse) * Osvaldo Martin (dev, docs) -* Ravin Kumar (dev, community, docs) -* Ricardo Vieira (dev, community) +* Ravin Kumar (dev, discourse, docs) +* Ricardo Vieira (dev, discourse) * Robert P. Goldman (dev) * Sayam Kumar (dev, docs) -* Thomas Wiecki (dev, community - PyMC Labs) +* Thomas Wiecki (dev, discourse - PyMC Labs) ## Steering Council @@ -253,10 +253,10 @@ In particular, the Council may: The current Steering Council membership comprises: - Chris Fonnesbeck (dev, docs) -- Junpeng Lao (dev, community) -- Oriol Abril-Pla (docs, community) -- Ravin Kumar (dev, community, docs) -- Thomas Wiecki (dev, community - PyMC Labs) +- Junpeng Lao (dev, discourse) +- Oriol Abril-Pla (docs, discourse) +- Ravin Kumar (dev, discourse, docs) +- Thomas Wiecki (dev, discourse - PyMC Labs) Note that as explained in the [community architecture section](#community-and-team-architecture) and as indicated again in the description of the Steering Council above, @@ -604,7 +604,7 @@ The dedicated teams are work units with two main objectives: better distributing the work related to The Project, and to better showcase all the different tasks involved in The Project to attract more diverse Contributors. -The PyMC project currently has Developer, Documentation and Community teams. +The PyMC project currently has Developer, Documentation and Discourse teams. Team members can be part of one, some or none of these dedicated teams. Team members are expected to participate and join these dedicated teams @@ -630,10 +630,10 @@ write all the documentation for the PyMC library. For current members of the documentation team, refer to the recurrent and core contributor membership sections. -### Community team -The focus of the Community team is activities intended to nuture, energize, and grow the community of PyMC users and contributors. +### Discourse team +The focus of the Discourse team is managing and energizing the PyMC Discourse. -For current members of the community team, refer to the recurrent and +For current members of the discourse team, refer to the recurrent and core contributor membership sections. ### "No-team" tasks @@ -668,7 +668,7 @@ In addition, Council members are given admin rights to all repositories within the [pymc-devs](https://github.com/pymc-devs) organization. #### Discourse -Similarly to the above section, Discourse permissions are also mapped to the community team +Similarly to the above section, Discourse permissions are also mapped to the discourse team and the two contributor roles. Role: @@ -679,13 +679,13 @@ Role: #### Accounts and services ownership and administration The PyMC Project also has accounts and hosts services on several platforms -such as GitHub, Discourse, Twitter, ReadTheDocs, and Medium. +such as GitHub, Discourse, Twitter, ReadTheDocs or Medium. If possible, all Council Members and relevant Core Contributors should have -administrative rights on those platforms. -If this is not possible, administrative rights should be distributed among +admin rights on those platforms. +If this were not possible, admin rights should be distributed between Council Members and relevant Core Contributors and establish a rotation -of the administrative rights every 1-2 years. +of the admin rights every 1-2 years. #### Permission examples This section lists some imaginary contributors with their teams and roles to @@ -693,8 +693,8 @@ provide examples on how to assign permissions:
See permission examples -- Arnau, recurrent contributor, community team - * Added to the Community PyMC_team and given "leader" trust level +- Arnau, recurrent contributor, discourse team + * Added to the Discourse PyMC_team and given "leader" trust level * Added to all private communication channels * No permissions on any GitHub @@ -705,21 +705,21 @@ provide examples on how to assign permissions: of the pymc-devs organization - Carme, core contributor, doc team - * Added to the community PyMC_team and given "leader" trust level + * Added to the Discourse PyMC_team and given "leader" trust level * Added to all private communication channels * Write permissions on pymc-examples and resources repositories, triage permissions to pymc and pymc-experimental repositories * Admin access to ReadTheDocs accounts -- Dolors, core contributor, dev and community teams - * Added to the Community PyMC_team and given "leader" trust level, +- Dolors, core contributor, dev and discourse teams + * Added to the Discourse PyMC_team and given "leader" trust level, given moderator permissions on Discourse (that might be rotating and not always active) * Added to all private communication channels * Write permissions on pymc and pymc-experimental repositories, triage permissions to pymc-examples and resources repositories - Eudald, core contributor, no dedicated team membership - * Added to the Community PyMC_team and given "leader" trust level + * Added to the Discourse PyMC_team and given "leader" trust level * Added to all private communication channels * Triage permissions on all repositories * Access to pymc_devs twitter account as they are the main manager @@ -833,3 +833,4 @@ extra benefits but those will be related to the conference, not the Project. * Sharan Yalburgi (GSoC 2018) * Taku Yoshioka * Tirth Patel (GSoC 2020) + From 731026c9a7b89b12d036d689b913b0fa1eb4ece3 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 21 Mar 2022 10:16:57 -0400 Subject: [PATCH 12/18] update signatures of half/studentT --- GOVERNANCE.md | 1 - pymc/distributions/continuous.py | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/GOVERNANCE.md b/GOVERNANCE.md index 36ed9371ff..902de1595a 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -833,4 +833,3 @@ extra benefits but those will be related to the conference, not the Project. * Sharan Yalburgi (GSoC 2018) * Taku Yoshioka * Tirth Patel (GSoC 2020) - diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index 15851c34ec..50a59c9b17 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1897,7 +1897,7 @@ class StudentT(Continuous): rv_op = studentt @classmethod - def dist(cls, nu=1, mu=0, sigma=None, lam=None, *args, **kwargs): + def dist(cls, nu, mu=0, *, sigma=None, lam=None, *args, **kwargs): nu = at.as_tensor_variable(floatX(nu)) lam, sigma = get_tau_sigma(tau=lam, sigma=sigma) sigma = at.as_tensor_variable(sigma) @@ -2705,7 +2705,7 @@ class HalfStudentT(PositiveContinuous): Parameters ---------- - nu : tensor_like of float, default 1 + nu : tensor_like of float Degrees of freedom, also known as normality parameter (nu > 0). sigma : tensor_like of float, optional Scale parameter (sigma > 0). Converges to the standard deviation as nu @@ -2728,7 +2728,7 @@ class HalfStudentT(PositiveContinuous): rv_op = halfstudentt @classmethod - def dist(cls, nu=1, sigma=None, lam=None, *args, **kwargs): + def dist(cls, nu, sigma=None, lam=None, *args, **kwargs): nu = at.as_tensor_variable(floatX(nu)) lam, sigma = get_tau_sigma(lam, sigma) sigma = at.as_tensor_variable(sigma) From 520646b32962692a8fabc9c885e981b3317ea1f0 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 21 Mar 2022 10:51:38 -0400 Subject: [PATCH 13/18] fix args --- pymc/distributions/continuous.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index 50a59c9b17..afd02ff2de 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1897,7 +1897,7 @@ class StudentT(Continuous): rv_op = studentt @classmethod - def dist(cls, nu, mu=0, *, sigma=None, lam=None, *args, **kwargs): + def dist(cls, nu, mu=0, *, sigma=None, lam=None, **kwargs): nu = at.as_tensor_variable(floatX(nu)) lam, sigma = get_tau_sigma(tau=lam, sigma=sigma) sigma = at.as_tensor_variable(sigma) From 9c5d531fee0bb7f59196bdbedd019e27aaf4dc37 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 21 Mar 2022 13:41:24 -0400 Subject: [PATCH 14/18] update release notes --- RELEASE-NOTES.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 0b0d35ab80..1322495c90 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -26,6 +26,10 @@ Also check out the [milestones](https://github.com/pymc-devs/pymc/milestones) fo All of the above apply to: +- `pm.StudentT` now now requires either `sigma` or `lam` as kwarg +- `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1.0) +- `pm.AsymmetricLaplace` positional arguments re-ordered +- `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 1.0) - BART was removed [#5566](https://github.com/pymc-devs/pymc/pull/5566). It is now available from [pymc-experimental](https://github.com/pymc-devs/pymc-experimental) - `BaseStochasticGradient` was removed (see [#5630](https://github.com/pymc-devs/pymc/pull/5630)) - ⚠ The library is now named, installed and imported as "pymc". For example: `pip install pymc`. From c3c39423e3a9189fe00167ea8695574820505bb9 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 21 Mar 2022 14:02:34 -0400 Subject: [PATCH 15/18] update docstring and release notes --- RELEASE-NOTES.md | 4 ++-- pymc/distributions/continuous.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 1322495c90..ca22143cc4 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -27,9 +27,9 @@ Also check out the [milestones](https://github.com/pymc-devs/pymc/milestones) fo All of the above apply to: - `pm.StudentT` now now requires either `sigma` or `lam` as kwarg -- `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1.0) +- `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1) - `pm.AsymmetricLaplace` positional arguments re-ordered -- `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 1.0) +- `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 0) - BART was removed [#5566](https://github.com/pymc-devs/pymc/pull/5566). It is now available from [pymc-experimental](https://github.com/pymc-devs/pymc-experimental) - `BaseStochasticGradient` was removed (see [#5630](https://github.com/pymc-devs/pymc/pull/5630)) - ⚠ The library is now named, installed and imported as "pymc". For example: `pip install pymc`. diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index afd02ff2de..5e05f426ea 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1644,12 +1644,12 @@ class AsymmetricLaplace(Continuous): Parameters ---------- - b : tensor_like of float - Scale parameter (b > 0). kappa : tensor_like of float Symmetry parameter (kappa > 0). mu : tensor_like of float, default 0 Location parameter. + b : tensor_like of float + Scale parameter (b > 0). See Also: -------- From d7facdc396322ada9a890582df63515ed4c2bb12 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Tue, 22 Mar 2022 09:59:32 -0400 Subject: [PATCH 16/18] update halfstudentt test and release notes --- RELEASE-NOTES.md | 2 +- pymc/tests/test_distributions.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index ca22143cc4..18ba8c061a 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -26,7 +26,7 @@ Also check out the [milestones](https://github.com/pymc-devs/pymc/milestones) fo All of the above apply to: -- `pm.StudentT` now now requires either `sigma` or `lam` as kwarg +- `pm.StudentT` now now requires either `sigma` or `lam` as kwarg [#5628](https://github.com/pymc-devs/pymc/pull/5628) - `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1) - `pm.AsymmetricLaplace` positional arguments re-ordered - `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 0) diff --git a/pymc/tests/test_distributions.py b/pymc/tests/test_distributions.py index 94ab4e7fb7..4324328ab7 100644 --- a/pymc/tests/test_distributions.py +++ b/pymc/tests/test_distributions.py @@ -1617,6 +1617,7 @@ def test_half_studentt(self): Rplus, {"sigma": Rplus}, lambda value, sigma: sp.halfcauchy.logpdf(value, 0, sigma), + extra_args={"nu": 1}, ) def test_skew_normal(self): From ea65542dcbe1c4e9e8657e4abe68940d1fc600a8 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Tue, 22 Mar 2022 20:16:31 -0400 Subject: [PATCH 17/18] update AsymmetricLaplace doc string --- pymc/distributions/continuous.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pymc/distributions/continuous.py b/pymc/distributions/continuous.py index 5e05f426ea..b3328cb6cf 100644 --- a/pymc/distributions/continuous.py +++ b/pymc/distributions/continuous.py @@ -1646,7 +1646,7 @@ class AsymmetricLaplace(Continuous): ---------- kappa : tensor_like of float Symmetry parameter (kappa > 0). - mu : tensor_like of float, default 0 + mu : tensor_like of float Location parameter. b : tensor_like of float Scale parameter (b > 0). From b83e0bb7da99824ce60c4d2372dfedc76e67f088 Mon Sep 17 00:00:00 2001 From: Christian Luhmann Date: Mon, 28 Mar 2022 21:52:55 -0400 Subject: [PATCH 18/18] tidy up release notes --- RELEASE-NOTES.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 18ba8c061a..6a23445815 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -26,10 +26,11 @@ Also check out the [milestones](https://github.com/pymc-devs/pymc/milestones) fo All of the above apply to: -- `pm.StudentT` now now requires either `sigma` or `lam` as kwarg [#5628](https://github.com/pymc-devs/pymc/pull/5628) -- `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1) -- `pm.AsymmetricLaplace` positional arguments re-ordered -- `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 0) +Signature and default parameters changed for several distributions (see [#5628](https://github.com/pymc-devs/pymc/pull/5628)): + - `pm.StudentT` now requires either `sigma` or `lam` as kwarg + - `pm.StudentT` now requires `nu` to be specified (no longer defaults to 1) + - `pm.AsymmetricLaplace` positional arguments re-ordered + - `pm.AsymmetricLaplace` now requires `mu` to be specified (no longer defaults to 0) - BART was removed [#5566](https://github.com/pymc-devs/pymc/pull/5566). It is now available from [pymc-experimental](https://github.com/pymc-devs/pymc-experimental) - `BaseStochasticGradient` was removed (see [#5630](https://github.com/pymc-devs/pymc/pull/5630)) - ⚠ The library is now named, installed and imported as "pymc". For example: `pip install pymc`.