awesome-fastapi-projects
awesome-fastapi-projects copied to clipboard
Maintenance
Some of the dependencies need upgrading.
The project utilizes pip-tools
for Python
dependencies management, so one may adhere to:
https://github.com/jazzband/pip-tools#updating-requirements
Essential packages to keep updated and to pay the most attention to:
-
Pydantic
-
SQLAlchemy
,aiosqlite
,alembic
-
Typer
-
httpx
(andhttpx-*
extensions) -
third-party-imports
Also, necessary development/testing dependencies are:
-
pytest
(andpytest-*
plugins) -
polyfactory
(see if a better integration withSQLAlchemy
has already landed, perhaps, adjust the codebase) -
dirty-equals
-
ruff
(get rid ofblack
in favor of a newruff
formatter) -
mypy
(andtypes-*
plugins) -
pyproject-fmt
-
ipython
-
pre-commit
-
stamina
-
loguru
Generally, consult pyproject.toml
to see the core Python dependencies standing behind the project.
For Node.js
packages, a pnpm
package manager is employed:
Useful commands:
-
pnpm outdated
: https://pnpm.io/cli/outdated -
pnpm why
: https://pnpm.io/cli/why -
pnpm prune
: https://pnpm.io/cli/prune -
pnpm dedupe
: https://pnpm.io/cli/dedupe and last, but not the least -
pnpm update
: https://pnpm.io/cli/update
https://github.com/kachkaev/njt can be used to track the changelog of the packages to be updated
The following Frontend dependencies updates will require special care and thorough testing:
-
Next.js
(from 13 to 14 - https://nextjs.org/docs/pages/building-your-application/upgrading/version-14)- React
- ReactDOM
- ...
-
schadcn/ui
(see theUpdating your project
section in https://ui.shadcn.com/docs/changelog)- Radix UI
- TailwindCSS
- ...
- Orama (https://github.com/oramasearch/orama)
Apart from that, both pip-tools
(pip?), and pnpm
might also require an update.
CI/CD and pre-commit hooks will need to be adapted as well.
To update the pre-commit hooks, you may use https://pre-commit.com/#updating-hooks-automatically
But keep in mind to sync the linter / formatters versions among .pre-commit-config.yaml
, respective lock files (requirements/*.txt and package.json
), and GitHub Actions Workflows configs.
Consider if it is time to bump Python
(to 3.12) and Node.js
(to 20.*) versions.