kludex / awesome-fastapi-projects Goto Github PK
View Code? Open in Web Editor NEWList of FastAPI projects! :sunglasses: :rocket:
List of FastAPI projects! :sunglasses: :rocket:
Consider improving the pagination UI (the "Next" and "Previous" buttons at the bottom of the table).
It would be useful to jump straight onto a selected page or skip some pages if desired.
A current page the user is on should be reflected in a query parameter value (similar to search
and dependencies
query parameters). This is useful for sharing the links to the specific page or just preserving the state in between the page reloads.
Currently, the repositories in a table are randomly ordered.
To sort them either in descending or ascending directions, one would need to tap/click on the stars column header.
It is counterintuitive, moreover, taking into account, that repositories with the higher numbers of stars tend to appear on top of a table.
Additionally, it would be nice to inform the user about the current sorting direction.
stack trace
Traceback (most recent call last):
File "generate_table.py", line 31, in
writer.value_matrix = [
File "generate_table.py", line 32, in
[format_with_link(project), ", ".join(filter_list(dependencies))]
File "generate_table.py", line 22, in format_with_link
links = open("unique_links.txt", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'unique_links.txt'
Consider removing that project or updating the link
It would be nice to show some statistics about the data which is gathered.
The concept is to display at least:
A neat feature would be to show the delta from the previous scraping and parsing session: how many repositories have been added from the previous deployment, and how many new dependencies have been parsed.
I think this is a fantastic collection of projects. Problem is that many links lead to a 404 and a lot of projects have been abandoned for a while. With all of the changes in Python and other dependencies, these examples are dated and a lot of builds fail. Maybe get a group of people willing to check out projects and accept pull requests? I know I'd be willing to contribute.
Investigate if we could add a dark mode easily.
The dependencies parsing for repos is quite slow.
The reasons for this are:
There are some heuristics in place to prevent unnecessary parsing:
Possible improvements could be:
When we use the Next.js router navigation (even just to update the query parameters), the hard reload is happening and the table is flickering (first, the unfiltered table is shown, then the table re-renders and the actual filtered result is displayed).
Perhaps, related to netlify/next-runtime#2089
Also, upgrading Next.js might be helpful: #26
Overall, it should be investigated how the table flickering on reload can be prevented.
the project ExpenseAPI is removed https://github.com/MushroomMaula/ExpenseAPI
As it stands it's really hard to figure out how to contribute to this project.
@Kludex if you're not able to maintain this project anymore, a good idea would be to add a CONTRIBUTING.md
file as a last effort, so that potential maintainer candidates know what maintaining and contributing to the project entails. It'll probably lead to more interest which is good, cause it would be a shame if this project died completely
I don't have time to maintain this project anymore. If you are reading this, and you want to help, the same comment that I made before applies for you: #15 (comment)
Currently, when the page is opened on a mobile device with a small screen, the following problems occur:
So, in order to adapt the app to mobile devices, I suggest:
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
(and httpx-*
extensions)third-party-imports
Also, necessary development/testing dependencies are:
pytest
(and pytest-*
plugins)polyfactory
(see if a better integration with SQLAlchemy
has already landed, perhaps, adjust the codebase)dirty-equals
ruff
(get rid of black
in favor of a new ruff
formatter)mypy
(and types-*
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/outdatedpnpm why
: https://pnpm.io/cli/whypnpm prune
: https://pnpm.io/cli/prunepnpm dedupe
: https://pnpm.io/cli/dedupepnpm update
: https://pnpm.io/cli/updatehttps://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)
schadcn/ui
(see the Updating your project
section in https://ui.shadcn.com/docs/changelog)
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.
Most of the links aren't working
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.