Change API to have only one Pokemon endpoint, instead of pokemon_species, pokemon_forms and pokemon
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 5.4k
- Forks
- 1.2k
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 21
Description
As #1026 , #1034 , #1035, #940, #966 and probably others make it apparent, a separation of pokemon and pokemon_species has not been feasible since 2016.
An Base assumption that veekun did for the pokemon species, which was valid before Sun and Moon introduced regional variants was that Forms are a rare occurance with no pokedex entries or own evolution lines.
Therefore, for gameplay only things, the pokemon model was created and for dex purposes, the pokemon_species model was created.
Since Sun and Moon, gamefreaks handling of forms massively changed. Beginning with Sun and Moon, and expanded in Sword and Shield, Regional Variants have been introduced, which are basically an own species but with the same dex number and name, but in the case of things like Paldean Wooper or Galarian Meowth, evolve into an entire different species than the "Base" pokemon, in the case for Wooper it doesnt evolve into Quagsire but Clodsire.
Additionally to Regional Variants existing and having their own dex entries, Forms itself gained their own Pokedex entries, so the base assumption of "Forms not having pokedex entries or evolution lines" is just wrong now.
Therefore, i would officially propose to change the pokemon model, which would warrant a V3 or an V2.5.
the pokemon model would gain most of the info that is in the pokemon_species is now added into pokemon, while pokemon_species would just be a redirect reading data from there, for compability sake.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing pokemon, pokemon_species, and pokemon_forms models and the API endpoints that expose them. The issue proposes consolidating species and form data into pokemon while retaining pokemon_species as a compatibility redirect, but the required schema, migration, and test scope still need to be defined.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100