mirror of
https://github.com/Kludex/awesome-fastapi-projects.git
synced 2025-05-14 13:17:04 +00:00
Add typer
This commit is contained in:
parent
1ec3c0d57f
commit
09a5ef63f7
@ -2,6 +2,7 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
import sqlalchemy.dialects.sqlite
|
import sqlalchemy.dialects.sqlite
|
||||||
|
import typer
|
||||||
from sqlalchemy.ext.asyncio import AsyncSession
|
from sqlalchemy.ext.asyncio import AsyncSession
|
||||||
|
|
||||||
from app.database import Dependency, Repo, RepoDependency
|
from app.database import Dependency, Repo, RepoDependency
|
||||||
@ -21,7 +22,7 @@ async def _create_dependencies_for_repo(session: AsyncSession, repo: Repo) -> No
|
|||||||
dependencies_create_data = await acquire_dependencies_data_for_repository(repo)
|
dependencies_create_data = await acquire_dependencies_data_for_repository(repo)
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
return
|
return
|
||||||
# Create dependencies - on conflict return the existing dependency
|
# Create dependencies - on conflict do nothing.
|
||||||
insert_statement = sqlalchemy.dialects.sqlite.insert(
|
insert_statement = sqlalchemy.dialects.sqlite.insert(
|
||||||
Dependency
|
Dependency
|
||||||
).on_conflict_do_nothing(index_elements=[Dependency.name])
|
).on_conflict_do_nothing(index_elements=[Dependency.name])
|
||||||
@ -80,6 +81,11 @@ async def scrape_source_graph_repos_data() -> None:
|
|||||||
await session.commit()
|
await session.commit()
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
"""Scrape the FastAPI-related repositories utilizing the source graph API."""
|
||||||
|
asyncio.run(scrape_source_graph_repos_data())
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
"""Run the scraping."""
|
"""Run the scraping."""
|
||||||
asyncio.run(scrape_source_graph_repos_data())
|
typer.run(main)
|
||||||
|
@ -19,6 +19,7 @@ dependencies = [
|
|||||||
"sqlalchemy[asyncio]",
|
"sqlalchemy[asyncio]",
|
||||||
"stamina",
|
"stamina",
|
||||||
"third-party-imports",
|
"third-party-imports",
|
||||||
|
"typer[all]",
|
||||||
]
|
]
|
||||||
[project.optional-dependencies]
|
[project.optional-dependencies]
|
||||||
dev = [
|
dev = [
|
||||||
|
@ -22,7 +22,11 @@ certifi==2023.7.22
|
|||||||
# httpcore
|
# httpcore
|
||||||
# httpx
|
# httpx
|
||||||
click==8.1.6
|
click==8.1.6
|
||||||
# via uvicorn
|
# via
|
||||||
|
# typer
|
||||||
|
# uvicorn
|
||||||
|
colorama==0.4.6
|
||||||
|
# via typer
|
||||||
dnspython==2.4.1
|
dnspython==2.4.1
|
||||||
# via email-validator
|
# via email-validator
|
||||||
email-validator==2.0.0.post2
|
email-validator==2.0.0.post2
|
||||||
@ -54,10 +58,14 @@ jinja2==3.1.2
|
|||||||
# via fastapi
|
# via fastapi
|
||||||
mako==1.2.4
|
mako==1.2.4
|
||||||
# via alembic
|
# via alembic
|
||||||
|
markdown-it-py==3.0.0
|
||||||
|
# via rich
|
||||||
markupsafe==2.1.3
|
markupsafe==2.1.3
|
||||||
# via
|
# via
|
||||||
# jinja2
|
# jinja2
|
||||||
# mako
|
# mako
|
||||||
|
mdurl==0.1.2
|
||||||
|
# via markdown-it-py
|
||||||
orjson==3.9.2
|
orjson==3.9.2
|
||||||
# via fastapi
|
# via fastapi
|
||||||
pydantic==2.1.1
|
pydantic==2.1.1
|
||||||
@ -71,6 +79,8 @@ pydantic-extra-types==2.0.0
|
|||||||
# via fastapi
|
# via fastapi
|
||||||
pydantic-settings==2.0.2
|
pydantic-settings==2.0.2
|
||||||
# via fastapi
|
# via fastapi
|
||||||
|
pygments==2.15.1
|
||||||
|
# via rich
|
||||||
python-dotenv==1.0.0
|
python-dotenv==1.0.0
|
||||||
# via
|
# via
|
||||||
# pydantic-settings
|
# pydantic-settings
|
||||||
@ -81,6 +91,10 @@ pyyaml==6.0.1
|
|||||||
# via
|
# via
|
||||||
# fastapi
|
# fastapi
|
||||||
# uvicorn
|
# uvicorn
|
||||||
|
rich==13.5.2
|
||||||
|
# via typer
|
||||||
|
shellingham==1.5.0.post1
|
||||||
|
# via typer
|
||||||
sniffio==1.3.0
|
sniffio==1.3.0
|
||||||
# via
|
# via
|
||||||
# anyio
|
# anyio
|
||||||
@ -98,6 +112,8 @@ tenacity==8.2.2
|
|||||||
# via stamina
|
# via stamina
|
||||||
third-party-imports==0.0.7
|
third-party-imports==0.0.7
|
||||||
# via awesome-fastapi-projects (pyproject.toml)
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
|
typer[all]==0.9.0
|
||||||
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
typing-extensions==4.7.1
|
typing-extensions==4.7.1
|
||||||
# via
|
# via
|
||||||
# alembic
|
# alembic
|
||||||
@ -105,6 +121,7 @@ typing-extensions==4.7.1
|
|||||||
# pydantic
|
# pydantic
|
||||||
# pydantic-core
|
# pydantic-core
|
||||||
# sqlalchemy
|
# sqlalchemy
|
||||||
|
# typer
|
||||||
ujson==5.8.0
|
ujson==5.8.0
|
||||||
# via fastapi
|
# via fastapi
|
||||||
uvicorn[standard]==0.23.1
|
uvicorn[standard]==0.23.1
|
||||||
|
@ -35,7 +35,10 @@ click==8.1.6
|
|||||||
# via
|
# via
|
||||||
# black
|
# black
|
||||||
# pip-tools
|
# pip-tools
|
||||||
|
# typer
|
||||||
# uvicorn
|
# uvicorn
|
||||||
|
colorama==0.4.6
|
||||||
|
# via typer
|
||||||
decorator==5.1.1
|
decorator==5.1.1
|
||||||
# via ipython
|
# via ipython
|
||||||
distlib==0.3.7
|
distlib==0.3.7
|
||||||
@ -81,12 +84,16 @@ jinja2==3.1.2
|
|||||||
# via fastapi
|
# via fastapi
|
||||||
mako==1.2.4
|
mako==1.2.4
|
||||||
# via alembic
|
# via alembic
|
||||||
|
markdown-it-py==3.0.0
|
||||||
|
# via rich
|
||||||
markupsafe==2.1.3
|
markupsafe==2.1.3
|
||||||
# via
|
# via
|
||||||
# jinja2
|
# jinja2
|
||||||
# mako
|
# mako
|
||||||
matplotlib-inline==0.1.6
|
matplotlib-inline==0.1.6
|
||||||
# via ipython
|
# via ipython
|
||||||
|
mdurl==0.1.2
|
||||||
|
# via markdown-it-py
|
||||||
mypy==1.4.1
|
mypy==1.4.1
|
||||||
# via awesome-fastapi-projects (pyproject.toml)
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
mypy-extensions==1.0.0
|
mypy-extensions==1.0.0
|
||||||
@ -138,7 +145,9 @@ pydantic-extra-types==2.0.0
|
|||||||
pydantic-settings==2.0.2
|
pydantic-settings==2.0.2
|
||||||
# via fastapi
|
# via fastapi
|
||||||
pygments==2.15.1
|
pygments==2.15.1
|
||||||
# via ipython
|
# via
|
||||||
|
# ipython
|
||||||
|
# rich
|
||||||
pyproject-fmt==0.13.0
|
pyproject-fmt==0.13.0
|
||||||
# via awesome-fastapi-projects (pyproject.toml)
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
pyproject-hooks==1.0.0
|
pyproject-hooks==1.0.0
|
||||||
@ -154,8 +163,12 @@ pyyaml==6.0.1
|
|||||||
# fastapi
|
# fastapi
|
||||||
# pre-commit
|
# pre-commit
|
||||||
# uvicorn
|
# uvicorn
|
||||||
|
rich==13.5.2
|
||||||
|
# via typer
|
||||||
ruff==0.0.280
|
ruff==0.0.280
|
||||||
# via awesome-fastapi-projects (pyproject.toml)
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
|
shellingham==1.5.0.post1
|
||||||
|
# via typer
|
||||||
six==1.16.0
|
six==1.16.0
|
||||||
# via asttokens
|
# via asttokens
|
||||||
sniffio==1.3.0
|
sniffio==1.3.0
|
||||||
@ -183,6 +196,8 @@ traitlets==5.9.0
|
|||||||
# via
|
# via
|
||||||
# ipython
|
# ipython
|
||||||
# matplotlib-inline
|
# matplotlib-inline
|
||||||
|
typer[all]==0.9.0
|
||||||
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
types-aiofiles==23.1.0.5
|
types-aiofiles==23.1.0.5
|
||||||
# via awesome-fastapi-projects (pyproject.toml)
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
typing-extensions==4.7.1
|
typing-extensions==4.7.1
|
||||||
@ -193,6 +208,7 @@ typing-extensions==4.7.1
|
|||||||
# pydantic
|
# pydantic
|
||||||
# pydantic-core
|
# pydantic-core
|
||||||
# sqlalchemy
|
# sqlalchemy
|
||||||
|
# typer
|
||||||
ujson==5.8.0
|
ujson==5.8.0
|
||||||
# via fastapi
|
# via fastapi
|
||||||
uvicorn[standard]==0.23.1
|
uvicorn[standard]==0.23.1
|
||||||
|
@ -23,7 +23,11 @@ certifi==2023.7.22
|
|||||||
# httpcore
|
# httpcore
|
||||||
# httpx
|
# httpx
|
||||||
click==8.1.6
|
click==8.1.6
|
||||||
# via uvicorn
|
# via
|
||||||
|
# typer
|
||||||
|
# uvicorn
|
||||||
|
colorama==0.4.6
|
||||||
|
# via typer
|
||||||
coverage[toml]==7.2.7
|
coverage[toml]==7.2.7
|
||||||
# via pytest-cov
|
# via pytest-cov
|
||||||
dirty-equals==0.6.0
|
dirty-equals==0.6.0
|
||||||
@ -63,10 +67,14 @@ jinja2==3.1.2
|
|||||||
# via fastapi
|
# via fastapi
|
||||||
mako==1.2.4
|
mako==1.2.4
|
||||||
# via alembic
|
# via alembic
|
||||||
|
markdown-it-py==3.0.0
|
||||||
|
# via rich
|
||||||
markupsafe==2.1.3
|
markupsafe==2.1.3
|
||||||
# via
|
# via
|
||||||
# jinja2
|
# jinja2
|
||||||
# mako
|
# mako
|
||||||
|
mdurl==0.1.2
|
||||||
|
# via markdown-it-py
|
||||||
orjson==3.9.2
|
orjson==3.9.2
|
||||||
# via fastapi
|
# via fastapi
|
||||||
packaging==23.1
|
packaging==23.1
|
||||||
@ -86,6 +94,8 @@ pydantic-extra-types==2.0.0
|
|||||||
# via fastapi
|
# via fastapi
|
||||||
pydantic-settings==2.0.2
|
pydantic-settings==2.0.2
|
||||||
# via fastapi
|
# via fastapi
|
||||||
|
pygments==2.15.1
|
||||||
|
# via rich
|
||||||
pytest==7.4.0
|
pytest==7.4.0
|
||||||
# via
|
# via
|
||||||
# awesome-fastapi-projects (pyproject.toml)
|
# awesome-fastapi-projects (pyproject.toml)
|
||||||
@ -112,6 +122,10 @@ pyyaml==6.0.1
|
|||||||
# via
|
# via
|
||||||
# fastapi
|
# fastapi
|
||||||
# uvicorn
|
# uvicorn
|
||||||
|
rich==13.5.2
|
||||||
|
# via typer
|
||||||
|
shellingham==1.5.0.post1
|
||||||
|
# via typer
|
||||||
six==1.16.0
|
six==1.16.0
|
||||||
# via python-dateutil
|
# via python-dateutil
|
||||||
sniffio==1.3.0
|
sniffio==1.3.0
|
||||||
@ -131,6 +145,8 @@ tenacity==8.2.2
|
|||||||
# via stamina
|
# via stamina
|
||||||
third-party-imports==0.0.7
|
third-party-imports==0.0.7
|
||||||
# via awesome-fastapi-projects (pyproject.toml)
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
|
typer[all]==0.9.0
|
||||||
|
# via awesome-fastapi-projects (pyproject.toml)
|
||||||
typing-extensions==4.7.1
|
typing-extensions==4.7.1
|
||||||
# via
|
# via
|
||||||
# alembic
|
# alembic
|
||||||
@ -139,6 +155,7 @@ typing-extensions==4.7.1
|
|||||||
# pydantic
|
# pydantic
|
||||||
# pydantic-core
|
# pydantic-core
|
||||||
# sqlalchemy
|
# sqlalchemy
|
||||||
|
# typer
|
||||||
ujson==5.8.0
|
ujson==5.8.0
|
||||||
# via fastapi
|
# via fastapi
|
||||||
uvicorn[standard]==0.23.1
|
uvicorn[standard]==0.23.1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user