-
What this means: This is a new proposal. It is not currently being considered by the committee.
-
Purpose of this stage: To define the problem and solution spaces.
- Make the case for an improvement.
- Research how the problem is dealt with using available facilities today.
- Research how the problem has been solved by other languages or in the library ecosystem.
- Describe the shape of some possible solutions, with the knowledge that this may still change significantly later on.
-
Entrance criteria: None. Anyone can do this at any time.
-
What happens in this stage:
-
The author forks this repo and creates a new markdown file in the
/candidatesfolder, following the guidelines from/candidates/TEMPLATE.md.If the author would like to present the proposal for early discussion, they can post it in discuss.streamlit.io. However, at this stage we make no guarantees that committee members will devote any time to the proposal.
-
At some point:
- If the author no longer believes in this proposal, no further action needed.
- If the author believes this is proposal should proceed to the next stage:
- Author sends a PR to add proposal's md file to this repo under
/candidates. - The PR gets tagged as "draft for review"
- In the next committee meeting, some of the "draft for review" PRs will be discussed.
- If the committee doesn't have time to discuss the proposal, it stays as a "draft for review" PR for future meetings.
- If the committee discusses the proposal but cannot come to an agreement, it stays as a "draft for review" PR for future meetings.
- If the committee discusses the proposal and aggrees to move on, the PR is approved, a champion is selected, and the proposal moves to Candidate stage.
- If the committee discusses the proposal and aggrees it needs more work, the PR is closed and marked as "needs work". The proposal stays in Draft stage.
- If the committee discusses the proposal and aggrees it should not continue, the PR is closed and tagged as "deprecated".
- Author sends a PR to add proposal's md file to this repo under
-
-
What this means: The committee has strong reasons to believe this is a real problem that Streamlit should potentially solve in the next few months.
-
Purpose of this stage: Designing a detailed solution.
-
Entrance criteria: Committee approves PR to add proposal to
/candidates. -
What happens in this stage:
-
The author and champion work on the proposal together. At this point, the proposal may still change significantly.
The goal is to strike a balance between (1) brevity and (2) enough detail that an engineer could implement it without much back-and-forth.
At this stage, it's common to gather feedback from some committee and/or community members. It's also common to involve a product designer to produce mockups.
-
At some point:
- If the author and champion no longer believes in this proposal, move to Deprecated.
- If the author and champion believes this is proposal should proceed to the next stage:
- Author/champion sends a PR to move proposal from
/candidatesto/approved. - The PR gets tagged as "candidate for review"
- In the next committee meeting, some of the "candidate for review" PRs will be discussed. One of four things can happen:
- If the committee doesn't have time to discuss the proposal, it stays as an "candidate for review" PR for future meetings.
- If the committee discusses the proposal but cannot come to an aggreement, it stays an "candidate for review" PR for future meetings.
- If the committee discusses the proposal and aggrees to move on, the PR is approved and the proposal moves to to Approved Proposal stage.
- If the committee discusses the proposal and aggrees it needs more work, the PR is closed and marked as "needs work". The proposal stays Candidate stage.
- If the committee discusses the proposal and aggrees it should not continue, the PR is closed and tagged as "deprecated".
- Author/champion sends a PR to move proposal from
-
-
What this means:
- The committee believes this is a real problem that Streamlit should solve in the next few months.
- The committee believes this proposal is ready for an engineer to work on.
-
Purpose of this stage: To signal to an engineer that they can start to work on this.
-
Entrance criteria: Committee approves the PR to add this proposal to
/approved -
What happens in this stage:
- Committee approves the PR to add this proposal to
/approved - At some point, someone starts working on the implementation.
- The implementor sends out a PR.
- Someone from the reviewing team reviews the PR. (Code review and review of the actual product behavior)
- PR is approved and everyone rejoices!
- Committee approves the PR to add this proposal to