Kode Sumber : https://github.com/fastapi/fastapi-cli
Jalankan dan kelola aplikasi FastAPI dari baris perintah dengan FastAPI CLI. ?
FastAPI CLI adalah program baris perintah fastapi
yang dapat Anda gunakan untuk melayani aplikasi FastAPI, mengelola proyek FastAPI, dan banyak lagi.
Saat Anda menginstal FastAPI (misalnya dengan pip install "fastapi[standard]"
), itu menyertakan paket bernama fastapi-cli
, paket ini menyediakan perintah fastapi
di terminal.
Untuk menjalankan aplikasi FastAPI untuk pengembangan, Anda dapat menggunakan perintah fastapi dev
:
$ fastapi dev main.py
INFO Using path main.py
INFO Resolved absolute path /home/user/code/awesomeapp/main.py
INFO Searching for package file structure from directories with __init__.py files
INFO Importing from /home/user/code/awesomeapp
╭─ Python module file ─╮
│ │
│ ? main.py │
│ │
╰──────────────────────╯
INFO Importing module main
INFO Found importable FastAPI app
╭─ Importable FastAPI app ─╮
│ │
│ from main import app │
│ │
╰──────────────────────────╯
INFO Using import string main:app
╭────────── FastAPI CLI - Development mode ───────────╮
│ │
│ Serving at: http://127.0.0.1:8000 │
│ │
│ API docs: http://127.0.0.1:8000/docs │
│ │
│ Running in development mode, for production use: │
│ │
│ fastapi run │
│ │
╰─────────────────────────────────────────────────────╯
INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [56345] using WatchFiles
INFO: Started server process [56352]
INFO: Waiting for application startup.
INFO: Application startup complete.
Program baris perintah yang disebut fastapi
adalah FastAPI CLI .
FastAPI CLI mengambil jalur ke program Python Anda dan secara otomatis mendeteksi variabel dengan FastAPI (umumnya bernama app
) dan cara mengimpornya, lalu menyajikannya.
Untuk produksi, Anda akan menggunakan fastapi run
sebagai gantinya. ?
Secara internal, FastAPI CLI menggunakan Uvicorn, server ASGI berkinerja tinggi dan siap produksi. ?
fastapi dev
Saat Anda menjalankan fastapi dev
, itu akan berjalan pada mode pengembangan.
Secara default, auto-reload akan diaktifkan, sehingga secara otomatis akan memuat ulang server ketika Anda membuat perubahan pada kode Anda. Ini membutuhkan banyak sumber daya dan bisa menjadi kurang stabil dibandingkan tanpanya, Anda sebaiknya hanya menggunakannya untuk pengembangan.
Secara default, ia akan mendengarkan alamat IP 127.0.0.1
, yang merupakan IP agar mesin Anda dapat berkomunikasi dengannya sendiri ( localhost
).
fastapi run
Saat Anda menjalankan fastapi run
, ini akan berjalan pada mode produksi secara default.
Ini akan menonaktifkan muat ulang otomatis secara default.
Ia akan mendengarkan alamat IP 0.0.0.0
, yang berarti semua alamat IP yang tersedia, dengan cara ini akan dapat diakses secara publik oleh siapa saja yang dapat berkomunikasi dengan mesin. Ini adalah cara Anda biasanya menjalankannya dalam produksi, misalnya, dalam sebuah container.
Dalam sebagian besar kasus, Anda akan (dan seharusnya) memiliki "proxy terminasi" yang menangani HTTPS untuk Anda, hal ini bergantung pada cara Anda menyebarkan aplikasi, penyedia Anda mungkin melakukan ini untuk Anda, atau Anda mungkin perlu menyiapkannya sendiri. Anda dapat mempelajarinya lebih lanjut di dokumentasi Penerapan FastAPI.
Proyek ini dilisensikan berdasarkan ketentuan lisensi MIT.