{"id":49246355,"url":"https://github.com/euiyounghwang/package_deps_fastapi","last_synced_at":"2026-04-24T22:01:53.840Z","repository":{"id":353424650,"uuid":"1219173311","full_name":"euiyounghwang/Package_deps_FastAPI","owner":"euiyounghwang","description":"Package_deps_FastAPI","archived":false,"fork":false,"pushed_at":"2026-04-23T21:45:08.000Z","size":77,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-23T22:04:26.320Z","etag":null,"topics":["fastapi","package-manager","uv"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/euiyounghwang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-23T15:50:44.000Z","updated_at":"2026-04-23T21:44:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/euiyounghwang/Package_deps_FastAPI","commit_stats":null,"previous_names":["euiyounghwang/package_deps_fastapi"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/euiyounghwang/Package_deps_FastAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2FPackage_deps_FastAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2FPackage_deps_FastAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2FPackage_deps_FastAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2FPackage_deps_FastAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/euiyounghwang","download_url":"https://codeload.github.com/euiyounghwang/Package_deps_FastAPI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2FPackage_deps_FastAPI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32242315,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fastapi","package-manager","uv"],"created_at":"2026-04-24T22:01:50.368Z","updated_at":"2026-04-24T22:01:53.834Z","avatar_url":"https://github.com/euiyounghwang.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Package_deps_FastAPI\n\u003ci\u003e Package_deps_FastAPI\n\nFastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.8+ based on standard Python.\n\nUV is an extremely fast Python package and project manager, written in Rust. UV manages project dependencies and environments, with support for lockfiles, workspaces, and more.\n- A single tool to replace pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv, and more\n- 10-100x faster than pip.\n- Installs and manages Python versions.\n\n\n### Using Uv: Create the virtual environment in the same directory as the project and install the dependencies:\n- uv installation : https://www.0x00.kr/development/python/python-uv-simple-usage-and-example\n```bash\n# On macOS and Linux.\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# On Windows.\npowershell -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n\n# With pip.\npip install uv\n\n# With pipx.\npipx install uv\n\n# With Homebrew.\nbrew install uv\n\n# With Pacman.\npacman -S uv\n```\n\n- uv venv\n```bash\nuv venv --python 3.12.0\n\nuv python list\n```\n\n- uv help\n```bash\n사용법: uv [옵션] \u003c명령어\u003e\n\n명령어:\n  run      명령어나 스크립트 실행\n  init     새 프로젝트 생성\n  add      프로젝트에 의존성 추가\n  remove   프로젝트에서 의존성 제거\n  sync     프로젝트의 환경 업데이트\n  lock     프로젝트의 락파일 업데이트\n  export   프로젝트의 락파일을 다른 형식으로 내보내기\n  tree     프로젝트의 의존성 트리 표시\n  tool     Python 패키지가 제공하는 명령어 실행 및 설치\n  python   Python 버전 및 설치 관리\n  pip      pip 호환 인터페이스로 Python 패키지 관리\n  venv     가상 환경 생성\n  build    Python 패키지를 소스 배포판 및 휠로 빌드\n  publish  배포판을 인덱스에 업로드\n  cache    uv의 캐시 관리\n  self     uv 실행 파일 관리\n  version  uv 버전 표시\n  help     명령어에 대한 문서 표시\n```\n\n- Create virtualenv and install the library via uv\n```bash\npython -m venv .venv\nsource .venv/bin/activate\n\npip install uv\n\n# --\nCollecting uv\n  Downloading uv-0.11.7-py3-none-win_amd64.whl.metadata (12 kB)\nDownloading uv-0.11.7-py3-none-win_amd64.whl (25.4 MB)\n   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 25.4/25.4 MB 6.8 MB/s eta 0:00:00\nInstalling collected packages: uv\nSuccessfully installed uv-0.11.7\n# --\nuv init\n# --\nerror: Failed to discover parent workspace; use `uv init --no-workspace` to ignore\n  Caused by: No `project` table found in: C:\\Users\\euiyoung.hwang\\pyproject.toml\n(.venv)\n# --\n\nuv init --no-workspace\n# --\nInitialized project `package-deps-fastapi`\nREADME.md  main.py  pyproject.toml\n# --\n\nuv add fastapi --extra standard --system-certs\n# --\nResolved 44 packages in 1.97s\nPrepared 42 packages in 4.25s\nInstalled 42 packages in 1.47s\n + annotated-doc==0.0.4\n + annotated-types==0.7.0\n + anyio==4.13.0\n + certifi==2026.4.22\n + click==8.3.3\n + colorama==0.4.6\n + dnspython==2.8.0\n + email-validator==2.3.0\n + fastapi==0.136.0\n + fastapi-cli==0.0.24\n + fastapi-cloud-cli==0.17.0\n + fastar==0.11.0\n + h11==0.16.0\n + httpcore==1.0.9\n# --\n\n# The issue is that 'fcntl' is not available on windows\nuv add gunicorn --system-certs\n\n# 그리고 lint를 해주기 위해 ruff 를 추가해주도록 합시다. 개발할 때만 사용하고 배포 시에는 활용하지 않을 것이므로 --dev에 추가해주도록 합시다.\nuv add --dev ruff\n\nuv run fastapi dev main.py\n# --\n  FastAPI   Starting development server 🚀\n\n             Searching for package file structure from directories with __init__.py files\n\n    module   🐍 main.py\n\n      code   Importing the FastAPI app object from the module with the following code:\n\n             from main import app\n\n       app   Using import string: main:app\n\n    server   Server started at http://127.0.0.1:8000\n    server   Documentation at http://127.0.0.1:8000/docs\n\n       tip   Running in development mode, for production use: fastapi run\n# --\n\n# -- sample --\n$ uv add fastapi\n$ uv add uvicorn --extra standard\n$ uv add ruff --dev --system-certs\n$ uv add --dev pytest pytest-cov --system-certs\n$ uv add pytest --group test\n\n[dependency-groups]\ndev = [\n    \"ruff\u003e=0.11.4\",\n]\ntest = [\n    \"pytest\u003e=8.3.5\",\n]\n\n# 특정 브랜치나 태그에서 설치\nuv add \"git+https://github.com/user/repo.git@main\"\nuv add \"git+https://github.com/user/repo.git@v1.0.0\"\n# -- --\n\n```\n\n- Installation libraries\n```bash\n\nuv export -o ./dev_uv_requirements.txt\n\nuv pip install -r ./dev_requirements.txt\n\n#export UV_NATIVE_TLS=true\n#uv python install 3.11\n\n# uv is significantly faster than standard venv, often over 6x faster.\n# Create a .venv virtual environment with default Python\nuv venv\n\n# Create a virtual environment with a specific Python version\nuv venv --python 3.11\n\n# Create a virtual environment with a custom name\nuv venv \u003cenv_name\u003e --python 3.11\n\n#uv venv test --python 3.11\n#cpython-3.11.15-windows-x86_64-none (download) ------------------------------ 12.67 MiB/24.41 MiB   \n\npip freeze \u003e ./dev_requirements.txt\n\npython -m venv .test_venv\nsource .test_venv/Script/activate\npip install uv\ntime uv add -r dev_uv_requirements.txt --system-certs --active   # 의존성 설치\n\n#--\npython -m venv .test_venv\nsource .test_venv/Scripts/activate\npip install uv\nuv sync # pyproject.toml 과 uv.lock 파일을 기준으로 가상환경 재생성 및 동기화\nuv sync --dev --active\nResolved 53 packages in 3ms\nInstalled 50 packages in 1.80s\n + annotated-doc==0.0.4\n + annotated-types==0.7.0\n + anyio==4.13.0\n + certifi==2026.4.22\n + click==8.3.3\n + colorama==0.4.6\n + coverage==7.13.5\n + dnspython==2.8.0\n + email-validator==2.3.0\n + fastapi==0.136.0\n + fastapi-cli==0.0.24\n + fastapi-cloud-cli==0.\n ..\n + watchfiles==1.1.1\n + websockets==16.0\n#--\n\nuv tree\n```\n\n### Pytest via uv\n- uv run pytest ./tests\n- uv run pytest ./tests/test_api.py\n- ./pytest.sh\n```bash\n$ uv run pytest tests/\n======================================================================================================== test session starts ========================================================================================================\nplatform win32 -- Python 3.11.14, pytest-9.0.3, pluggy-1.6.0\nrootdir: C:\\Users\\euiyoung.hwang\\Git_Workspace\\Package_deps_FastAPI\\tests\nconfigfile: pytest.ini\nplugins: anyio-4.13.0\ncollected 1 item                                                                                                                                                                                                                     \n\ntests\\test_api.py .                                                                                                                                                                                                            [100%]\n\n========================================================================================================= 1 passed in 0.07s =========================================================================================================\n(.venv) \n```\n- ./pytest.sh with coverage\n```bash\nuv run pytest ./tests -sv ./tests -sv ./tests --disable-warnings --cov-report term-missing --cov\n$ ./pytest.sh\n======================================================================================================== test session starts ========================================================================================================\nplatform win32 -- Python 3.11.14, pytest-9.0.3, pluggy-1.6.0 -- C:\\Users\\euiyoung.hwang\\Git_Workspace\\Package_deps_FastAPI\\.venv\\Scripts\\python.exe\ncachedir: .pytest_cache\nrootdir: C:\\Users\\euiyoung.hwang\\Git_Workspace\\Package_deps_FastAPI\\tests\nconfigfile: pytest.ini\nplugins: anyio-4.13.0, cov-7.1.0\ncollected 1 item                                                                                                                                                                                                                     \n\ntests\\test_api.py::test_api PASSED\n\n========================================================================================================== tests coverage ===========================================================================================================\n_________________________________________________________________________________________ coverage: platform win32, python 3.11.14-final-0 __________________________________________________________________________________________\n\nName                Stmts   Miss  Cover   Missing\n-------------------------------------------------\nmain.py                 8      0   100%\ntests\\__init__.py       0      0   100%\ntests\\conftest.py       8      0   100%\ntests\\test_api.py       6      0   100%\n-------------------------------------------------\nTOTAL                  22      0   100%\n========================================================================================================= 1 passed in 0.29s =========================================================================================================\n(.venv) \n```\n\n\n### Run via uv\n- uv run --python 3.10 --with fastapi,pytest main.py (uv run 명령어를 사용하여 설치되지 않은 파이썬 버전을 자동으로 설치하고, 필요한 패키지를 포함시켜 스크립트를 실행할 수 있습니다.)\n- uv run ruff check\n```bash\nAll checks passed!\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuiyounghwang%2Fpackage_deps_fastapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feuiyounghwang%2Fpackage_deps_fastapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuiyounghwang%2Fpackage_deps_fastapi/lists"}