Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update issues and PR templates #1490

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 0 additions & 36 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

117 changes: 117 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
---
# Inspired by https://github.com/doomemacs/doomemacs/blob/master/.github/ISSUE_TEMPLATE/bug_report.yml
name: 📝 Bug Report
description: Report something that isn't working as intended
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
First, carefully read [CONTRIBUTING.md](https://github.com/aesara-devs/aesara/blob/main/.github/CONTRIBUTING.md) and the following to determine whether or not you have a valid Aesara issue:

- Is there already a GitHub Issue or Discussion for this issue?

If so, please expand upon any specifics of your issue in the existing Issue/Discussion.

- Does your issue only arise in a library that uses Aesara?

If so, please submit your issue to that library's issue tracker first. From there, the Aesara-specific details can be worked out and a valid Aesara issue can be identified. **Issues framed primarily in third-party libraries are liable to being marked as invalid and closed.**

- Does your issue involve OS and/or environment-specific settings (e.g. installation and/or compilation issues)?

If so, please create a [Discussion](https://github.com/aesara-devs/aesara/discussions) instead. From there, we can help determine whether or not the issue is due to faulty logic in Aesara (i.e. a valid issue) or something specific to your local setup.

- type: markdown
attributes:
value: "-----"
- type: textarea
attributes:
label: Expected behavior
description: |
A concise description of what you're trying to do and what you expect to see.

Try to include:

- Minimal, self-contained, and reproducible examples (i.e. an [MWE](https://en.wikipedia.org/wiki/Minimal_reproducible_example)).
- Precise details about the expected output/results (e.g. "The output should consist of the values...").

placeholder: |
I'm trying to compute the ... of ... as follows:

```python
import aesara
import aesara.tensor as at

x = at.vector("x")
...

fn = aesara.function([x], ...)

fn(...)
```

The results should be the value...
validations:
required: true
- type: textarea
attributes:
label: Current behavior
description: |
A concise description of the issue(s) you're observing.

Try to include:

- Any associated output and/or error messages.
- Any attempts you made to resolve the issue yourself, and their result.
placeholder: |
The example above does not return a value and instead raises a `ValueError` error.

Here is the backtrace:

```
ValueError: ...
```
validations:
required: true
- type: input
id: aesara-version
attributes:
label: Aesara Version
description: |
Provide the version of Aesara obtained from `pip show aesara`.
placeholder: 2.x.x
validations:
required: true
- type: input
id: python-version
attributes:
label: Python Version
description: |
Provide the version of Python obtained from `python --version`.
placeholder: 3.8.x
validations:
required: true
- type: input
id: os
attributes:
label: Operating System
description: |
Provide the name of your operating system (e.g. Ubuntu, OSX, Windows).
placeholder: Ubuntu
validations:
required: true
- type: checkboxes
attributes:
label: In which type of virtual environment is Aesara installed?
options:
- label: conda
- label: pip
- type: input
id: aesara-config
attributes:
label: Aesara Config
description: |
Upload the contents of `python -c "import aesara; print(aesara.config)"` to [pastebin](https://pastebin.com), [gist](https://gist.github.com), or a similar service, then provide the link to it here.
placeholder: https://pastebin.com/fakeurl
validations:
required: true
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: Official Documentation
url: https://aesara.readthedocs.io/en/latest/
about: "Provides basic Aesara setup and usage information, as well as design and development outlines"
- name: Visit our Gitter/Matrix Chat
url: https://gitter.im/aesara-devs/aesara
about: "Discuss Aesara in real-time with community members via Gitter/Matrix"
- name: Visit our Discord
url: https://discord.gg/h3sjmPYuGJ
about: "Discuss Aesara in real-time with community members via Discord"
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/jax_op_implementation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: JAX Op Implementation
description: Propose a Numba Op implementation
labels: ["enhancement", "JAX", "Op implementation"]
body:
- type: markdown
attributes:
value: |
First, carefully read [CONTRIBUTING.md](https://github.com/aesara-devs/aesara/blob/main/.github/CONTRIBUTING.md) and the following:

- Is there already a GitHub Issue requesting this feature?

If so, please contribute to the existing Issue.

- type: markdown
attributes:
value: "-----"
- type: textarea
attributes:
label: Expected behavior
description: |
A concise description of the new/missing JAX `Op` implementation.

placeholder: |
Aesara is missing support for the `Op` ... in JAX.

validations:
required: true
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/new_feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
name: New Feature Request
description: Propose a new feature
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
First, carefully read [CONTRIBUTING.md](https://github.com/aesara-devs/aesara/blob/main/.github/CONTRIBUTING.md) and the following to determine whether or not you have a valid Aesara feature proposal:

- Is there already a GitHub Issue/Discussion requesting this feature?

If so, please contribute to the existing Issue/Discussion.

- Does the proposed feature involve large-scale, core, and/or design changes to Aesara?

If so, please open a Discussion first so that the Aesara team can provide advice on how to proceed.

- type: markdown
attributes:
value: "-----"
- type: textarea
attributes:
label: Expected behavior
description: |
A concise description of the feature.

Try to include:

- Minimal, self-contained, and reproducible pseudocode examples (i.e. an [MWE](https://en.wikipedia.org/wiki/Minimal_reproducible_example)).
- Precise details about the expected output/results (e.g. "The output should consist of the values...").

placeholder: |
An Aesara function that performs ... would be useful for ...

Here's some pseudocode illustrating the proposed function:
```python
import aesara
import aesara.tensor as at

x = at.vector("x")
...


fn = aesara.function([x], ...)

fn(...)
```

The results should be the value...
validations:
required: true
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/numba_op_implementation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Numba Op Implementation
description: Propose a Numba Op implementation
labels: ["enhancement", "Numba", "Op implementation"]
body:
- type: markdown
attributes:
value: |
First, carefully read [CONTRIBUTING.md](https://github.com/aesara-devs/aesara/blob/main/.github/CONTRIBUTING.md) and the following:

- Is there already a GitHub Issue requesting this feature?

If so, please contribute to the existing Issue.

- type: markdown
attributes:
value: "-----"
- type: textarea
attributes:
label: Expected behavior
description: |
A concise description of the new/missing Numba `Op` implementation.

placeholder: |
Aesara is missing support for the `Op` ... in Numba.

validations:
required: true
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/numpy_compatibility.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: NumPy API Enhancement
description: Propose changes to Aesara's NumPy support
labels: ["enhancement", "NumPy compatibility"]
body:
- type: markdown
attributes:
value: |
First, carefully read [CONTRIBUTING.md](https://github.com/aesara-devs/aesara/blob/main/.github/CONTRIBUTING.md) and the following:

- Is there already a GitHub Issue requesting this feature?

If so, please contribute to the existing Issue.

- type: markdown
attributes:
value: "-----"
- type: textarea
attributes:
label: Expected behavior
description: |
A concise description of the new/missing NumPy compatibility feature.

Try to include:

- Minimal and self-contained pseudocode examples.
- Precise details about the expected output/results (e.g. "The output should consist of the values...").

placeholder: |
Aesara is missing support for the NumPy function `numpy...`.

validations:
required: true
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/scipy_compatibility.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: SciPy API Enhancement
description: Propose changes to Aesara's SciPy support
labels: ["enhancement", "SciPy compatibility"]
body:
- type: markdown
attributes:
value: |
First, carefully read [CONTRIBUTING.md](https://github.com/aesara-devs/aesara/blob/main/.github/CONTRIBUTING.md) and the following:

- Is there already a GitHub Issue requesting this feature?

If so, please contribute to the existing Issue.

- type: markdown
attributes:
value: "-----"
- type: textarea
attributes:
label: Expected behavior
description: |
A concise description of the new/missing SciPy compatibility feature.

Try to include:

- Minimal and self-contained pseudocode examples.
- Precise details about the expected output/results (e.g. "The output should consist of the values...").

placeholder: |
Aesara is missing support for the SciPy function `scipy...`.

validations:
required: true
21 changes: 15 additions & 6 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
<!-- **Thank you for opening a PR!** -->

**Thank you for opening a PR!**
## Description

Here are a few important guidelines and requirements to check before your PR can be merged:
<!-- Include a description of the changes and provide references to the relevant issues and/or discussions. -->

This PR closes #(issue number goes here).

## Checklist

<!-- Here are a few important guidelines and requirements to check before your PR can be merged: -->

+ [ ] You have read [CONTRIBUTING.md](https://github.com/aesara-devs/aesara/blob/main/.github/CONTRIBUTING.md), the [developer start guide](https://aesara.readthedocs.io/en/latest/dev_start_guide.html), and any documentation relevant to the proposed changes (e.g. [Creating a new `Op`](https://aesara.readthedocs.io/en/latest/extend/op/creating_an_op.html) when proposing a new `Op`).
+ [ ] There is an informative high-level description of the changes.
+ [ ] The description and/or commit message(s) references the relevant GitHub issue(s).
+ [ ] [`pre-commit`](https://pre-commit.com/#installation) is installed and [set up](https://pre-commit.com/#3-install-the-git-hook-scripts).
+ [ ] The commit messages follow [these guidelines](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
+ [ ] The commits correspond to [_relevant logical changes_](https://wiki.openstack.org/wiki/GitCommitMessages#Structural_split_of_changes), and there are **no commits that fix changes introduced by other commits in the same branch/BR**.
+ [ ] The PR title and commit messages follow [these guidelines](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) with **no** tags (e.g. "[draft]...", "docs:...", etc.)
+ [ ] The commits correspond to [_relevant logical changes_](https://wiki.openstack.org/wiki/GitCommitMessages#Structural_split_of_changes), and there are **no commits that fix changes introduced by other commits in the same branch/PR**.
+ [ ] There are tests covering the changes introduced in the PR.

Don't worry, your PR doesn't need to be in perfect order to submit it. As development progresses and/or reviewers request changes, you can always [rewrite the history](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_rewriting_history) of your feature/PR branches.
<!-- Don't worry, your PR doesn't need to be in perfect order to submit it. As development progresses and/or reviewers request changes, you can always [rewrite the history](https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#_rewriting_history) of your feature/PR branches.

If your PR is an ongoing effort and you would like to involve us in the process, simply make it a [draft PR](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests).
If your PR is an ongoing effort and you would like to involve us in the process, simply make it a [draft PR](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-pull-requests#draft-pull-requests). -->
5 changes: 3 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ exclude: |
doc/.*|
bin/.*
)$
default_language_version:
python: python3.8
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
Expand All @@ -21,12 +23,11 @@ repos:
rev: v3.3.1
hooks:
- id: pyupgrade
args: ["--py38-plus"]
args: ["--py38-plus"]
- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black
language_version: python3
- repo: https://github.com/pycqa/flake8
rev: 6.0.0
hooks:
Expand Down