-
Notifications
You must be signed in to change notification settings - Fork 1
reference dependencies
The 360Ghar backend has a Python dependency tree (the API) and a small JavaScript dependency tree (the ChatGPT widgets). Python deps are managed by uv and declared in pyproject.toml; JS deps are managed by npm and declared in chatgpt-widgets/package.json.
Active contributors: Saksham, Ravi
Declared in pyproject.toml under [project].dependencies. Requires Python >=3.10.
-
fastapi[standard]>=0.136.1- async web framework -
uvicorn[standard]>=0.46.0- ASGI server -
python-multipart>=0.0.27- form parsing -
python-dotenv>=1.2.2-.envloading -
websockets>=15.0,<16- WebSocket support for AI job and notification streams
-
sqlalchemy[asyncio]>=2.0.49- ORM with async support -
geoalchemy2>=0.19.0- PostGIS integration for geospatial queries -
pgvector>=0.4.2- vector embedding storage and similarity search -
psycopg[binary]>=3.3.4- Postgres driver -
redis>=5.0,<8- Redis client for cache and rate limiting
-
pydantic>=2.13.3- schema validation -
pydantic-settings>=2.14.0- environment-driven settings -
email-validator>=2.3.0- email field validation
-
httpx>=0.28.1- async HTTP client (shared singletons inapp/core/http.py) -
supabase>=2.29.0- Supabase Auth and REST client -
cloudinary>=1.44.2- media storage -
razorpay>=1.4.2- payments -
google-auth>=2.50.0- Google auth (FCM service account)
-
google-genai>=1.64.0- Gemini API client -
pydantic-ai-slim[openai,fastmcp,retries]>=1.0.0- Pydantic AI agent framework -
fastmcp>=3.2.4- MCP server framework -
tenacity>=9.1.4- retry logic for AI providers and network calls
-
beautifulsoup4>=4.14.3- HTML parsing for data hub scrapers -
pdfplumber>=0.11.9- PDF parsing for gazette and jamabandi documents
-
Pillow>=12.2.0- image processing (thumbnails, EXIF) -
qrcode[pil]>=8.2- QR code generation -
bleach>=6.3.0- HTML sanitization for blog content -
PyYAML>=6.0.3- YAML parsing -
dnspython>=2.8.0- DNS resolution -
PyJWT[crypto]>=2.9.0- JWT verification against Supabase JWKS
-
sentry-sdk[fastapi]>=2.58.0- error tracking and performance monitoring
-
APScheduler>=3.10.4,<4- background job scheduler (single sharedAsyncIOScheduler)
Declared under [project.optional-dependencies].dev. Install with uv sync --extra dev.
-
pytest>=9.0.3,pytest-asyncio,pytest-cov,pytest-xdist,pytest-timeout- test runner and plugins -
respx>=0.23.1- httpx mocking -
freezegun>=1.5.5- time mocking -
ruff>=0.15.12- linter and formatter -
mypy>=1.20.2- type checker -
playwright>=1.59.0- browser automation for e2e tests -
fastapi-debug-toolbar>=0.6.3- debug toolbar -
watchfiles- hot reload for dev server -
aiosqlite- SQLite async driver for tests (with GeoAlchemy2 compile shims) -
fastapi-cli>=0.0.24-fastapi devcommand -
hypercorn>=0.18.0- alternative ASGI server
Declared in chatgpt-widgets/package.json. The widget subsystem is a standalone npm project that builds 11 React widgets into standalone HTML bundles.
react@^18.2.0react-dom@^18.2.0
-
@types/react@^18.2.0,@types/react-dom@^18.2.0- TypeScript types -
esbuild@^0.20.0- bundler (custom build script inchatgpt-widgets/scripts/build-widgets.js) -
typescript@^5.3.0- type checker
The widget bridge (chatgpt-widgets/src/utils/bridge.ts) is framework-agnostic React hooks that work on OpenAI and MCP Apps hosts. See features/mcp-servers.md.
Per CLAUDE.md and AGENTS.md, the project always uses the latest stable versions of dependencies. pyproject.toml uses >= lower bounds (not pinned) and uv.lock records the resolved versions. When upgrading, review changelogs for breaking changes and verify compatibility with Python 3.10+, FastAPI, SQLAlchemy 2.x async, and Pydantic v2.
- Features overview
- Ghar Core (marketplace)
- 360 Stays (bookings)
- 360 Flatmates
- Property Management
- 360 Virtual Tours
- 360 Data Hub
- MCP servers and widgets
- AI agent
- Blog and SEO
- Notifications
- Vastu analyzer