mirror of
https://github.com/Kludex/awesome-fastapi-projects.git
synced 2024-11-23 20:11:07 +00:00
Add structure
This commit is contained in:
parent
3dd21d4d04
commit
65c21c0bd4
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -4,3 +4,4 @@ unique_links.txt
|
||||||
imports.txt
|
imports.txt
|
||||||
reps/
|
reps/
|
||||||
.vscode
|
.vscode
|
||||||
|
__pycache__
|
||||||
|
|
100
alembic.ini
Normal file
100
alembic.ini
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
# A generic, single database configuration.
|
||||||
|
|
||||||
|
[alembic]
|
||||||
|
# path to migration scripts
|
||||||
|
script_location = migrations
|
||||||
|
|
||||||
|
# template used to generate migration files
|
||||||
|
# file_template = %%(rev)s_%%(slug)s
|
||||||
|
|
||||||
|
# sys.path path, will be prepended to sys.path if present.
|
||||||
|
# defaults to the current working directory.
|
||||||
|
prepend_sys_path = .
|
||||||
|
|
||||||
|
# timezone to use when rendering the date within the migration file
|
||||||
|
# as well as the filename.
|
||||||
|
# If specified, requires the python-dateutil library that can be
|
||||||
|
# installed by adding `alembic[tz]` to the pip requirements
|
||||||
|
# string value is passed to dateutil.tz.gettz()
|
||||||
|
# leave blank for localtime
|
||||||
|
# timezone =
|
||||||
|
|
||||||
|
# max length of characters to apply to the
|
||||||
|
# "slug" field
|
||||||
|
# truncate_slug_length = 40
|
||||||
|
|
||||||
|
# set to 'true' to run the environment during
|
||||||
|
# the 'revision' command, regardless of autogenerate
|
||||||
|
# revision_environment = false
|
||||||
|
|
||||||
|
# set to 'true' to allow .pyc and .pyo files without
|
||||||
|
# a source .py file to be detected as revisions in the
|
||||||
|
# versions/ directory
|
||||||
|
# sourceless = false
|
||||||
|
|
||||||
|
# version location specification; This defaults
|
||||||
|
# to migrations/versions. When using multiple version
|
||||||
|
# directories, initial revisions must be specified with --version-path.
|
||||||
|
# The path separator used here should be the separator specified by "version_path_separator"
|
||||||
|
# version_locations = %(here)s/bar:%(here)s/bat:migrations/versions
|
||||||
|
|
||||||
|
# version path separator; As mentioned above, this is the character used to split
|
||||||
|
# version_locations. Valid values are:
|
||||||
|
#
|
||||||
|
# version_path_separator = :
|
||||||
|
# version_path_separator = ;
|
||||||
|
# version_path_separator = space
|
||||||
|
version_path_separator = os # default: use os.pathsep
|
||||||
|
|
||||||
|
# the output encoding used when revision files
|
||||||
|
# are written from script.py.mako
|
||||||
|
# output_encoding = utf-8
|
||||||
|
|
||||||
|
sqlalchemy.url = sqlite:///data/db.sqlite
|
||||||
|
|
||||||
|
|
||||||
|
[post_write_hooks]
|
||||||
|
# post_write_hooks defines scripts or Python functions that are run
|
||||||
|
# on newly generated revision scripts. See the documentation for further
|
||||||
|
# detail and examples
|
||||||
|
|
||||||
|
# format using "black" - use the console_scripts runner, against the "black" entrypoint
|
||||||
|
hooks = black
|
||||||
|
black.type = console_scripts
|
||||||
|
black.entrypoint = black
|
||||||
|
# black.options = -l 79 REVISION_SCRIPT_FILENAME
|
||||||
|
|
||||||
|
# Logging configuration
|
||||||
|
[loggers]
|
||||||
|
keys = root,sqlalchemy,alembic
|
||||||
|
|
||||||
|
[handlers]
|
||||||
|
keys = console
|
||||||
|
|
||||||
|
[formatters]
|
||||||
|
keys = generic
|
||||||
|
|
||||||
|
[logger_root]
|
||||||
|
level = WARN
|
||||||
|
handlers = console
|
||||||
|
qualname =
|
||||||
|
|
||||||
|
[logger_sqlalchemy]
|
||||||
|
level = WARN
|
||||||
|
handlers =
|
||||||
|
qualname = sqlalchemy.engine
|
||||||
|
|
||||||
|
[logger_alembic]
|
||||||
|
level = INFO
|
||||||
|
handlers =
|
||||||
|
qualname = alembic
|
||||||
|
|
||||||
|
[handler_console]
|
||||||
|
class = StreamHandler
|
||||||
|
args = (sys.stderr,)
|
||||||
|
level = NOTSET
|
||||||
|
formatter = generic
|
||||||
|
|
||||||
|
[formatter_generic]
|
||||||
|
format = %(levelname)-5.5s [%(name)s] %(message)s
|
||||||
|
datefmt = %H:%M:%S
|
BIN
data/db.sqlite
Normal file
BIN
data/db.sqlite
Normal file
Binary file not shown.
533
dependency.md
533
dependency.md
|
@ -1,533 +0,0 @@
|
||||||
| Project | Dependencies |
|
|
||||||
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
||||||
|[2020_slowdelivery_take](https://github.com/zekaio/2020_slowdelivery_take ) |aiohttp, pytest, tortoise |
|
|
||||||
|[AI-Service](https://github.com/eHelply/AI-Service ) |kombu, setuptools, pymongo, redis, sentry_asgi, sentry_sdk, pymlconf, socketio, src |
|
|
||||||
|[African_Wildlife_Classifier](https://github.com/peterbacalso/African_Wildlife_Classifier ) |aiohttp, fastai, torch |
|
|
||||||
|[Auth-Service](https://github.com/eHelply/Auth-Service ) |kombu, requests, setuptools, passlib, pymongo, redis, sentry_asgi, sentry_sdk, pymlconf, jwt, socketio, src, bson |
|
|
||||||
|[BenchmarkRoundOne](https://github.com/peterdeme/BenchmarkRoundOne ) |aiohttp |
|
|
||||||
|[Benchmarker](https://github.com/vutran1710/Benchmarker ) |apis |
|
|
||||||
|[Blog](https://github.com/elbruno/Blog ) |face_recognition, imutils, PIL, flask, cv2 |
|
|
||||||
|[CCTO](https://github.com/SnarferX/CCTO ) |sets, SimpleHTTPSErver, requests, dircache, ovm_lib, jarray, pip, httplib, urllib3, SockerServer, ansible, hello, java, ovmclient |
|
|
||||||
|[CFE_30D.PY](https://github.com/torredefarol24/CFE_30D.PY ) |formatting, flask, scrape, logger, requests, pandas, download_util, requests_html |
|
|
||||||
|[COVID-19API](https://github.com/zeroday0619/COVID-19API ) |aiohttp, ujson, async_lru, API, scrapy, fastapi_plugins, aioredis, bs4 |
|
|
||||||
|[COVID-QA](https://github.com/deepset-ai/COVID-QA ) |elasticapm, eval, sentence_transformers, sklearn, elasticsearch, tqdm, scrapy, requests, backend, nltk, haystack, preprocess, farm, langid, datasources, torch, tfidf_train, covid_nlp |
|
|
||||||
|[CUCM-Phone-Info](https://github.com/jsteinberg1/CUCM-Phone-Info ) |rq, cryptography, zeep, requests, redis, lxml, lib, apscheduler, api, OpenSSL, sqlalchemy, jwt, bs4 |
|
|
||||||
|[Chatbot](https://github.com/aramakus/Chatbot ) |nltk, chatterbot, sklearn, requests, tqdm, chatbot |
|
|
||||||
|[ChatiChatou](https://github.com/auredentan/ChatiChatou ) |chat, aioredis |
|
|
||||||
|[CheckersAI](https://github.com/HuiiBuh/CheckersAI ) |pytest, aiohttp, game, api, conftest, checkers |
|
|
||||||
|[Cloud_APS1](https://github.com/ehrhardt98/Cloud_APS1 ) |pymongo, requests |
|
|
||||||
|[CryptoViz](https://github.com/MohanVashist1/CryptoViz ) |bs4, requests, pyti, pymongo, lib, binance, dateutil, cryptocalculator, channelfinder, dotenv, flask, boto3, click, fastapi_users |
|
|
||||||
|[DS-API](https://github.com/BW-Post-Here-06-2020/DS-API ) |dotenv, praw |
|
|
||||||
|[Daft](https://github.com/mpalka31/DaftAcademyCourse ) |main, queries, schemas, pytest, jose, database, crud |
|
|
||||||
|[Daims_FastAPI](https://github.com/GeorgeMiao219/Daims_FastAPI ) |auth, dns, dataset, config, url, utils, database |
|
|
||||||
|[Data-Engineering](https://github.com/De-Dash/Data-Engineering ) |nltk, aiohttp, api |
|
|
||||||
|[Docker-Builder](https://github.com/Javier162380/Docker-Builder ) |rq, pytest, endpoints, requests, redis, builder, docker, settings, docker_builder, models, worker, middlewares, router |
|
|
||||||
|[DockerImageResNet50](https://github.com/OrenLeung/DockerImageResNet50 ) |redis, PIL, locust, keras |
|
|
||||||
|[Downotifier](https://github.com/herbzhao/Downotifier ) |twilio, bs4, requests, URLChecker, TwilioWhatsapp |
|
|
||||||
|[ExcelTools](https://github.com/xx2life/ExcelTools ) |motor, databases |
|
|
||||||
|[ExpenseAPI](https://github.com/MushroomMaula/ExpenseAPI ) |pytest, faker, sqlalchemy, myapp, fastapi_login, alembic, dotenv |
|
|
||||||
|[FAAS](https://github.com/jacksonhenry3/FAAS ) |flask |
|
|
||||||
|[Fast-API-Starter](https://github.com/khaman1/Fast-API-Starter ) |shared, urls |
|
|
||||||
|[Fast-Project](https://github.com/alex-2201/Fast-Project ) |redis, conn, cassandra, apis, pymysql, logzero, models, utils, middlewares |
|
|
||||||
|[FastAPI-Auth](https://github.com/Madpilot0/FastAPI-Auth ) |bcrypt, lib, routes, yaml, jwt, MySQLdb |
|
|
||||||
|[FastAPI-CRUD](https://github.com/Mr-Manna/FastAPI-CRUD ) |databases, sqlalchemy, post, config |
|
|
||||||
|[FastAPI-Demo](https://github.com/JPMike/FastAPI-Demo ) |requests |
|
|
||||||
|[FastAPI-Example](https://github.com/gauravgola96/FastAPI-Example ) |botocore, aiobotocore, dotenv, s3_events, boto3, utils |
|
|
||||||
|[FastAPI-Learning-Example](https://github.com/oinsd/FastAPI-Learning-Example ) |main, main_b, jwt, routers, sqlalchemy, database, passlib |
|
|
||||||
|[FastAPI-React-PostgreSQL_Full-Stack](https://github.com/scionoftech/FastAPI-React-PostgreSQL_Full-Stack ) |db, setuptools, logs, passlib, utils, sqlalchemy, conf, routes, auth, jwt |
|
|
||||||
|[FastAPITutorial](https://github.com/HeywoodKing/FastAPITutorial ) |invoke, config |
|
|
||||||
|[FastAPI_Tortoise_template](https://github.com/GoddessEyes/FastAPI_Tortoise_template ) |celery, jwt, tortoise, template, passlib, emails |
|
|
||||||
|[FastAPI_Vue](https://github.com/quietking0312/FastAPI_Vue ) |pymongo, apps |
|
|
||||||
|[FastAPI_app1](https://github.com/Sai-Vamsi-Ogety/FastAPI_app1 ) |spacy |
|
|
||||||
|[FastAPI_proto](https://github.com/bartomo/FastAPI_proto ) |controllers, urls, sqlalchemy, db, models |
|
|
||||||
|[FastAdmin](https://github.com/CoderCharm/FastAdmin ) |passlib, loguru, sqlalchemy, myapp, jose, alembic |
|
|
||||||
|[Fastapi](https://github.com/xyz25/Fastapi ) |router_app, sqlalchemy |
|
|
||||||
|[FastapiLearn](https://github.com/xuqm/FastapiLearn ) |part4, part11, part7, part8, part15, part2, part10, application, part14, part12, part9, part13, part3, part16, part1, part5, part6 |
|
|
||||||
|[Fusion-Vision](https://github.com/sdhnshu/Fusion-Vision ) |wandb, pytest, sklearn, requests, tqdm, torch, text_classification |
|
|
||||||
|[GET_POST](https://github.com/mitsumushibayama/GET_POST ) |MySQLdb |
|
|
||||||
|[GraphQLAPI](https://github.com/webjunkie01/GraphQLAPI ) |graphene, cryptacular, pytest, graphene_sqlalchemy, sqlalchemy |
|
|
||||||
|[Gringotts](https://github.com/cning112/Gringotts ) |werkzeug, requests, flask_restplus, typing_extensions, apis, flask_cors, libs, flask, routers, models |
|
|
||||||
|[HjwzwApi](https://github.com/k1dave6412/HjwzwApi ) |backend, requests, aiohttp, asyncpg, loguru, sqlalchemy, myapp, alembic, databases, bs4 |
|
|
||||||
|[Image-Diff-back](https://github.com/filipe-guerra/Image-Diff-back ) |imutils, skimage, imageDiff, cv2 |
|
|
||||||
|[Item-Xref](https://github.com/Roselingit/Item-Xref ) |psycopg2 |
|
|
||||||
|[KOARCH](https://github.com/janstrohschein/KOARCH ) |classes, emotion_recognition_master, pydash, sklearn, requests, tweepy, scipy, kafka, yaml, psycopg2, emotion_predictor, avro, keras |
|
|
||||||
|[Logging-Service](https://github.com/eHelply/Logging-Service ) |kombu, setuptools, pymongo, redis, sentry_asgi, sentry_sdk, pymlconf, socketio, src |
|
|
||||||
|[MLServer](https://github.com/SeldonIO/MLServer ) |orjson, grpc, click, pytest, mlserver, google, setuptools |
|
|
||||||
|[MallAPI](https://github.com/CoderCharm/MallAPI ) |alembic, loguru, sqlalchemy, extensions, setting, myapp, api, utils |
|
|
||||||
|[MealCare](https://github.com/hack4impact-mcgill/MealCare ) |pony, passlib, config, tests, sqlalchemy, psycopg2, jwt |
|
|
||||||
|[MetodoClasificacionTexto](https://github.com/talend-Erick/MetodoClasificacionTexto ) |gensim, nltk, spacy, src, pandas |
|
|
||||||
|[MyChild](https://github.com/YunusovSamat/MyChild ) |passlib, asyncpg, tortoise, sqlalchemy, alembic, databases, jwt |
|
|
||||||
|[MyNotes](https://github.com/wq758511990/MyNotes ) |serial, werkzeug, flask_sqlalchemy, flask_httpauth, sqlalchemy, wtforms, pytz, webapp, flask, itsdangerous |
|
|
||||||
|[NIMSPARQL](https://github.com/Ningensei848/NIMSPARQL ) |elasticapm, sqlalchemy, elasticsearch, db, api |
|
|
||||||
|[NT118](https://github.com/maivanhung33/NT118 ) |request, kombu, common, elasticsearch, geopy, requests, injector, pymongo, redis, consul, boltons, cachetools, controller, elasticsearch_dsl, sqlalchemy, service, pytz, response |
|
|
||||||
|[News-Summarizer](https://github.com/CYBINT-IN/News-Summarizer ) |scipy, sentence_transformers, flask, sklearn, torch, requests, transformers, pyLDAvis, bs4 |
|
|
||||||
|[Notification-Service](https://github.com/eHelply/Notification-Service ) |kombu, setuptools, pymongo, redis, sentry_asgi, sentry_sdk, pymlconf, socketio, src |
|
|
||||||
|[Pycharm](https://github.com/godori004/Pycharm ) |urllib3, flask_restful, flask, src, pandas, google |
|
|
||||||
|[Python-example](https://github.com/hzjsea/Python-example ) |netmiko, static_files, requests, basedb, sqlalchemy, ansible, zabbix_info |
|
|
||||||
|[Python3Test](https://github.com/hjslovehr/Python3Test ) |requests, redis, openpyxl, sqlhelper, pymssql, md5_helper, flask, helpers, bs4 |
|
|
||||||
|[PythonFastApi](https://github.com/kbeaugrand/PythonFastApi ) |win32service, win32event, servicemanager, win32serviceutil, yaml |
|
|
||||||
|[RemoteVP-Npc](https://github.com/viccom/RemoteVP-Npc ) |win32serviceutil, serial, requests, apps, pythoncom, cores, helper, ping3, bases, hbmqtt, conf, Crypto, wmi |
|
|
||||||
|[RestFramework](https://github.com/rakesh4real/RestFramework ) |django, streamapp, rest_framework, other_app, jwt, senddata, my_app, passlib |
|
|
||||||
|[SOA](https://github.com/FisnikL/SOA ) |prometheus_client, sqlalchemy, sqlalchemy_utils, database |
|
|
||||||
|[Semester-Stats](https://github.com/Rushyanth111/Semester-Stats ) |playhouse, faker, setuptools, peewee, mailmerge, docx |
|
|
||||||
|[Service-Template](https://github.com/eHelply/Service-Template ) |kombu, setuptools, pymongo, redis, sentry_asgi, sentry_sdk, pymlconf, socketio, src |
|
|
||||||
|[SpotifyAPI](https://github.com/dixneuf19/SpotifyAPI ) |spotipy, dotenv, src |
|
|
||||||
|[StanleyIpkiss](https://github.com/JimmiBram/StanleyIpkiss ) |tests, sibase |
|
|
||||||
|[Studium-ds](https://github.com/Lambda-School-Labs/Studium-ds ) |retrieve_definition, gauge_plot, requests, calendar_heatmap, inflect |
|
|
||||||
|[TT_COVID19_API_site_and_emailer](https://github.com/VSpectrum/TT_COVID19_API_site_and_emailer ) |email_validator, requests, config, emailer |
|
|
||||||
|[TaskXenter](https://github.com/CoolSpring8/TaskXenter ) |celery, sentry_sdk, loguru, databases, jwt, tortoise, passlib, httpx |
|
|
||||||
|[Telegram-BusBot-DataManager](https://github.com/David-Lor/Telegram-BusBot-DataManager ) |pymongo, motor, busbot_data_manager |
|
|
||||||
|[WAM_server_API_template](https://github.com/rl-institut/WAM_server_API_template ) |flask_app, celery, flask, pytest, worker, sphinx_rtd_theme |
|
|
||||||
|[WEB](https://github.com/maivanhung33/WEB ) |request, kombu, common, elasticsearch, geopy, requests, injector, pymongo, redis, consul, boltons, cachetools, controller, elasticsearch_dsl, sqlalchemy, service, pytz, response |
|
|
||||||
|[WFM](https://github.com/unegade/WFM ) |pika, aio_pika, BSSAPI, locust |
|
|
||||||
|[WebApp-PhoneClassifier](https://github.com/minh-dg/WebApp-PhoneClassifier ) |fastai |
|
|
||||||
|[WitnessMe](https://github.com/byt3bl33d3r/WitnessMe ) |xmltodict, imgcat, pytest, pyppeteer, jinja2, terminaltables, prompt_toolkit, pkg_resources, aiosqlite, yaml, witnessme |
|
|
||||||
|[Words_record](https://github.com/LMFrank/Words_record ) |databases, pytest, pymysql, sqlalchemy, requests |
|
|
||||||
|[Workspace](https://github.com/AYCHSPACE/Workspace ) |tqdm, jupyter_core, setuptools, tornado, crontab, pip, psutil, IPython, git, notebook |
|
|
||||||
|[YoutubeBackup](https://github.com/FratStar/YoutubeBackup ) |google_auth_oauthlib, zeep, googleapiclient, spyne, google |
|
|
||||||
|[Zulu](https://github.com/OSS-team-zulu/Zulu ) |requests, passlib, pymongo, geojson, tests, zulu, dynaconf, jwt, bson, pytest |
|
|
||||||
|[ai-dungeon](https://github.com/AntonNeld/ai-dungeon ) |errors, test_utils, typing_extensions, pytest, models, api, dungeon |
|
|
||||||
|[aioprometheus](https://github.com/claws/aioprometheus ) |setuptools, aiohttp, alabaster, quart, psutil, asynctest, sphinx, aioprometheus, quantile, prometheus_metrics_proto |
|
|
||||||
|[aita](https://github.com/logan-connolly/aita ) |pytest, requests, tqdm, aiohttp, asyncpg, aita, loguru, orm, typer, sqlalchemy, databases, praw |
|
|
||||||
|[alda-online](https://github.com/JesseChua94/alda-online ) |models, alda |
|
|
||||||
|[alg_interface_fastapi_project](https://github.com/wuzaipei/alg_interface_fastapi_project ) |system_file, pymysql, sqlalchemy, data_model |
|
|
||||||
|[alice-yamaha-skill](https://github.com/toshka/alice-yamaha-skill ) |exceptions, auth, yaml, capabilities, routers, rxv, config, httpx |
|
|
||||||
|[allay-ds](https://github.com/Lambda-School-Labs/allay-ds ) |wandb, spacy, sklearn, requests, scrapy, process_data, fastapi_app, tensorflow, numpy, indeed, en_core_web_sm, dotenv |
|
|
||||||
|[allure_reporter](https://github.com/penguinlav/allure_reporter ) |jinja2, requests, allure_reporter, loguru, aiofiles, async_generator, pytest |
|
|
||||||
|[andrewhou-zonar](https://github.com/amhou/andrewhou-zonar ) |main, requests, util |
|
|
||||||
|[apex-tracker](https://github.com/Timzan/apex-tracker ) |routers, requests, config |
|
|
||||||
|[api](https://github.com/wuzaipei/alg_interface_fastapi_project ) |pyazo_api, alembic, dotenv, jwt, sqlalchemy, passlib |
|
|
||||||
|[api-ocr](https://github.com/dzakyputra/api-ocr ) |tesserocr, PIL, cv2, modules |
|
|
||||||
|[api-poc](https://github.com/igorfarias30/fastapi-poc ) |sklearn |
|
|
||||||
|[api.authentication](https://github.com/jrhuerta/api.authentication ) |api_authentication |
|
|
||||||
|[api_works](https://github.com/omrylcn/api_works ) |PIL, requests |
|
|
||||||
|[apiestas](https://github.com/franloza/apiestas ) |crawling, scrapy, fuzzywuzzy, loguru, slugify, api, js2xml, dateparser, typer, twisted, pytz, motor |
|
|
||||||
|[apitoolbox](https://github.com/zuarbase/apitoolbox ) |pytest, setuptools, passlib, sqlalchemy_filters, tests, sqlalchemy, ordered_uuid, tzlocal, pytz, jwt, apitoolbox, itsdangerous |
|
|
||||||
|[arcas](https://github.com/maialogic/arcas ) |graphene, snapshottest |
|
|
||||||
|[asgi-server-timing-middleware](https://github.com/sm-Fifteen/asgi-server-timing-middleware ) |yappi, asgi_server_timing, setuptools |
|
|
||||||
|[asu-schedule](https://github.com/skhortiuk/asu-schedule ) |aiohttp, src, validators, bs4 |
|
|
||||||
|[async_django_session](https://github.com/imbolc/async_django_session ) |setuptools, aiohttp, asyncpg, async_django_session, cfg, django, databases |
|
|
||||||
|[authal-poc](https://github.com/michal-nakoneczny/authal-poc ) |authal, asynctest, pytest, bson, requests, tests, httpx |
|
|
||||||
|[auto_populate](https://github.com/NealWhitlock/auto_populate ) |psycopg2, getter |
|
|
||||||
|[autoloadtest](https://github.com/hkiang01/autoloadtest ) |locust, hypothesis |
|
|
||||||
|[automagic_hashtag](https://github.com/MarianMalvin/automagic_hashtag ) |utils, google |
|
|
||||||
|[b0mb3r](https://github.com/crinny/b0mb3r ) |setuptools, sentry_sdk, loguru, pkg_resources, b0mb3r, phonenumbers, click, httpx |
|
|
||||||
|[b2blue-challenge](https://github.com/lfvilella/b2blue-challenge ) |pydantic_sqlalchemy, sqlalchemy |
|
|
||||||
|[b3ta](https://github.com/nm17/b3ta ) |setuptools, sentry_sdk, loguru, pkg_resources, service, b0mb3r, phonenumbers, click, httpx |
|
|
||||||
|[backend](https://github.com/ElusiveSpirit/fbd-backend ) |asynctest, transliterate |
|
|
||||||
|[backend-skeleton](https://github.com/dmontagu/backend-skeleton ) |pytest, requests, typing_extensions, sqlalchemy_utils, tests, sqlalchemy, myapp, alembic, tenacity |
|
|
||||||
|[balikobot_tmp_2](https://github.com/Horac-Bouthon/balikobot_tmp_2 ) |logger_wrapper, databases, schemas, sqlalchemy, conf, routers, sql_factory |
|
|
||||||
|[base-fastapi-postgresql](https://github.com/alldevic/base-fastapi-postgresql ) |alembic, arq, sqlalchemy, sqlalchemy_utils, gino |
|
|
||||||
|[basic-python-postgis-docker](https://github.com/stephenhillier/basic-python-postgis-docker ) |alembic, tenacity, sqlalchemy, myapp |
|
|
||||||
|[bc_rates](https://github.com/MRobalinho/bc_rates ) |bc |
|
|
||||||
|[belajar-fastapi](https://github.com/aansubarkah/belajar-fastapi ) |yfinance, sqlalchemy, models, config, tutorial, database |
|
|
||||||
|[bench-rest-api-frameworks](https://github.com/py4mac/bench-rest-api-frameworks ) |sanic, locust, aiohttp, tornado, api, main, core |
|
|
||||||
|[biomedical-computing-project-backend](https://github.com/SinaKhalili/biomedical-computing-project-backend ) |extra, xlrd, CoronaAnalysis |
|
|
||||||
|[blog](https://github.com/deagle-z/blog ) |blog, loguru, jwt, sqlalchemy |
|
|
||||||
|[blog-posts](https://github.com/tiangolo/blog-posts ) |pytest, sqlalchemy, jose, passlib |
|
|
||||||
|[bluesky](https://github.com/paulorodriguesxv/bluesky ) |pytest, passlib, aiohttp, decouple, sqlalchemy_utils, sqlalchemy, myapp, alembic, jwt |
|
|
||||||
|[boilerplate](https://github.com/pmcarlos/fast-api-boilerplate ) |utils, config |
|
|
||||||
|[book-graphics](https://github.com/kamartem/book-graphics ) |alembic, sentry_sdk, asyncpg, loguru, sqlalchemy, gino |
|
|
||||||
|[bplustogether](https://github.com/wborbajr/bplustogether ) |dynaconf, databases, loguru, sqlalchemy, bpapi |
|
|
||||||
|[bracket_install](https://github.com/mobjack/bracket_install ) |six, flask, requests, colorama |
|
|
||||||
|[bread-app](https://github.com/aidan-mcbride/bread-app ) |pyArango, pytest, jwt, routers, api, tests, passlib |
|
|
||||||
|[bridgeapp](https://github.com/jasujm/bridgeapp ) |click, orjson, bridgeapp, click_log, pytest, zmq |
|
|
||||||
|[budget-blocks-ds](https://github.com/Lambda-School-Labs/budget-blocks-ds ) |DB, geopy, transactionhist, mainhelp, census, main, psycopg2, dotenv, routers |
|
|
||||||
|[bullshit-website](https://github.com/kaylynn234/bullshit-website ) |corporate_bullshit |
|
|
||||||
|[burriking](https://github.com/txemac/burriking ) |infrastructure, dependency_injector, werkzeug, requests, pymongo, freezegun, tests, config, main, user_interface, application, database, flask, bson, pytest, flasgger, domain |
|
|
||||||
|[bw3_attempt](https://github.com/worldwidekatie/bw3_attempt ) |dotenv, sklearn, requests, joblib |
|
|
||||||
|[c4p2n](https://github.com/piterpy-meetup/c4p2n ) |c4p2n, fastapi_security_typeform, notion, ppm_telegram_bot_client |
|
|
||||||
|[cah-v2](https://github.com/Mdellit110/cah-v2 ) |graphene, schema, graphene_sqlalchemy, sqlalchemy, models, config, schema_blackcards, database, schema_whitecards |
|
|
||||||
|[calculator](https://github.com/ch0c01ate/calculator ) |pymongo, calculator, requests, dbsetup |
|
|
||||||
|[canvote](https://github.com/alvintangz/canvote ) |jinja2, requests, passlib, sqlalchemy_pagination, humps, sqlalchemy, myapp, pytz, alembic, secure, jwt |
|
|
||||||
|[cashflow](https://github.com/VSpectrum/cashflow ) |pytest, config |
|
|
||||||
|[ccrbackend](https://github.com/danieldominguete/ccrbackend ) |six, dotenv, dynamorm, mangum, src, jose, marshmallow |
|
|
||||||
|[challenge](https://github.com/Creditas/challenge ) |iris_classifier, sklearn |
|
|
||||||
|[chapushillo](https://github.com/maxipavlovic/chapushillo ) |pusher, dotenv, pusher_client |
|
|
||||||
|[checkmarx](https://github.com/zetkin/checkmarx ) |scanner, checkmarx, pytest, pyzbar, setuptools |
|
|
||||||
|[chinook_fastapi](https://github.com/sandervandorsten/chinook_fastapi ) |dotenv, setuptools, chinook_fastapi |
|
|
||||||
|[cloudrun-fastapi](https://github.com/anthcor/cloudrun-fastapi ) |pytest, actions, passlib, sqlalchemy_utils, config, tests, main, sqlalchemy, myapp, database, google, alembic, schemas, jwt, routers, gunicorn_config, models |
|
|
||||||
|[cnapp-fastapi](https://github.com/cnapp/cnapp-fastapi ) |sanic, daiquiri, jinja2, prometheus_client, cnapps, starlette_prometheus |
|
|
||||||
|[code_example_fastapi](https://github.com/d-tamirlan/code_example_fastapi ) |tortoise, src, envparse, fastapi_users |
|
|
||||||
|[codewars-watchdog](https://github.com/uriyyo/codewars-watchdog ) |git |
|
|
||||||
|[coding-challenges](https://github.com/fjemi/coding-challenges ) |password_generator, tqdm, jsbeautifier, dateutil, matplotlib, flask_api, word_square_check, flask |
|
|
||||||
|[concurrency](https://github.com/Jorricks/concurrency ) |PIL, setuptools, redis, dataclasses_json, src, asgiref, click |
|
|
||||||
|[contact-form](https://github.com/k4ssyi/contact-form ) |dotenv, controllers, urls, settings, utils, request_body |
|
|
||||||
|[cookiecutter-python](https://github.com/ValentinCalomme/cookiecutter-python ) |typer |
|
|
||||||
|[cookiecutter-simcore-py-fastapi](https://github.com/pcrespov/cookiecutter-simcore-py-fastapi ) |cryptography, pytest, servicelib, setuptools, simcore_service_catalog, aiohttp, pkg_resources, attr, ptvsd, aiopg, sqlalchemy, tenacity, yarl, httpx |
|
|
||||||
|[coronavirus-tg-api](https://github.com/egbakou/coronavirus-tg-api ) |aiohttp, invoke, asyncmock, dateparser, async_asgi_testclient, async_generator, dotenv, pytest, bs4 |
|
|
||||||
|[coursera-ibm-ai-workflow-submission](https://github.com/eightBEC/coursera-ibm-ai-workflow-submission ) |loguru, sklearn, pytest, joblib |
|
|
||||||
|[coursework](https://github.com/algorithm-ssau/coursework ) |dotenv, databases, motor |
|
|
||||||
|[covid-19-Chile](https://github.com/RentadroneCL/covid-19-Chile ) |orator, dotenv, routes, pendulum, covid_19_chile, config, database |
|
|
||||||
|[covid-19-dashboard-api](https://github.com/zeshuaro/covid-19-dashboard-api ) |sortedcontainers, dotenv, jwt, pycountry, requests, google, passlib |
|
|
||||||
|[covid19-id](https://github.com/anzharip/covid19-id ) |selenium, requests |
|
|
||||||
|[covidfaq](https://github.com/dialoguemd/covidfaq ) |pytest, spacy, sklearn, tqdm, requests, covidfaq, selenium, bert_reranker, structlog, spacy_langdetect, yaml, html2text, boto3, torch, transformers, bs4 |
|
|
||||||
|[covidsage](https://github.com/chancey-gardener/covidsage ) |spacy, data_loader, requests, backends, nlu_client, numpy, matplotlib, plotter, rasa, rasa_sdk, pymysql, discourse |
|
|
||||||
|[cpython3-fastapi](https://github.com/phongln/cpython3-fastapi ) |blog, admin |
|
|
||||||
|[custom-actions-app-python](https://github.com/Frameio/custom-actions-app-python ) |pytest, requests, custom_actions |
|
|
||||||
|[daftacademy-python-levelup](https://github.com/holdenkold/daftacademy-python-levelup ) |main, pytest |
|
|
||||||
|[daiei-backend](https://github.com/a-nakajima-at-shokuryu/daiei-backend ) |fastapi_server, dotenv, models, utils, dateutil, settings |
|
|
||||||
|[daizu-online-judge-backend](https://github.com/SoyBeansLab/daizu-online-judge-backend ) |psycopg2, infrastructure, marshmallow_dataclass, interface, marshmallow, domain |
|
|
||||||
|[dask-remote](https://github.com/octoenergy/dask-remote ) |distributed, typing_extensions, pytest, requests, dask_remote, setuptools |
|
|
||||||
|[datarepo](https://github.com/PUG-PB-Traducao/datarepo ) |bcrypt, dotenv, fastapi_sqlalchemy, sqlalchemy |
|
|
||||||
|[debitcard](https://github.com/xpnewmedia/debitcard ) |debitcard |
|
|
||||||
|[debts](https://github.com/afonasev/debts ) |pytest, locust, factory, passlib, sentry_asgi, sentry_sdk, contextvars_executor, server, context_logging, sqlalchemy, alembic, jwt |
|
|
||||||
|[decentralized-news-publishing](https://github.com/teddymarkov/decentralized-news-publishing ) |ariadne |
|
|
||||||
|[demo-dms](https://github.com/gucharbon/demo-dms ) |urllib3, typer, pytest, minio, backend |
|
|
||||||
|[deploy](https://github.com/pcmalves/codeploy-teste ) |main |
|
|
||||||
|[devops-assignment](https://github.com/fokinpv/devops-assignment ) |asynctest, pytest, service, pulp |
|
|
||||||
|[devs-conn-api](https://github.com/txemac/devs-conn-api ) |github, pytest, sqlalchemy, sqlalchemy_utils, data, twitter, tests |
|
|
||||||
|[dfstore](https://github.com/Exhor/dfstore ) |requests, src, tests, feather |
|
|
||||||
|[dig-bioindex](https://github.com/broadinstitute/dig-bioindex ) |requests, colorama, orjson, lib, enlighten, sqlalchemy, dotenv, boto3, click |
|
|
||||||
|[django-fastapi-example](https://github.com/jordaneremieff/django-fastapi-example ) |django, api |
|
|
||||||
|[docker-fastapi-demo](https://github.com/pylixm/docker-fastapi-demo ) |alembic, loguru, databases, core, sqlalchemy, service, myapp, api |
|
|
||||||
|[docker-workshop](https://github.com/blairdrummond/docker-workshop ) |scipy, PIL, dash, flask, inference, sklearn, requests, numpy, joblib, flask_caching |
|
|
||||||
|[downloads_statistics](https://github.com/mmidu/downloads_statistics ) |redis, main, seeds, controllers, DownloadSeeder, requests, models, config, utils, DownloadsController |
|
|
||||||
|[dreamcatcher](https://github.com/sbathgate/dreamcatcher ) |pytest, passlib, sqlalchemy, myapp, jose, alembic, celery, tenacity, raven, emails |
|
|
||||||
|[duke](https://github.com/jamescurtin/duke ) |duke, PIL, pytest |
|
|
||||||
|[eXchangeAPI-PY](https://github.com/wborbajr/eXchangeAPI-PY ) |pymongo, dynaconf, exchangeapi, motor |
|
|
||||||
|[educator_api](https://github.com/wycliffogembo87/educator_api ) |pony, requests, passlib, loguru, api, settings, schemas, core, models, util |
|
|
||||||
|[effortless_fast_api](https://github.com/davideasaf/effortless_fast_api ) |requests, passlib, invoke, config, utils, main, sqlalchemy, schemas, jwt, models, services, pytest |
|
|
||||||
|[embl_python_software_engineer_test](https://github.com/yusra-haider/embl_python_software_engineer_test ) |sqlalchemy, requests |
|
|
||||||
|[eml_analyzer](https://github.com/ninoseki/eml_analyzer ) |async_timeout, pytest, eml_parser, compressed_rtf, arrow, compoundfiles, olefile, loguru, fastapi_utils, tests, dateparser, asynctest, magic, aiospamc, ioc_finder, respx, httpx |
|
|
||||||
|[entroprise-api](https://github.com/peterdeepsix/entroprise-api ) |simpletransformers, service, models, api |
|
|
||||||
|[eu-taxation-customs-api](https://github.com/aditya-08/eu-taxation-customs-api ) |main, zeep, requests |
|
|
||||||
|[events-api](https://github.com/txemac/events-api ) |pytz, xmltodict, pytest, sqlalchemy, sqlalchemy_utils, apscheduler, data, requests, tests |
|
|
||||||
|[example-fastapi-sqlachemy-pytest](https://github.com/timhughes/example-fastapi-sqlachemy-pytest ) |example, pytest, sqlalchemy |
|
|
||||||
|[excerpt-formatter](https://github.com/cmckillop/excerpt-formatter ) |text_formatter, slack_manager, requests, models |
|
|
||||||
|[fake-news-game](https://github.com/jsandovalc/fake-news-game ) |databases |
|
|
||||||
|[fantasy-fencing](https://github.com/Innoviox/fantasy-fencing ) |colorlog, selenium, click, scrape, requests, logs, bs4 |
|
|
||||||
|[fapi](https://github.com/glebofff/fapi ) |api, sqlalchemy, myapp, alembic, fastapi_sqlalchemy, core, models, click |
|
|
||||||
|[fast](https://github.com/foobar8675/fastai-bite ) |routers, user |
|
|
||||||
|[fast-api-asyncdb](https://github.com/tsadimas/fast-api-asyncdb ) |dotenv, databases, sqlalchemy, settings, fastapi_users |
|
|
||||||
|[fast-api-boilerplate](https://github.com/pmcarlos/fast-api-boilerplate ) |alembic, dotenv, fastapi_sqlalchemy, core, sqlalchemy, myapp |
|
|
||||||
|[fast-api-rest](https://github.com/javier-lopez/fast-api-rest ) |config, bjoern |
|
|
||||||
|[fast-api-sql-template](https://github.com/Jonatha-Varjao/fast-api-sql-template ) |pytest, googletrans, requests, passlib, sqlalchemy_utils, sqlalchemy, alembic, jwt, emails |
|
|
||||||
|[fast-elm](https://github.com/yuzebin/fast-elm ) |bcrypt, fmmodel, requests, fmsecurity, passlib, fmdb, slugify, fmcrud, fmapi, databases, motor, jwt, fmtoken, bson |
|
|
||||||
|[fastAPI-be](https://github.com/BonneC/fastAPI-be ) |alembic, dotenv, sqlalchemy, models, api, config, myapp, crud |
|
|
||||||
|[fastApi](https://github.com/fionasummer/fastApiSelf ) |my_super_project, graphene, projetStage, sqlalchemy |
|
|
||||||
|[fastApiSelf](https://github.com/fionasummer/fastApiSelf ) |pytest, rr, sqlalchemy, websocket, fackApi, app1 |
|
|
||||||
|[fastApiSimple](https://github.com/marirs/fastApiSimple ) |pymongo, geoip2, motor, server |
|
|
||||||
|[fastAppAppointment](https://github.com/EdvinaNakos/fastAppAppointment ) |main, controller, databases, sqlalchemy, db, service |
|
|
||||||
|[fast_api](https://github.com/davideasaf/effortless_fast_api ) |app_utils, bcrypt, schemas, jwt, sqlalchemy, models, database, crud |
|
|
||||||
|[fast_api_camelcase_example](https://github.com/ahmednafies/fast_api_camelcase_example ) |humps, models |
|
|
||||||
|[fast_api_self_study](https://github.com/cuongld2/fast_api_self_study ) |bcrypt, jwt, sqlalchemy, sql_app |
|
|
||||||
|[fastaaps](https://github.com/sergio-chumacero/fastaaps ) |pymongo, celery, motor |
|
|
||||||
|[fastai-bite](https://github.com/foobar8675/fastai-bite ) |PIL, graphene, my_utils, fastai2, cv2, httpx |
|
|
||||||
|[fastapi-GraphQL-full-stack-docker-github-actions-graphene-test-client-template](https://github.com/gaylonalfano/fastapi-GraphQL-full-stack-docker-github-actions-graphene-test-client-template )|graphene, pytest, sqlalchemy, graphql, snapshottest |
|
|
||||||
|[fastapi-GraphQL-full-stack-docker-travisci-starlette-test-client-template](https://github.com/gaylonalfano/fastapi-GraphQL-full-stack-docker-travisci-starlette-test-client-template ) |graphene, pytest |
|
|
||||||
|[fastapi-admin](https://github.com/long2ice/fastapi-admin ) |colorama, passlib, fastapi_admin, prompt_toolkit, tortoise, module, xlsxwriter, jwt |
|
|
||||||
|[fastapi-auth](https://github.com/dmontagu/fastapi-auth ) |argon2, bcrypt, pytest, requests, typing_extensions, fastapi_auth, tests, sqlalchemy, jwt |
|
|
||||||
|[fastapi-backend](https://github.com/dev-courses/fastapi-backend ) |bcrypt, pytest, passlib, asyncpg, loguru, slugify, tests, asgi_lifespan, sqlalchemy, docker, alembic, psycopg2, databases, jwt, httpx |
|
|
||||||
|[fastapi-boilerplate](https://github.com/teamhide/fastapi-boilerplate ) |alembic, jwt, sqlalchemy, core, myapp |
|
|
||||||
|[fastapi-celery](https://github.com/GregaVrbancic/fastapi-celery ) |worker, celery |
|
|
||||||
|[fastapi-celery-redis-rabbitmq](https://github.com/karthikasasanka/fastapi-celery-redis-rabbitmq ) |redis, celery, shopping |
|
|
||||||
|[fastapi-cool](https://github.com/genchsusu/fastapi-cool ) |kombu, aiosmtplib, tortoise, yaml, settings, celery, jwt, ldap3 |
|
|
||||||
|[fastapi-crud](https://github.com/sophiabrandt/fastapi-crud ) |databases, pytest, sqlalchemy, db |
|
|
||||||
|[fastapi-crud-sync](https://github.com/testdrivenio/fastapi-crud-sync ) |pytest, sqlalchemy |
|
|
||||||
|[fastapi-demo](https://github.com/sonhal/fastapi-demo ) |rethinkdb, fastapi_demo |
|
|
||||||
|[fastapi-discovery](https://github.com/DenisOH/fastapi-discovery ) |sqlalchemy, fastapi_discovery |
|
|
||||||
|[fastapi-docs-cn](https://github.com/apachecn/fastapi-docs-cn ) |graphene, passlib, peewee, couchbase, sqlalchemy, flask, databases, jwt |
|
|
||||||
|[fastapi-esf-demo](https://github.com/hightfly/fastapi-esf-demo ) |databases, sqlalchemy, sqlalchemy_utils |
|
|
||||||
|[fastapi-etag](https://github.com/steinitzu/fastapi-etag ) |pytest, requests, fastapi_etag |
|
|
||||||
|[fastapi-exploring](https://github.com/manjurulhoque/fastapi-exploring ) |alembic, dotenv, fastapi_sqlalchemy, sqlalchemy, myapp |
|
|
||||||
|[fastapi-for-firebase](https://github.com/attakei/fastapi-for-firebase ) |fastapi_for_firebase, pytest |
|
|
||||||
|[fastapi-fullstack](https://github.com/lfvilella/fastapi-fullstack ) |pytest, sqlalchemy, validate_docbr |
|
|
||||||
|[fastapi-healthcheck](https://github.com/jeffsiver/fastapi-healthcheck ) |healthcheck, setuptools |
|
|
||||||
|[fastapi-helloworld](https://github.com/yashwanthl/fastapi-helloworld ) |nltk, sklearn, modules |
|
|
||||||
|[fastapi-hero](https://github.com/Hedde/fastapi-heroku-test ) |dotenv, motor, core, db, bson, models, api |
|
|
||||||
|[fastapi-hex-boilerplate](https://github.com/GArmane/fastapi-hex-boilerplate ) |factory, toolz, tests, sqlalchemy, myapp, alembic, dotenv, databases, pytest |
|
|
||||||
|[fastapi-jsonrpc](https://github.com/smagafurov/fastapi-jsonrpc ) |fastapi_jsonrpc, aiojobs, pytest, setuptools |
|
|
||||||
|[fastapi-jwt](https://github.com/carminati-marco/fastapi-jwt ) |ms_auth, auth, jwt, passlib |
|
|
||||||
|[fastapi-layered-architecture](https://github.com/teamhide/fastapi-layered-architecture ) |alembic, pythondi, jwt, sqlalchemy, core, myapp |
|
|
||||||
|[fastapi-login](https://github.com/parsd/fastapi-login ) |pytest, requests, setuptools, fastapi_login, assertpy |
|
|
||||||
|[fastapi-mako](https://github.com/LouisYZK/fastapi-mako ) |mako, setuptools |
|
|
||||||
|[fastapi-mangum-example](https://github.com/chgangaraju/fastapi-mangum-example ) |mangum |
|
|
||||||
|[fastapi-microblog](https://github.com/vkhnychenko/fastapi-microblog ) |alembic, core, sqlalchemy, microblog, myapp, user |
|
|
||||||
|[fastapi-ml-scaffolding](https://github.com/jmeisele/fastapi-ml-scaffolding ) |loguru, pytest, fastapi_scaffolding, joblib |
|
|
||||||
|[fastapi-ml-skeleton](https://github.com/eightBEC/fastapi-ml-skeleton ) |loguru, pytest, fastapi_skeleton, joblib |
|
|
||||||
|[fastapi-mount](https://github.com/Midnighter/fastapi-mount ) |mount_demo |
|
|
||||||
|[fastapi-nuxt-blog](https://github.com/tokusumi/fastapi-nuxt-blog ) |PIL, passlib, sqlalchemy_utils, sqlalchemy, myapp, sendgrid, pytz, alembic, jwt, boto3, pytest |
|
|
||||||
|[fastapi-permissions](https://github.com/holgi/fastapi-permissions ) |pytest, jwt, fastapi_permissions, passlib |
|
|
||||||
|[fastapi-playground](https://github.com/FlorianBorn/fastapi-playground ) |PIL, fastai |
|
|
||||||
|[fastapi-plugins](https://github.com/madkote/fastapi-plugins ) |fastapi_plugins, setuptools, aioredis, tenacity, aiojobs, pytest |
|
|
||||||
|[fastapi-poc](https://github.com/igorfarias30/fastapi-poc ) |main, data, models, todo |
|
|
||||||
|[fastapi-postgres-aws-lambda](https://github.com/KurtKline/fastapi-postgres-aws-lambda ) |mangum, sqlalchemy |
|
|
||||||
|[fastapi-realworld-example-app-mysql](https://github.com/xiaozl/fastapi-realworld-example-app-mysql ) |bcrypt, passlib, asyncpg, loguru, aiomysql, tests, asgi_lifespan, docker, psycopg2, databases, jwt, pytest, httpx |
|
|
||||||
|[fastapi-route](https://github.com/franodos/fastapi-route ) |response, setuptools |
|
|
||||||
|[fastapi-satella-metrics](https://github.com/piotrmaslanka/fastapi-satella-metrics ) |fastapi_satella_metrics, requests, setuptools, satella |
|
|
||||||
|[fastapi-scaffold](https://github.com/ibegyourpardon/fastapi-scaffold ) |xuan |
|
|
||||||
|[fastapi-simple-cachecontrol](https://github.com/attakei/fastapi-simple-cachecontrol ) |fastapi_simple_cachecontrol, pytest |
|
|
||||||
|[fastapi-simple-template](https://github.com/MushroomMaula/fastapi-simple-template ) |alembic, dotenv, pytest, faker, sqlalchemy, myapp, fastapi_login |
|
|
||||||
|[fastapi-snippets](https://github.com/hhatto/fastapi-snippets ) |caches, fastapi_plugins, aioredis |
|
|
||||||
|[fastapi-sqlalchemy](https://github.com/zuarbase/fastapi-sqlalchemy-example ) |pytest, setuptools, passlib, sqlalchemy_filters, tests, sqlalchemy, ordered_uuid, tzlocal, pytz, fastapi_sqlalchemy, jwt, itsdangerous |
|
|
||||||
|[fastapi-sqlalchemy-example](https://github.com/zuarbase/fastapi-sqlalchemy-example ) |alembic, itsdangerous, fastapi_sqlalchemy, pytest, fastapi_sqlalchemy_example, sqlalchemy, myapp, click, setuptools |
|
|
||||||
|[fastapi-starter-kit](https://github.com/Shinichi-Nakagawa/fastapi-starter-kit ) |book, pytest, sqlalchemy, db |
|
|
||||||
|[fastapi-tdd-docker](https://github.com/pmcarlos/fastapi-tdd-docker ) |pytest, tortoise |
|
|
||||||
|[fastapi-template](https://github.com/jefmud/fastapi-templates ) |pytest, setuptools, passlib, sentry_sdk, sqlalchemy_utils, gino, sqlalchemy, jose, alembic, fastapi_template, migrations |
|
|
||||||
|[fastapi-test](https://github.com/jrwalk/fastapi-test ) |pytest, pandas |
|
|
||||||
|[fastapi-tools](https://github.com/so1n/fastapi-tools ) |fastapi_tools, prometheus_client, httpx |
|
|
||||||
|[fastapi-tortoise](https://github.com/prostomarkeloff/fastapi-tortoise ) |loguru, pytest, tortoise, requests, tests |
|
|
||||||
|[fastapi-users](https://github.com/frankie567/fastapi-users ) |passlib, tortoise, tests, asynctest, asgi_lifespan, sqlalchemy, httpx_oauth, makefun, databases, motor, jwt, fastapi_users, pytest, httpx |
|
|
||||||
|[fastapi-utils](https://github.com/dmontagu/fastapi-utils ) |pytest, fastapi_utils, tests, sqlalchemy |
|
|
||||||
|[fastapi-uvicorn-gunicorn-nginx-supervisor-boilerplate](https://github.com/sumitsk20/fastapi-uvicorn-gunicorn-nginx-supervisor-boilerplate ) |orjson, motor, core, server, bson, apps, utils |
|
|
||||||
|[fastapi-versioning](https://github.com/DeanWay/fastapi-versioning ) |example, typing_extensions, fastapi_versioning, setuptools |
|
|
||||||
|[fastapi-vue-test](https://github.com/abreumatheus/fastapi-vue-test ) |PIL, sqlalchemy, myapp, pytz, alembic, boto3 |
|
|
||||||
|[fastapi-websockets](https://github.com/natanael-silvamt/fastapi-websockets ) |api |
|
|
||||||
|[fastapi-whisper-rest-api](https://github.com/BolajiOlajide/fastapi-whisper-rest-api ) |api |
|
|
||||||
|[fastapi_admin](https://github.com/Chise1/fastapi_admin ) |apps, setuptools, passlib, fastapi_admin, sqlalchemy, settings, databases, pymysql, jwt |
|
|
||||||
|[fastapi_catchup](https://github.com/Kamihara/fastapi_catchup ) |intro |
|
|
||||||
|[fastapi_douyin](https://github.com/bigdataboy2020/fastapi_douyin ) |routers, requests, settings, exceptions, spiders |
|
|
||||||
|[fastapi_gino](https://github.com/pengyejun/fastapi_gino ) |gino_starlette, pytest, gino_fastapi_demo, sqlalchemy, myapp, aioredis, alembic, poetry, urllib2 |
|
|
||||||
|[fastapi_microblog](https://github.com/mrworksome/fastapi_microblog ) |alembic, databases, core, sqlalchemy, microblog, myapp, user, passlib, fastapi_users |
|
|
||||||
|[fastapi_mock](https://github.com/superxuu/fastapi_mock ) |apis, yaml, common |
|
|
||||||
|[fastapi_model](https://github.com/Nathanlauga/fastapi_model ) |loguru, joblib |
|
|
||||||
|[fastapi_playground](https://github.com/Rurson/fastapi_playground ) |pony, db |
|
|
||||||
|[fastapi_preset](https://github.com/cln-m4rie/fastapi_preset ) |setuptools |
|
|
||||||
|[fastapi_router](https://github.com/christopherzimmerman/fastapi_router ) |fastapi_router, trimport, setuptools |
|
|
||||||
|[fastapi_serviceutils](https://github.com/skallfass/fastapi_serviceutils_template ) |pytest, requests, setuptools, toolz, loguru, fastapi_serviceutils, yaml, cookiecutter, sqlalchemy, databases |
|
|
||||||
|[fastapi_serviceutils_template](https://github.com/skallfass/fastapi_serviceutils_template ) |fastapi_serviceutils |
|
|
||||||
|[fastapi_stu](https://github.com/Thousandhack/fastapi_stu ) |aliyunsdkcore, jwt, sqlalchemy, passlib |
|
|
||||||
|[fastapi_template](https://github.com/ytxfate/fastapi_template ) |pymongo, redis, jwt, minio, project |
|
|
||||||
|[fastapi_todo_hex](https://github.com/josemlp91/fastapi_todo_hex ) |factory, toolz, pytest_factoryboy, tests, sqlalchemy, myapp, alembic, dotenv, databases, pytest, todolist |
|
|
||||||
|[fastbroker](https://github.com/cetanu/fastbroker ) |pkg_resources, ujson, fastbroker, jsonschema, setuptools |
|
|
||||||
|[fastrf](https://github.com/iancleary/fastrf ) |asgi_lifespan, pytest, fastrf, httpx |
|
|
||||||
|[fbd-backend](https://github.com/ElusiveSpirit/fbd-backend ) |redis, pytest_mock, celery, loguru, ujson, pytest, tests |
|
|
||||||
|[finance-api](https://github.com/rennerocha/finance-api ) |finance_api, dynaconf, pytest, requests |
|
|
||||||
|[first_fastapi](https://github.com/vittorduartte/first_fastapi ) |routes, ext, schemas, sqlalchemy, rules, models |
|
|
||||||
|[firstderm_demo](https://github.com/polyrand/firstderm_demo ) |requests |
|
|
||||||
|[foreign-subs](https://github.com/joe-eklund/foreign-subs ) |fsubs, setuptools, pymongo, typer, jwt, bson |
|
|
||||||
|[frontapp](https://github.com/Blasterai/frontapp ) |decorator, frontapp, requests, envparse, attr |
|
|
||||||
|[fullasync](https://github.com/lipengsh/fullasync ) |celery, tasks, core, api |
|
|
||||||
|[fullstack-fastapi-elasticsearch](https://github.com/cleobulo/fullstack-fastapi-elasticsearch ) |core, elasticsearch, db, models, api |
|
|
||||||
|[fuzzy-octo-funicular](https://github.com/mattkatz/fuzzy-octo-funicular ) |main |
|
|
||||||
|[gaia-fastapi-demo](https://github.com/muslax/gaia-fastapi-demo ) |email_validator, passlib, pymongo, sentry_sdk, motor, jwt, bson, emails |
|
|
||||||
|[gaki-server](https://github.com/shitangdama/gaki-server ) |alembic, jwt, sqlalchemy, myapp, passlib |
|
|
||||||
|[galicea-odoo-addons-ecosystem](https://github.com/galicea/galicea-odoo-addons-ecosystem ) |cryptography, werkzeug, jwcrypto, odoo, git |
|
|
||||||
|[game](https://github.com/jsandovalc/fake-news-game ) |basegame |
|
|
||||||
|[gateway-microservice](https://github.com/anforaProject/gateway-microservice ) |aiohttp, v1 |
|
|
||||||
|[gerenciador-tarefas](https://github.com/matheuspsouza/gerenciador-tarefas ) |gerenciador_tarefas |
|
|
||||||
|[gfw-tile-cache](https://github.com/wri/gfw-tile-cache ) |gino_starlette, mercantile, pytest, pendulum, async_lru, requests, shapely, cachetools, sqlalchemy, aenum |
|
|
||||||
|[gifter_api](https://github.com/zhanymkanov/gifter_api ) |pytest, jwt, sqlalchemy, tests, passlib |
|
|
||||||
|[gigscovery_backend](https://github.com/martijnboers/gigscovery_backend ) |functions, sklearn, bandsintown, spotipy |
|
|
||||||
|[gino-admin](https://github.com/xnuinside/gino-admin ) |sanic, pytest, click, jinja2, db, requests, passlib, expiring_dict, gino_admin, asyncpg, dsnparse, sqlalchemy_utils, gino, urllib3, aiofiles, yaml, sqlalchemy, sanic_jwt, sanic_jinja2 |
|
|
||||||
|[gino-starlette](https://github.com/python-gino/gino-starlette ) |requests, gino_fastapi_demo, asyncpg, gino, urllib3, importlib_metadata, sqlalchemy, alembic, pytest, click |
|
|
||||||
|[girandole](https://github.com/bartkl/girandole ) |beets, plugin, girandole, yaml |
|
|
||||||
|[girias.json](https://github.com/kvnol/girias.json ) |tinydb |
|
|
||||||
|[gitea-dispatcher](https://github.com/Trim21/gitea-dispatcher ) |httpx |
|
|
||||||
|[gke-cicd-sandbox](https://github.com/mana-ysh/gke-cicd-sandbox ) |exampleapp, pytest |
|
|
||||||
|[glittr-fastapi](https://github.com/kellischeuble/glittr-fastapi ) |glittr, sqlalchemy |
|
|
||||||
|[graph-server](https://github.com/ZettaAI/graph-server ) |pychunkedgraph, numpy |
|
|
||||||
|[graphql-python-server](https://github.com/apoveda25/graphql-python-server ) |env, gql, dotenv, schemas, ariadne, models, database, arango |
|
|
||||||
|[graphql-tutorial](https://github.com/jcremona/graphql-tutorial ) |schema, graphene |
|
|
||||||
|[grocery-stores-home-delivery](https://github.com/dz-experts/grocery-stores-home-delivery ) |db, app_factory, setuptools, crud, api, typer, sqlalchemy, myapp, alembic, constans, schemas, core, models |
|
|
||||||
|[guid_tracker](https://github.com/nwcell/guid_tracker ) |alembic, databases, aiocache, guid, pytest, sqlalchemy, sqlalchemy_utils, myapp |
|
|
||||||
|[hackaton-berlin-legal-tech-2020](https://github.com/jjanczur/hackaton-berlin-legal-tech-2020 ) |pytest, sklearn, joblib, nltk, loguru, cleaner, config, fastapi_skeleton, bs4 |
|
|
||||||
|[hello-world-fastapi](https://github.com/benhid/hello-world-fastapi ) |fastapp, setuptools, rich |
|
|
||||||
|[henry](https://github.com/jacksonhenry3/FAAS ) |infrastructure, interface, sqlalchemy |
|
|
||||||
|[heroku-google-translate-api](https://github.com/fawazahmed0/heroku-google-translate-api ) |googletrans |
|
|
||||||
|[hh_parser](https://github.com/Kuzyashin/hh_parser ) |passlib, aiohttp, tortoise, template, celery, jwt, emails |
|
|
||||||
|[home_recruiters](https://github.com/Mohamed-Kaizen/home_recruiters ) |users, pendulum, passlib, jobs, tortoise, typer, usernames, jwt, core, confusable_homoglyphs, username |
|
|
||||||
|[http-battle](https://github.com/MihaiAnei/http-battle ) |flask_restful, flask, python_flask |
|
|
||||||
|[hvilkenfisk](https://github.com/David-IL/hvilkenfisk ) |imutils, fish_utils, sklearn, h5py, cv2, keras, img_preprocess, model_utils |
|
|
||||||
|[iam_working](https://github.com/carlosporta/iam_working ) |iam_working |
|
|
||||||
|[iem-web-services](https://github.com/akrherz/iem-web-services ) |setuptools, pyiem, shapely, metpy, pytz, pygrib, pyproj, pandas, geopandas, pytest |
|
|
||||||
|[ihan-productizer-example](https://github.com/digitalliving/ihan-productizer-example ) |aiohttp, ujson, settings_local, settings |
|
|
||||||
|[image_capabilities_backend](https://github.com/alejgo06/image_capabilities_backend ) |PIL, cv2 |
|
|
||||||
|[image_classifier_backend](https://github.com/alejgo06/image_classifier_backend ) |PIL, cv2 |
|
|
||||||
|[image_detector_backend](https://github.com/alejgo06/image_detector_backend ) |PIL, torch, utils, torchvision, pycocotools, models, cv2 |
|
|
||||||
|[img-filter-api](https://github.com/RaRhAeu/img-filter-api ) |aiohttp, cv2, api, requests, pytest |
|
|
||||||
|[ingaia_app](https://github.com/higaooliveira/ingaia_app ) |pytest, sqlalchemy, resources, requests, config, spotipy, domain |
|
|
||||||
|[innovativeproject-photographers-portfolio](https://github.com/nokia-wroclaw/innovativeproject-photographers-portfolio ) |fastapi_mail, jwt, sqlalchemy, src, database, passlib |
|
|
||||||
|[inpainting_backen](https://github.com/kaikai03/inpainting_backen ) |tinydb |
|
|
||||||
|[introduction-to-async-await](https://github.com/ci42/introduction-to-async-await ) |unsync, unsyncable, colorama |
|
|
||||||
|[iter8-analytics](https://github.com/iter8-tools/iter8-analytics ) |analytics_namespace, requests, flask_restplus, setuptools, experiment_namespace, yaml, jsonschema, iter8_analytics, django, flask, requests_mock |
|
|
||||||
|[jjs](https://github.com/jjs-dev/jjs ) |bcrypt, pytest, api_models, pymongo, db_models, routes, auth, db_connect |
|
|
||||||
|[jobsearch_statistics](https://github.com/JobtechSwe/jobsearch_statistics ) |certifi, searchstatistics, elasticsearch |
|
|
||||||
|[json-fastapi](https://github.com/stocky37/json-fastapi ) |json_fastapi, tinydb, slugify, link_header, util |
|
|
||||||
|[juice-box](https://github.com/dannytannertantrum/juice-box ) |tests |
|
|
||||||
|[jupyter_fastapi](https://github.com/Zsailer/jupyter_fastapi ) |jupyter_server, tornado, hypothesis, pytest, jupyter_fastapi, hypothesis_jsonschema, setuptools |
|
|
||||||
|[k8s-traefik-example](https://github.com/Hedde/k8s-traefik-example ) |flask |
|
|
||||||
|[kartu-beckend](https://github.com/AntonKristiono/kartu-beckend ) |PIL, config, yaml, autocrop, routes, motor, bson, cv2 |
|
|
||||||
|[koalachat](https://github.com/therumbler/koalachat ) |koalachat, aiofiles |
|
|
||||||
|[koalastream](https://github.com/therumbler/koalastream ) |aiofiles, koalastream |
|
|
||||||
|[kritika](https://github.com/Egnod/kritika ) |alembic, sitri, slugify, sqlalchemy, myapp, kritika |
|
|
||||||
|[kubeflow-containers-desktop](https://github.com/StatCan/kubeflow-containers-desktop ) |tqdm, jupyter_core, setuptools, tornado, crontab, pip, psutil, IPython, git, notebook |
|
|
||||||
|[kubernetes-experiments](https://github.com/richard-to/kubernetes-experiments ) |redis, alembic, sqlalchemy, myapp, passlib |
|
|
||||||
|[kuma](https://github.com/deepalikumar/sync_async_compare ) |bcrypt, docstring_parser, passlib, orjson, loguru, sqlalchemy, myapp, jupyter_client, alembic, databases, jwt, nbformat |
|
|
||||||
|[kvmail](https://github.com/la9ran9e/kvmail ) |tarantool, dotenv, settings |
|
|
||||||
|[lab_monitor](https://github.com/nutanix-japan/lab_monitor ) |pymongo, requests, schedule, client |
|
|
||||||
|[lagom](https://github.com/meadsteve/lagom ) |sybil, pytest, lagom, typing_extensions, tests, django, flask |
|
|
||||||
|[lang-python](https://github.com/tim-barnes/lang-python ) |submod2, worker_a, etcd3, rabbit, worker_b, optmod1, psutil, mongoengine, pika, test_pb2, grpc, google, optmod2, submod1, celery, flask, models, pytest |
|
|
||||||
|[league-manager](https://github.com/Project-SRC/league-manager ) |jwt, src, environs, passlib |
|
|
||||||
|[learn-kubernetes](https://github.com/quan-vu/learn-kubernetes ) |flask, flask_restful |
|
|
||||||
|[lgbsttracker_api](https://github.com/py4mac/lgbsttracker_api ) |lgbsttracker, lgbsttracker_api |
|
|
||||||
|[lightgbm-project-demo](https://github.com/raywu60kg/lightgbm-project-demo ) |psycopg2, sklearn, src, tests, ray |
|
|
||||||
|[linkalong-pre-inteview-task](https://github.com/pydevd/linkalong-pre-inteview-task ) |decouple, linkalong |
|
|
||||||
|[love-alarm](https://github.com/dl-eric/love-alarm ) |pymongo, redis, nexmo, jwt, boto3, bson, passlib |
|
|
||||||
|[maale-map-bot](https://github.com/kudanai/maale-map-bot ) |pyngrok, dotenv, discord, bots, viberbot, models, settings, fuzzywuzzy, telegram |
|
|
||||||
|[manageme-api](https://github.com/managemeapp/manageme-api ) |mangum, today_app, setuptools |
|
|
||||||
|[mangum-fastapi-aws-test](https://github.com/dan-danciu/mangum-fastapi-aws-test ) |mangum |
|
|
||||||
|[mars-rover](https://github.com/rSkogeby/mars-rover ) |models, views |
|
|
||||||
|[memefly-ds](https://github.com/Lambda-School-Labs/memefly-ds ) |wandb, memefly, requests, pymongo, decouple, api, tensorflow, dotenv, boto3, click |
|
|
||||||
|[metabot](https://github.com/vasyukvv42/metabot ) |metabot, requests, fastapi_metabot, setuptools, aiohttp, pymongo, help, typing_extensions, feedback, aioredis, vacations, slackers, motor, mockaioredis, bson, slack, pytest, httpx |
|
|
||||||
|[micro-data-lake](https://github.com/abxda/micro-data-lake ) |sklearn, newspaper, altair, airflow, sqlalchemy, IPython, minio, setproctitle |
|
|
||||||
|[microservices](https://github.com/hugosteixeira/microservices ) |requests |
|
|
||||||
|[mironov_blog_pwa](https://github.com/yuriymironov96/mironov_blog_pwa ) |alembic, dotenv, sqlalchemy, myapp, apps |
|
|
||||||
|[ml-project-template](https://github.com/raywu60kg/ml-project-template ) |psycopg2, src, tests, ray |
|
|
||||||
|[ml-workspace](https://github.com/DennisRasey/ml-workspace ) |jupyter_core, tqdm, setuptools, tornado, crontab, pip, psutil, IPython, git, notebook |
|
|
||||||
|[modelo-fast-api](https://github.com/knienkotter/modelo-fast-api ) |pytest, gerenciador_tarefas |
|
|
||||||
|[moneyTransfer](https://github.com/williamsyb/moneyTransfer ) |faker, db, app_factory, passlib, apis, config, utils, main, sqlalchemy, auth, schemas, jwt, pytest |
|
|
||||||
|[mongodb_admin](https://github.com/ArtemZaitsev1994/mongodb_admin ) |trafaret_config, envparse, pymongo, base, motor, jwt, bson |
|
|
||||||
|[mri_image_reconstruction](https://github.com/Pradhy729/mri_image_reconstruction ) |utils, config |
|
|
||||||
|[msys2-web](https://github.com/msys2/msys2-web ) |pytest, pgpdump, jinja2, fastapi_etag, respx, httpx |
|
|
||||||
|[musixfy_service](https://github.com/divyam234/musixfy_service ) |requests, Cryptodome |
|
|
||||||
|[mv-backend](https://github.com/Sreerajta/mv-backend ) |cassandra, requests, passlib, redis, fnc, global_config, sqlalchemy, jwt, greenstalk |
|
|
||||||
|[mvp-metric](https://github.com/DjaPy/mvp-metric ) |databases, sqlalchemy, dateutil |
|
|
||||||
|[mvs_eland_api](https://github.com/rl-institut/mvs_eland_api ) |celery, pytest, worker, mvs_eland_tool, sphinx_rtd_theme |
|
|
||||||
|[my-notes-app](https://github.com/jgabriel1/my-notes-app ) |databases, pytest, jwt, sqlalchemy, passlib |
|
|
||||||
|[mychef](https://github.com/logan-connolly/mychef ) |spacy, requests, scrapy, tqdm, aiohttp, asyncpg, loguru, orm, reddit, scraper, sqlalchemy, databases, praw, pytest, jsonlines, bs4 |
|
|
||||||
|[nasa_neo](https://github.com/cmmarti/nasa_neo ) |repo, requests |
|
|
||||||
|[nereid](https://github.com/Geosyntec/nereid ) |nereid, pytest, redis, typing_extensions, numpy, matplotlib, scipy, yaml, pint, celery, pandas |
|
|
||||||
|[ners](https://github.com/cedricconol/ners ) |utils, config |
|
|
||||||
|[netpalm](https://github.com/tbotnz/netpalm ) |xmltodict, rq, netmiko, pytest, jinja2, backend, netpalm_pinned_worker, requests, jinja2schema, redis, lxml, tests, jsonschema, ncclient, routers, napalm |
|
|
||||||
|[next-word-sentence-pred-api](https://github.com/rakesh4real/next-word-sentence-pred-api ) |tree, sqlalchemy, models, database |
|
|
||||||
|[nile-api](https://github.com/mattgeiger/nile-api ) |alembic, bcrypt, databases, jwt, sqlalchemy, api |
|
|
||||||
|[nlp_api](https://github.com/rdenadai/nlp_api ) |nltk, decouple, spacy, utils |
|
|
||||||
|[nmdc-server](https://github.com/microbiomedata/nmdc-server ) |pytest, faker, factory, requests, setuptools, pkg_resources, sqlalchemy, alembic, nmdc_server |
|
|
||||||
|[nomine](https://github.com/gzzo/nomine ) |graphql_sqlalchemy, ariadne, sqlalchemy, nomine, graphql |
|
|
||||||
|[nurse-schedule](https://github.com/csabex94/nurse-schedule ) |spital_routes, mongoengine, nurse_routes, jwt, models, utils, passlib |
|
|
||||||
|[oasis](https://github.com/instedd/oasis ) |users, bcrypt, pytest, stories, requests, mysql, flask_cors, sqlalchemy, myapp, sigfig, database, jenkspy, alembic, flask, auth, jwt, router, emails |
|
|
||||||
|[ocfapi](https://github.com/nikhiljha/ocfapi ) |ocflib |
|
|
||||||
|[oreMeet](https://github.com/mfortini/oreMeet ) |ics, worker |
|
|
||||||
|[owi_Result-Collector](https://github.com/JensGe/owi_Result-Collector ) |sqlalchemy, tests |
|
|
||||||
|[page-visitor-counter](https://github.com/trapflag/page-visitor-counter ) |redis |
|
|
||||||
|[paste.bin](https://github.com/magiskboy/paste.bin ) |pymongo, redis, gridfs, bson |
|
|
||||||
| |PIL, PyPDF4 |
|
|
||||||
|[perfume-ai](https://github.com/gurutaka/perfume-ai ) |PIL, torchvision, predict, cv2, torch |
|
|
||||||
|[persistent-identifier-service](https://github.com/OpertusMundi/persistent-identifier-service ) |ompid, yaml, sqlalchemy |
|
|
||||||
|[personal-learning](https://github.com/hoangthienan95/personal-learning ) |pyimagesearch, sklearn, calculator, cv2, keras |
|
|
||||||
|[pi-camera-hardware-server](https://github.com/NSnietol/pi-camera-hardware-server ) |loguru, picamera, requests, src |
|
|
||||||
|[piccolo_api](https://github.com/piccolo-orm/piccolo_api ) |setuptools, asyncpg, test_session, piccolo, livereload, jwt, piccolo_api, asgiref |
|
|
||||||
|[plarin_task](https://github.com/jjoskey/plarin_task ) |pymongo, main, employees, pytest, faker, bson, settings |
|
|
||||||
|[plonkowski.b-gmail.com](https://github.com/Raroog/plonkowski.b-gmail.com ) |main |
|
|
||||||
|[plotly-graphene](https://github.com/mdpham/plotly-graphene ) |pymongo, mutation, graphene, schema, minio, loompy, bson, query, minio_client |
|
|
||||||
|[pneumoniadetection](https://github.com/aalikadic/pneumoniadetection ) |kaggle, PIL, classifier, keras |
|
|
||||||
|[pol](https://github.com/RedHatInsights/policies-notifications ) |pytest, requests, aioresponses, etc, orjson, aiohttp, redis, sentry_sdk, tests, sqlalchemy, myapp, aioredis, pytz, alembic, databases, aiologger |
|
|
||||||
|[policies-notifications](https://github.com/RedHatInsights/policies-notifications ) |pytest, jinja2, aiokafka, aiohttp, asyncpg, prometheus_client, apscheduler, gino, tests, sqlalchemy, myapp, starlette_prometheus, alembic |
|
|
||||||
|[poll-app](https://github.com/jgabriel1/poll-app ) |pymongo, dotenv, selenium, pytest, flask_testing, tests, config |
|
|
||||||
|[ppm-telegram-bot](https://github.com/piterpy-meetup/ppm-telegram-bot ) |pip, aiogram, fastapi_security_telegram_webhook, ppm_telegram_bot |
|
|
||||||
|[ppr](https://github.com/bcgov/ppr ) |pytest, endpoints, requests, setuptools, sentry_sdk, freezegun, config, main, repository, sqlalchemy, myapp, datedelta, pytz, alembic, dotenv, schemas, models |
|
|
||||||
|[practical-python](https://github.com/sudharsan2020/practical-python ) |redis, celery_with_fastapi, celery |
|
|
||||||
|[programs](https://github.com/deta/programs ) |deta, jinja2, colors, svgs, passlib |
|
|
||||||
|[projects](https://github.com/hungd25/projects ) |sklearn, lrsgd, utils, numpy, matplotlib, nose, models_partc, src, phonenumbers |
|
|
||||||
|[property-prediction](https://github.com/solanyn/property-prediction ) |botocore, psycopg2, pytest, catboost, sklearn, hello_world, boto3, requests |
|
|
||||||
|[proxmox-slack-bot](https://github.com/PlenusPyramis/proxmox-slack-bot ) |slack_model, requests, slack |
|
|
||||||
|[proxy-checker](https://github.com/infaticaio/proxy-checker ) |aiohttp, main, checker, aiosocks |
|
|
||||||
|[py-cidemia-security](https://github.com/cidemia/py-cidemia-security ) |werkzeug, requests, setuptools, passlib, yaml, cidemiasecurity, jwt |
|
|
||||||
|[pyBets](https://github.com/GabrielCappelli/pyBets ) |error_messages, db_models, views, sqlalchemy, application, database, app_logging, models, services, pytest |
|
|
||||||
|[pyapi](https://github.com/srghosh29/pyapi ) |apis |
|
|
||||||
|[pycon2020-FastAPI](https://github.com/gloriasky/pycon2020-FastAPI ) |schemas, sqlalchemy, models, api, database |
|
|
||||||
|[pyctuator](https://github.com/SolarEdgeTech/pyctuator ) |werkzeug, multidict, requests, aiohttp, redis, tests, psutil, pyctuator, sqlalchemy, flask, pytest |
|
|
||||||
|[pydantic-ddd-exploration](https://github.com/allgreed/pydantic-ddd-exploration ) |sqlalchemy, src |
|
|
||||||
|[pyml](https://github.com/dockerian/pyml ) |PIL, pytest, setuptools, gevent, h5py, tests, numpy, dateutil, matplotlib, scipy, mock, connexion, yaml, google, jsonpickle, flask, ml, asgiref |
|
|
||||||
|[pypis](https://github.com/jurelou/pypis ) |packaging, setuptools, asyncpg, loguru, pkg_resources, sqlalchemy, stdlib_list, dynaconf, pypis, httpx |
|
|
||||||
|[python](https://github.com/jijinggang/test_python ) |requests, requests_html, unidecode, lxml, openpyxl, send_mail, download_util, formatting, settings, templates, flask |
|
|
||||||
|[python-api-template](https://github.com/mana-ysh/python-api-template ) |pytest |
|
|
||||||
|[python-asyncio-crud](https://github.com/aleimu/python-asyncio-crud ) |sanic, six, uvloop, muggle_ocr, redis, flask_sqlalchemy, aiomysql, sqlalchemy, aioredis, flask |
|
|
||||||
|[python-crash-course](https://github.com/cyberinsane/python-crash-course ) |tinydb, schema, pandas, requests |
|
|
||||||
|[python-deployment-samples](https://github.com/edisga/python-deployment-samples ) |aiohttp, webtest, django, pyramidsite, flask, pyramid, flask_cors, my_app, setuptools, other_app |
|
|
||||||
|[python-fastapi-hex-todo](https://github.com/GArmane/python-fastapi-hex-todo ) |pytest, faker, factory, passlib, toolz, asyncpg, pytest_factoryboy, tests, sqlalchemy, myapp, alembic, dotenv, databases, jwt, todolist |
|
|
||||||
|[python-graphql](https://github.com/tsungchih/python-graphql ) |graphene, aiohttp, loguru, ujson, psutil, graphql |
|
|
||||||
|[python-ml-service-template](https://github.com/paramoshin/python-ml-service-template ) |yaml, joblib, starlette_prometheus |
|
|
||||||
|[python-playground](https://github.com/tgmti/python-playground ) |flask_restful, flask, sqlalchemy |
|
|
||||||
|[python-poetry-docker-example](https://github.com/michael0liver/python-poetry-docker-example ) |pytest |
|
|
||||||
|[python-private-service-layout](https://github.com/U-Company/python-private-service-layout ) |fire, loguru, prometheus_client, pytest, vault_client, info, clients, tests, setuptools |
|
|
||||||
|[python_benchmark](https://github.com/T4D3K/python_benchmark ) |fastapi_frm, locust, sqlalchemy, tortoise, falcon, gino, falcon_frm |
|
|
||||||
|[python_common_tools](https://github.com/CheungChan/python_common_tools ) |requests, setuptools, redis, python_common_tools, paramiko, stackprinter, DBUtils, pymysql |
|
|
||||||
|[python_fastapi](https://github.com/playwhyyza/python_fastapi ) |jwt, passlib |
|
|
||||||
|[qa-api](https://github.com/venuraja79/qa-api ) |elasticapm, controller, haystack, config |
|
|
||||||
|[qhub-home](https://github.com/Quansight/qhub-home ) |toml, flit, setuptools |
|
|
||||||
|[qr-generator](https://github.com/gosha20777/qr-generator ) |qrcode |
|
|
||||||
|[rakm](https://github.com/emanuelaguna/rakm ) |pytest, requests, aiohttp, asyncache, invoke, asyncmock, tests, dateutil, cachetools, async_asgi_testclient, async_generator, dotenv |
|
|
||||||
|[random_projects](https://github.com/thepartisan101/random_projects ) |flask_restful, graphene, extraction, selenium, flask, flask_graphql, schema, sqlalchemy, requests |
|
|
||||||
|[recommender_fastapi](https://github.com/gjorgjinac/recommender_fastapi ) |repository, pybreaker, helper, sqlalchemy, default_ad_listener, requests, web, defaults |
|
|
||||||
|[recommender_server](https://github.com/gjorgjinac/recommender_server ) |repository, pybreaker, helper, sqlalchemy, default_ad_listener, requests, web, defaults |
|
|
||||||
|[ref-final-project-backend](https://github.com/Reyvel/ref-final-project-backend ) |faust, kafka, msgpack, settings, utils |
|
|
||||||
|[repost-fastapi](https://github.com/pckv/repost-fastapi ) |dotenv, jwt, sqlalchemy, repost, passlib |
|
|
||||||
|[responsive-layout-part](https://github.com/lmacchiavelli/responsive-layout-part ) |PIL |
|
|
||||||
|[rest_api_docker_mongo_aws](https://github.com/RodrigoMachado9/rest_api_docker_mongo_aws ) |pymongo, six, bottle_resource, beartype, bottle, spacy, passlib |
|
|
||||||
|[restbot](https://github.com/cwerner/restbot ) |restbot, loguru, pytest, joblib |
|
|
||||||
|[reternal-backend](https://github.com/d3vzer0/reternal-backend ) |pymongo, redis, flask_restful, flask_jwt_extended, sigma, workers, mongoengine, yaml, environment, database, pytz, flask_socketio, celery, flask, jwt, bson |
|
|
||||||
|[reverse-geocoder](https://github.com/claws/reverse-geocoder ) |databases, sqlalchemy, geoalchemy2 |
|
|
||||||
|[rjgtoys-xc](https://github.com/bobgautier/rjgtoys-xc ) |pytest, jinja2, requests, rjgtoys, apierrors, sphinx, sphinx_autodoc_typehints |
|
|
||||||
|[rn-fastapi-app](https://github.com/cloudeyes/rn-fastapi-app ) |sample, psycopg2, fastapi_login, MySQLdb, sqlalchemy, fastalchemy, passlib |
|
|
||||||
|[runn](https://github.com/alex-2201/runn ) |requests, passlib, tests, utils, sqlalchemy, jwt, logzero, pytest, emails |
|
|
||||||
|[sauti-fastapi](https://github.com/taycurran/sauti-fastapi ) |dotenv, pstgres, sqlalchemy |
|
|
||||||
|[sauti-monitor-ds-api](https://github.com/taycurran/sauti-monitor-ds-api ) |dotenv, sqlalchemy |
|
|
||||||
|[scaling-spoon](https://github.com/bloomingmath/scaling-spoon ) |email_validator, pony, bcrypt, pytest, extensions, passlib, pymongo, selenium, blinker, main, async_asgi_testclient, dotenv, motor, schemas, routers, bson, models |
|
|
||||||
|[sensehat-fastapi](https://github.com/cmlccie/sensehat-fastapi ) |sense_hat, senseapi |
|
|
||||||
|[server-open-alpr](https://github.com/NSnietol/server-open-alpr ) |openalpr, loguru, src |
|
|
||||||
|[serverless-fastapi-cdk](https://github.com/jaehyeon-kim/serverless-fastapi-cdk ) |mangum, resources, src, aws_cdk |
|
|
||||||
|[show-tell-api](https://github.com/team-eyespace/show-tell-api ) |nltk, PIL, TensorBoardCaption, NIC, evaluate, flask, jwt, preprocessing, keras, utils |
|
|
||||||
|[signal-cli-rest-api](https://github.com/SebastianLuebke/signal-cli-rest-api ) |pyqrcode, requests, signal_cli_rest_api |
|
|
||||||
|[simple-kp](https://github.com/ranking-agent/simple-kp ) |aiosqlite, pytest, simple_kp, reasoner_pydantic, data, setuptools |
|
|
||||||
|[simple-messenger](https://github.com/IvanDubrowin/simple-messenger ) |server |
|
|
||||||
|[simple-report-data-table-vuetify](https://github.com/shizidushu/simple-report-data-table-vuetify ) |bcrypt, dotenv, mongoengine, jwt, pypandoc, bson, casbin, passlib |
|
|
||||||
|[simpleapp-aws-fargate](https://github.com/kbaafi/simpleapp-aws-fargate ) |controllers, databases, sqlalchemy, boto3, data, config, services, settings, requests |
|
|
||||||
|[siso-library](https://github.com/nfowl/siso-library ) |databases, sqlalchemy |
|
|
||||||
|[sklearn-docker-api](https://github.com/crocopie/sklearn-docker-api ) |sklearn, service, joblib |
|
|
||||||
|[slowapi](https://github.com/laurentS/slowapi ) |limits, redis, slowapi, tests, hiro, mock |
|
|
||||||
|[smart-social-distancing](https://github.com/neuralet/smart-social-distancing ) |openvino, tflite_runtime, invoke, ui, tools, wget, scipy, libs |
|
|
||||||
|[sms_gateway](https://github.com/arxell/sms_gateway ) |passlib, aiohttp, sentry_sdk, aiopg, sqlalchemy, myapp, grpc, google, alembic, psycopg2, jwt, click, grpclib |
|
|
||||||
|[social-insights](https://github.com/dsc-umass/social-insights ) |sklearn, requests, joblib, nltk, tweepy, numpy, firebase_admin, twitter_credentials, scipy, spellchecker, get_tweets, google, flask, keras, xgboost, suggest |
|
|
||||||
|[sociallyhigh](https://github.com/NikhilSharmay/sociallyhigh ) |pkg_resources, sociallyhigh |
|
|
||||||
|[sparky](https://github.com/perfecto25/sparky ) |sparky, config |
|
|
||||||
|[speechRecognition_api](https://github.com/X-CCS/speechRecognition_api ) |librosa, sklearn, aukit, aip, Django_jianlong, videototextapp, videoaddsubtitleapp, myapp, IPython, my_app, other_app, djcelery, django, celery, video2audio_noiseReduction, keras |
|
|
||||||
|[start-fastapi](https://github.com/utmhikari/start-fastapi ) |model, middleware, controller, service, application, dotenv |
|
|
||||||
|[startapp](https://github.com/marlin-dev/startapp ) |extensions, marshmallow, setuptools, passlib, flask_env, flask_jwt_extended, sentry_sdk, flask_sqlalchemy, sqlalchemy_utils, gino, sqlalchemy, flask_marshmallow, takeaway, settings, flask_migrate, starlette_prometheus, flask, app_init, core|
|
|
||||||
|[statsfy](https://github.com/skmatz/statsfy ) |spotifier |
|
|
||||||
|[stock-tracker](https://github.com/jgabriel1/stock-tracker ) |pymongo, aiohttp, dotenv, pytest, jwt, server, requests, passlib |
|
|
||||||
|[stores](https://github.com/dz-experts/grocery-stores-home-delivery ) |stores, pytest, api, util |
|
|
||||||
|[storyboard_renderer](https://github.com/Weltii/storyboard_renderer ) |render_job, layouts, bridge, statics, layout_bridge, utils |
|
|
||||||
|[summaries](https://github.com/bradstimpson/summaries ) |nltk, newspaper, pytest, tortoise |
|
|
||||||
|[summarize-api](https://github.com/gary23w/summarize-api ) |nltk, newspaper, pytest, tortoise |
|
|
||||||
|[surfacescan](https://github.com/vbogretsov/surfacescan ) |networkx, pytest, faker, atomiclong, locust, surfacescan, pkg_resources, tests |
|
|
||||||
|[sweetHome](https://github.com/zkity/sweetHome ) |serial, lib |
|
|
||||||
|[sync_async_compare](https://github.com/deepalikumar/sync_async_compare ) |blog, faker, marshmallow, flask_sqlalchemy, sqlalchemy_utils, flask_apispec, commands, sqlalchemy, myapp, resources, settings, flask_migrate, alembic, dotenv, flask, databases, pytest |
|
|
||||||
|[takeAction-Backend](https://github.com/AndyKChen/takeAction-Backend ) |ml_controller, googlesearch, sklearn, getURL, bs4, keras, utils, numpy |
|
|
||||||
|[tariffengineapi](https://github.com/SofieneEnnaoui/tariffengineapi ) |memory_profiler, redis, numba, tariffs_modules, tests, api_fastapi, memory |
|
|
||||||
|[task_manager](https://github.com/VladOsiichuk/task_manager ) |passlib, gino, sqlalchemy, myapp, alembic, jwt |
|
|
||||||
|[taskriptor-web](https://github.com/nasuka/taskriptor-web ) |alembic, sqlalchemy, myapp |
|
|
||||||
|[tdd-fastapi-template](https://github.com/markusntz/tdd-fastapi-template ) |fastapi_tdd_docker, pytest, tortoise |
|
|
||||||
|[teached](https://github.com/Mohamed-Kaizen/teached ) |pytest, pendulum, requests, passlib, loguru, tortoise, teached, typer, importlib_metadata, nox, usernames, dropbox, jwt, confusable_homoglyphs, username |
|
|
||||||
|[techsoulai_backend](https://github.com/zhanymkanov/techsoulai_backend ) |pytest, jamspell, jwt, sqlalchemy, pymystem3, passlib |
|
|
||||||
|[temperature-web](https://github.com/sj175/temperature-web ) |board, dotenv, adafruit_dht, boto3, requests |
|
|
||||||
|[test_fastapi](https://github.com/leblancfg/test_fastapi ) |PIL, magic, fastapi_versioning, autocrop, cv2, requests, google |
|
|
||||||
|[test_shop](https://github.com/Ayaks7/test_shop ) |requests, passlib, peewee, user_orders, my_app, other_app, django, yoyo, catalog, auth, jwt, pytest, peewee_async, tastypie |
|
|
||||||
|[testfastapi](https://github.com/18438655078/testfastapi ) |tortoise, boto3 |
|
|
||||||
|[todo-list-fastapi](https://github.com/mcauto/todo-list-fastapi ) |aiofiles, pytest, jwt, sqlalchemy, src, passlib |
|
|
||||||
|[todoapp](https://github.com/prashunchitkr/todoapp ) |alembic, jwt, sqlalchemy, myapp, passlib |
|
|
||||||
|[trainee_mi](https://github.com/goncharov-roman/trainee_mi ) |pymongo |
|
|
||||||
|[transactions_api](https://github.com/txemac/transactions_api ) |pytest, sqlalchemy, sqlalchemy_utils, database |
|
|
||||||
|[transformers](https://github.com/raphtlw/transformers ) |aitextgen |
|
|
||||||
|[translator](https://github.com/eightytwo/translator ) |translator, schemas, api, httpx |
|
|
||||||
|[try-fast-api](https://github.com/kayshcache/try-fast-api ) |dotenv |
|
|
||||||
|[users-service](https://github.com/falled10/users-service ) |werkzeug, pytest, oauth2client, sqlalchemy_utils, api, config, main, repository, humps, sqlalchemy, myapp, alembic, jwt, routers, authlib, services |
|
|
||||||
|[uvicorn-gunicorn-fastapi](https://github.com/dshadow/uvicorn-gunicorn-fastapi-docker ) |test_utils, docker, requests, pytest |
|
|
||||||
|[vollmacht](https://github.com/ogeller/vollmacht ) |fitz |
|
|
||||||
|[volunteer-database](https://github.com/crowdsourcemedical/volunteer-database ) |alembic, pytest, jwt, sqlalchemy, myapp, passlib |
|
|
||||||
|[wamedex2](https://github.com/gwf-uwaterloo/wamedex2 ) |pytest, pyserini, hnswlib, pkg_resources, helper, freezegun, dateparser |
|
|
||||||
|[wazo-router-calld](https://github.com/wazo-platform/wazo-router-calld ) |wazo_router_calld, consul, click, sqlalchemy, setuptools |
|
|
||||||
|[web-api](https://github.com/aroio/web-api ) |exceptions, yaml, auth, jwt, routers, models, data |
|
|
||||||
|[web-avatarify](https://github.com/charlielito/web-avatarify ) |PIL, afy, skimage, moviepy, requests, imageio, tqdm, animate, sync_batchnorm, ffmpeg, torch, matplotlib, scipy, face_alignment, yaml, python_path, cv2, modules |
|
|
||||||
|[web-frameworks-benchmark](https://github.com/kesha1225/web-frameworks-benchmark ) |muffin, sanic, pyramid, falcon, requests, bottle, aiohttp, bobo, quart, hug, japronto, request_bench, my_app, other_app, django, flask, cherrypy, kumquat, freezy |
|
|
||||||
|[web_speedtest](https://github.com/Kulikovpavel/web_speedtest ) |flask |
|
|
||||||
|[weblink-downloader](https://github.com/cortexin/weblink-downloader ) |passlib, asyncpg, tests, link_downloader, databases, pytest, httpx |
|
|
||||||
|[xo_back](https://github.com/octomen/xo_back ) |pytest, api |
|
|
||||||
|[xpublish](https://github.com/xarray-contrib/xpublish ) |xarray, pytest, cachey, xpublish, setuptools, pkg_resources, h5py, netCDF4, numcodecs, dask, zarr |
|
|
||||||
|[xraysink](https://github.com/garyd203/xraysink ) |aiohttp, jsonpickle, xraysink, async_asgi_testclient, aws_xray_sdk, requests, pytest |
|
|
||||||
|[yappfm-backend](https://github.com/yappfm/yappfm-backend ) |alembic, sqlalchemy, myapp, yappfm, gino |
|
|
||||||
|[yatsm](https://github.com/danielmartins/yatsm ) |dramatiq, walrus, pytest, pendulum, passlib, apscheduler, typer, assertpy, pytz, jwt, yatsm |
|
|
||||||
|[yumemi_intern_API](https://github.com/tkrk1209/yumemi_intern_API ) |aiohttp, sqlalchemy, myapp, google, alembic |
|
|
||||||
|[zo](https://github.com/wazo-platform/wazo-router-calld ) |PIL, requests, ssdb, setuptools, loguru, urllib3, zo, munch |
|
|
1
migrations/README
Normal file
1
migrations/README
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Generic single-database configuration.
|
74
migrations/env.py
Normal file
74
migrations/env.py
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
from logging.config import fileConfig
|
||||||
|
|
||||||
|
from alembic import context
|
||||||
|
from populate.models import Base
|
||||||
|
from sqlalchemy import engine_from_config, pool
|
||||||
|
|
||||||
|
# this is the Alembic Config object, which provides
|
||||||
|
# access to the values within the .ini file in use.
|
||||||
|
config = context.config
|
||||||
|
|
||||||
|
# Interpret the config file for Python logging.
|
||||||
|
# This line sets up loggers basically.
|
||||||
|
fileConfig(config.config_file_name)
|
||||||
|
|
||||||
|
# add your model's MetaData object here
|
||||||
|
# for 'autogenerate' support
|
||||||
|
# from myapp import mymodel
|
||||||
|
# target_metadata = mymodel.Base.metadata
|
||||||
|
target_metadata = Base.metadata
|
||||||
|
|
||||||
|
# other values from the config, defined by the needs of env.py,
|
||||||
|
# can be acquired:
|
||||||
|
# my_important_option = config.get_main_option("my_important_option")
|
||||||
|
# ... etc.
|
||||||
|
|
||||||
|
|
||||||
|
def run_migrations_offline():
|
||||||
|
"""Run migrations in 'offline' mode.
|
||||||
|
|
||||||
|
This configures the context with just a URL
|
||||||
|
and not an Engine, though an Engine is acceptable
|
||||||
|
here as well. By skipping the Engine creation
|
||||||
|
we don't even need a DBAPI to be available.
|
||||||
|
|
||||||
|
Calls to context.execute() here emit the given string to the
|
||||||
|
script output.
|
||||||
|
|
||||||
|
"""
|
||||||
|
url = config.get_main_option("sqlalchemy.url")
|
||||||
|
context.configure(
|
||||||
|
url=url,
|
||||||
|
target_metadata=target_metadata,
|
||||||
|
literal_binds=True,
|
||||||
|
dialect_opts={"paramstyle": "named"},
|
||||||
|
)
|
||||||
|
|
||||||
|
with context.begin_transaction():
|
||||||
|
context.run_migrations()
|
||||||
|
|
||||||
|
|
||||||
|
def run_migrations_online():
|
||||||
|
"""Run migrations in 'online' mode.
|
||||||
|
|
||||||
|
In this scenario we need to create an Engine
|
||||||
|
and associate a connection with the context.
|
||||||
|
|
||||||
|
"""
|
||||||
|
connectable = engine_from_config(
|
||||||
|
config.get_section(config.config_ini_section),
|
||||||
|
prefix="sqlalchemy.",
|
||||||
|
poolclass=pool.NullPool,
|
||||||
|
)
|
||||||
|
|
||||||
|
with connectable.connect() as connection:
|
||||||
|
context.configure(connection=connection, target_metadata=target_metadata)
|
||||||
|
|
||||||
|
with context.begin_transaction():
|
||||||
|
context.run_migrations()
|
||||||
|
|
||||||
|
|
||||||
|
if context.is_offline_mode():
|
||||||
|
run_migrations_offline()
|
||||||
|
else:
|
||||||
|
run_migrations_online()
|
24
migrations/script.py.mako
Normal file
24
migrations/script.py.mako
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
"""${message}
|
||||||
|
|
||||||
|
Revision ID: ${up_revision}
|
||||||
|
Revises: ${down_revision | comma,n}
|
||||||
|
Create Date: ${create_date}
|
||||||
|
|
||||||
|
"""
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
${imports if imports else ""}
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = ${repr(up_revision)}
|
||||||
|
down_revision = ${repr(down_revision)}
|
||||||
|
branch_labels = ${repr(branch_labels)}
|
||||||
|
depends_on = ${repr(depends_on)}
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
${upgrades if upgrades else "pass"}
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
${downgrades if downgrades else "pass"}
|
63
migrations/versions/a48ca845cfe5_first_commit.py
Normal file
63
migrations/versions/a48ca845cfe5_first_commit.py
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
"""First commit
|
||||||
|
|
||||||
|
Revision ID: a48ca845cfe5
|
||||||
|
Revises:
|
||||||
|
Create Date: 2021-11-17 09:32:18.940645
|
||||||
|
|
||||||
|
"""
|
||||||
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = "a48ca845cfe5"
|
||||||
|
down_revision = None
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.create_table(
|
||||||
|
"package",
|
||||||
|
sa.Column("created_at", sa.DateTime(), nullable=True),
|
||||||
|
sa.Column("updated_at", sa.DateTime(), nullable=True),
|
||||||
|
sa.Column("id", sa.Integer(), nullable=False),
|
||||||
|
sa.Column("name", sa.String(), nullable=False),
|
||||||
|
sa.PrimaryKeyConstraint("id"),
|
||||||
|
)
|
||||||
|
op.create_table(
|
||||||
|
"repository",
|
||||||
|
sa.Column("created_at", sa.DateTime(), nullable=True),
|
||||||
|
sa.Column("updated_at", sa.DateTime(), nullable=True),
|
||||||
|
sa.Column("id", sa.Integer(), nullable=False),
|
||||||
|
sa.Column("full_name", sa.String(), nullable=False),
|
||||||
|
sa.Column("html_url", sa.String(), nullable=False),
|
||||||
|
sa.Column("clone_url", sa.String(), nullable=False),
|
||||||
|
sa.Column("stargazers", sa.Integer(), nullable=False),
|
||||||
|
sa.PrimaryKeyConstraint("id"),
|
||||||
|
)
|
||||||
|
op.create_table(
|
||||||
|
"dependency",
|
||||||
|
sa.Column("created_at", sa.DateTime(), nullable=True),
|
||||||
|
sa.Column("updated_at", sa.DateTime(), nullable=True),
|
||||||
|
sa.Column("repository_id", sa.Integer(), nullable=False),
|
||||||
|
sa.Column("package_id", sa.Integer(), nullable=False),
|
||||||
|
sa.ForeignKeyConstraint(
|
||||||
|
["package_id"],
|
||||||
|
["package.id"],
|
||||||
|
),
|
||||||
|
sa.ForeignKeyConstraint(
|
||||||
|
["repository_id"],
|
||||||
|
["repository.id"],
|
||||||
|
),
|
||||||
|
sa.PrimaryKeyConstraint("repository_id", "package_id"),
|
||||||
|
)
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.drop_table("dependency")
|
||||||
|
op.drop_table("repository")
|
||||||
|
op.drop_table("package")
|
||||||
|
# ### end Alembic commands ###
|
0
populate/__init__.py
Normal file
0
populate/__init__.py
Normal file
Binary file not shown.
14
populate/exceptions.py
Normal file
14
populate/exceptions.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
from typing import Any, Callable
|
||||||
|
|
||||||
|
from populate.logger import log
|
||||||
|
|
||||||
|
|
||||||
|
def ignore_exceptions(func: Callable):
|
||||||
|
def wrapper(*args: Any, **kwargs: Any):
|
||||||
|
try:
|
||||||
|
return func(*args, **kwargs)
|
||||||
|
except Exception:
|
||||||
|
log.exception(f"An exception has occurred on {func.__name__}")
|
||||||
|
return None
|
||||||
|
|
||||||
|
return wrapper
|
12
populate/logger.py
Normal file
12
populate/logger.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from rich.logging import RichHandler
|
||||||
|
|
||||||
|
logging.basicConfig(
|
||||||
|
level="NOTSET",
|
||||||
|
format="%(timestamp)s - %(message)s",
|
||||||
|
datefmt="[%X]",
|
||||||
|
handlers=[RichHandler(rich_tracebacks=True)],
|
||||||
|
)
|
||||||
|
|
||||||
|
log = logging.getLogger("rich")
|
|
@ -1,64 +1,27 @@
|
||||||
import os
|
import tempfile
|
||||||
from time import sleep
|
|
||||||
|
|
||||||
from github import ContentFile, Github, PaginatedList
|
|
||||||
|
|
||||||
from populate.database import SessionLocal, engine
|
|
||||||
from populate.models import Base, Repository
|
|
||||||
|
|
||||||
# from sqlalchemy import create_engine
|
|
||||||
|
|
||||||
QUERY = '"from fastapi import" language:python in:file' # size:{from_}..{to}'
|
|
||||||
MAX_SIZE = 50 * (2 ** 10) # 50 KB
|
|
||||||
|
|
||||||
g = Github(os.getenv("GITHUB_TOKEN"))
|
|
||||||
|
|
||||||
|
|
||||||
# TOKEN = os.getenv("GITHUB_TOKEN")
|
|
||||||
# token_auth = ApiTokenHeader("Authorization", f"token {TOKEN}")
|
|
||||||
# git = GitHub("https://api.github.com/", auth=token_auth)
|
|
||||||
|
|
||||||
|
|
||||||
# best_split = git.get_best_split()
|
|
||||||
# out = []
|
|
||||||
# for key, value in best_split.items():
|
|
||||||
# out.append({"from": key[0], "to": key[1], "count": value})
|
|
||||||
# with open("best_split.json", "w") as f:
|
|
||||||
# json.dump(out, f)
|
|
||||||
|
|
||||||
|
from populate.database import SessionLocal
|
||||||
|
from populate.logger import log
|
||||||
|
from populate.models import Repository
|
||||||
|
from populate.query import query_github
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# TODO: Create migrations setup.
|
log.debug("Start populate script.")
|
||||||
Base.metadata.create_all(engine)
|
|
||||||
|
query = '"from fastapi import" language:python in:file size:{from_}..{to}'
|
||||||
|
|
||||||
# 1. Query projects within a range
|
|
||||||
interval = 2 ** 9 # 512 bytes
|
|
||||||
with SessionLocal() as session:
|
with SessionLocal() as session:
|
||||||
for from_ in range(0, MAX_SIZE, interval):
|
log.debug("Start querying projects.")
|
||||||
to = from_ + interval
|
query_github(session, query)
|
||||||
files = g.search_code(QUERY.format(from_=from_, to=to))
|
|
||||||
for file in files:
|
|
||||||
repo = file.repository
|
|
||||||
repo_obj = Repository.get(session, full_name=repo.full_name)
|
|
||||||
if repo_obj is not None:
|
|
||||||
# TODO: Check when last commit was made.
|
|
||||||
# If it was recent, update dependencies.
|
|
||||||
continue
|
|
||||||
repo_obj = Repository(
|
|
||||||
full_name=repo.full_name,
|
|
||||||
html_url=repo.html_url,
|
|
||||||
clone_url=repo.clone_url,
|
|
||||||
stargazers=repo.stargazers_count,
|
|
||||||
)
|
|
||||||
session.add(repo_obj)
|
|
||||||
session.flush()
|
|
||||||
# TODO: Check if repository already analyzed.
|
|
||||||
|
|
||||||
print(repo.full_name)
|
log.debug("Clone repositories.")
|
||||||
|
for repository in session.query(Repository).all():
|
||||||
|
with tempfile.TemporaryDirectory() as tmpdir:
|
||||||
|
log.debug(f"Cloning {repository.full_name}.")
|
||||||
|
repo = repository.clone(tmpdir)
|
||||||
|
|
||||||
sleep(1)
|
# dependencies = find_dependencies()
|
||||||
|
|
||||||
# 2. Clone repositories
|
|
||||||
# 3. Find import statements
|
# 3. Find import statements
|
||||||
# 4. Store project data into the database
|
# 4. Store project data into the database
|
||||||
# 5. Push the sqlite file to gcs
|
# 5. Push the sqlite file to gcs
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
|
import tempfile
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import Any, Dict, Optional, TypeVar
|
from typing import Any, Dict, Optional, TypeVar
|
||||||
|
|
||||||
import humps
|
import humps
|
||||||
|
from git import Repo
|
||||||
from sqlalchemy import Column, inspect
|
from sqlalchemy import Column, inspect
|
||||||
from sqlalchemy.ext.declarative import as_declarative, declared_attr
|
from sqlalchemy.ext.declarative import as_declarative, declared_attr
|
||||||
from sqlalchemy.orm import relationship
|
from sqlalchemy.orm import relationship
|
||||||
|
@ -28,7 +30,7 @@ class Base:
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get(cls, session: Session, *args: Any, **kwargs: Any) -> Optional[Self]:
|
def get(cls, session: Session, *args: Any, **kwargs: Any) -> Optional[Self]:
|
||||||
session.query(cls).filter(*args).filter_by(**kwargs).first()
|
return session.query(cls).filter(*args).filter_by(**kwargs).first()
|
||||||
|
|
||||||
|
|
||||||
class Repository(Base):
|
class Repository(Base):
|
||||||
|
@ -40,6 +42,9 @@ class Repository(Base):
|
||||||
|
|
||||||
packages = relationship("Package", secondary="dependency")
|
packages = relationship("Package", secondary="dependency")
|
||||||
|
|
||||||
|
def clone(self, repo_dir: tempfile.TemporaryDirectory) -> Repo:
|
||||||
|
return Repo.clone_from(self.clone_url, repo_dir, depth=1)
|
||||||
|
|
||||||
|
|
||||||
class Package(Base):
|
class Package(Base):
|
||||||
id = Column(Integer, primary_key=True)
|
id = Column(Integer, primary_key=True)
|
||||||
|
|
44
populate/query.py
Normal file
44
populate/query.py
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
import os
|
||||||
|
from datetime import datetime, timedelta
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
from github import Github
|
||||||
|
from sqlalchemy.orm.session import Session
|
||||||
|
|
||||||
|
from populate.exceptions import ignore_exceptions
|
||||||
|
from populate.logger import log
|
||||||
|
from populate.models import Repository
|
||||||
|
|
||||||
|
g = Github(os.getenv("GITHUB_TOKEN"))
|
||||||
|
|
||||||
|
|
||||||
|
MAX_SIZE = 50 * (2 ** 10) # 50 KB
|
||||||
|
INTERVAL = 2 ** 9 # 512 bytes
|
||||||
|
|
||||||
|
|
||||||
|
@ignore_exceptions
|
||||||
|
def query_github(session: Session, query: str):
|
||||||
|
for from_ in range(0, MAX_SIZE, INTERVAL):
|
||||||
|
to = from_ + INTERVAL
|
||||||
|
files = g.search_code(query.format(from_=from_, to=to))
|
||||||
|
for file in files:
|
||||||
|
repo = file.repository
|
||||||
|
repo_obj = Repository.get(session, full_name=repo.full_name)
|
||||||
|
if repo_obj is not None:
|
||||||
|
if repo_obj.updated_at - datetime.now() < timedelta(days=30):
|
||||||
|
continue
|
||||||
|
# NOTE: `last_modified`` is not the date of the last commit, but
|
||||||
|
# actually the time the repository was last updated.
|
||||||
|
if repo.last_modified < repo_obj.updated_at:
|
||||||
|
continue
|
||||||
|
repo_obj = Repository(
|
||||||
|
full_name=repo.full_name,
|
||||||
|
html_url=repo.html_url,
|
||||||
|
clone_url=repo.clone_url,
|
||||||
|
stargazers=repo.stargazers_count,
|
||||||
|
)
|
||||||
|
session.add(repo_obj)
|
||||||
|
session.commit()
|
||||||
|
log.debug(f"Added repository {repo_obj.full_name}.")
|
||||||
|
|
||||||
|
sleep(2)
|
|
@ -5,3 +5,6 @@ black==21.10b0
|
||||||
PyGithub==1.55
|
PyGithub==1.55
|
||||||
pyhumps==3.0.2
|
pyhumps==3.0.2
|
||||||
sqlalchemy==1.4.27
|
sqlalchemy==1.4.27
|
||||||
|
alembic==1.7.5
|
||||||
|
rich==10.14.0
|
||||||
|
GitPython==3.1.24
|
||||||
|
|
15385
results.json
15385
results.json
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user