# SPEC 0 trove classifier and Github robot?

**URL:** <https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798>\
**Category:** Ideas\
**Created:** [October 10, 2023, 12:53am UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798 "2023-10-10T00:53:48Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![NeilGirdhar](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/neilgirdhar/32/5776_2.png) [@NeilGirdhar](https://discuss.python.org/u/NeilGirdhar)\
**Post date:** [October 10, 2023, 12:53am UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798/1 "2023-10-10T00:53:48Z")

</div>

Would it make sense to create a trove classifier for projects that follow SPEC 0? And then have a Github robot that files an issue at every SPEC 0 event to remind projects that they are free to drop support for Python/Numpy according to the event?

To make it easy, the issue could have a link to the “what’s new” page for Python/Numpy/etc. and a link to SPEC 0 as a reminder. It could even list the minimum Python versions of the project’s dependencies so that they can see if their dependencies have already dropped old Python/Numpy/etc.

---

<div class="post-metadata">

**Author:** ![barry-scott](https://avatars.discourse-cdn.com/v4/letter/b/e9c0ed/32.png) [@barry-scott](https://discuss.python.org/u/barry-scott)\
**Post date:** [October 10, 2023, 5:03am UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798/2 "2023-10-10T05:03:12Z")

</div>

There is a note in NEP 29 that says

> This NEP is superseded by the scientific python ecosystem coordination guideline [SPEC 0 — Minimum Supported Versions](https://scientific-python.org/specs/spec-0000/).

---

<div class="post-metadata">

**Author:** ![NeilGirdhar](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/neilgirdhar/32/5776_2.png) [@NeilGirdhar](https://discuss.python.org/u/NeilGirdhar)\
**Post date:** [October 10, 2023, 5:26am UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798/3 "2023-10-10T05:26:34Z")

</div>

Thanks, edited my suggestion!

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [October 10, 2023, 7:29am UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798/4 "2023-10-10T07:29:32Z")

</div>

> [@NeilGirdhar](#):
>
> Would it make sense to create a trove classifier for projects that follow SPEC 0?

Sounds good, it would make the support policy more visible to both humans and machines.

> [@NeilGirdhar](#):
>
> And then have a Github robot that files an issue at every SPEC 0 event to remind projects that they are free to drop support for Python/Numpy according to the event?

Maybe, but it should only be opt-in. Some maintainers might not happy with bots showing up and opening issues. Maintainers may have good reasons for keeping support for older versions a bit longer.

In fact, [SPEC 0](https://scientific-python.org/specs/spec-0000/#drop-schedule) says:

> You may want to delay the removal of support of an older Python version until your package fully works on the newly released Python, thus keeping the number of supported minor versions of Python the same for your package.

I also suggest asking the Scientific Python community at [https://discuss.scientific-python.org](https://discuss.scientific-python.org).

---

<div class="post-metadata">

**Author:** ![NeilGirdhar](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/neilgirdhar/32/5776_2.png) [@NeilGirdhar](https://discuss.python.org/u/NeilGirdhar)\
**Post date:** [October 10, 2023, 2:16pm UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798/5 "2023-10-10T14:16:04Z")

</div>

> [@hugovk](#):
>
> Maybe, but it should only be opt-in. Some maintainers might not happy with bots showing up and opening issues.

What most robots do is have a set of commands. In this case, after the robot files an issue, the maintainer could reply `@no_more_issues`, and the robot would desist. Typically there are other commands like `@no_more_issues_one_year`, etc.

> [@hugovk](#):
>
> I also suggest asking the Scientific Python community at [https://discuss.scientific-python.org](https://discuss.scientific-python.org).

Good idea.

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [October 10, 2023, 2:24pm UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798/6 "2023-10-10T14:24:22Z")

</div>

> [@NeilGirdhar](#):
>
> What most robots do is have a set of commands. In this case, after the robot files an issue, the maintainer could reply `@no_more_issues`, and the robot would desist. Typically there are other commands like `@no_more_issues_one_year`, etc.

Sure, but in the first place, it should still be opt in, not opt out.

---

<div class="post-metadata">

**Author:** ![NeilGirdhar](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/neilgirdhar/32/5776_2.png) [@NeilGirdhar](https://discuss.python.org/u/NeilGirdhar)\
**Post date:** [October 10, 2023, 2:29pm UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798/7 "2023-10-10T14:29:59Z")

</div>

> [@hugovk](#):
>
> Sure, but in the first place, it should still be opt in, not opt out.

How would you do that?

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [October 10, 2023, 2:37pm UTC](https://discuss.python.org/t/spec-0-trove-classifier-and-github-robot/35798/8 "2023-10-10T14:37:09Z")

</div>

There are many ways; perhaps maintainers could install some GitHub app for their repo, or sign up somehow on the bot’s website.
