From caaed25aa1dd417206acfebd28e0773d1fbfa4cb Mon Sep 17 00:00:00 2001 From: Wei Zang Date: Thu, 23 Apr 2026 16:38:35 +0100 Subject: [PATCH 1/2] Bump app version and clean up README Bump package version to 3.0.0 in app/__init__.py and perform minor README formatting/heading cleanups: rename 'Project Overview' to 'Overview', remove emoji from 'Features' heading, and trim stray blank lines for a more consistent README. --- README.md | 6 ++---- app/__init__.py | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index df424a2..fb58691 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ > Production-ready, open-source FastAPI application with PostgreSQL and blazing-fast full-text search. -#### Project Overview +#### Overview This project provides a scalable API backend using FastAPI and PostgreSQL, featuring: @@ -12,7 +12,7 @@ This project provides a scalable API backend using FastAPI and PostgreSQL, featu - Endpoints for health checks, product management, prompt handling (via `/prompt`), resend email, and prospect management - Efficient ingestion and processing of large CSV files -#### 🚀 Features +#### Features - **Python 3.11+** - **FastAPI** — Modern, high-performance REST API @@ -42,7 +42,6 @@ uvicorn app.main:app --reload Visit [localhost:8000](http://localhost:8000) or [onrender](https://nx-ai.onrender.com) - #### API Documentation FastAPI auto-generates interactive docs: @@ -71,7 +70,6 @@ SELECT * FROM prospects WHERE search_vector @@ plainto_tsquery('english', 'searc - On every insert/update, `search_vector` is computed using PostgreSQL's `to_tsvector('english', ...)`. - The GIN index (`idx_prospects_search_vector`) enables efficient search across large datasets. - #### Processing Large CSV Files The `/prospects/process` endpoint supports robust ingestion of large CSVs (e.g., 1300+ rows, 300KB+), following the same normalization and insertion pattern as `/prospects/seed` but optimized for scale. diff --git a/app/__init__.py b/app/__init__.py index 49f2f7b..d4cab6e 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -1,4 +1,4 @@ """Python - FastAPI, Postgres, tsvector""" # Current Version -__version__ = "1" +__version__ = "3.0.0" From 18f2c805893953cd4ab3a7981415e98b14350738 Mon Sep 17 00:00:00 2001 From: Wei Zang Date: Fri, 24 Apr 2026 12:02:46 +0100 Subject: [PATCH 2/2] Bump version and simplify root response MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump __version__ to 3.0.1 and update module/root docstrings to use the "Python°" label. Simplify the API root response by changing the meta title to "Python°", removing the "severity" field and the detailed endpoints list—root now returns only the meta payload. This streamlines the root health/info endpoint and increments the package version accordingly. --- app/__init__.py | 4 ++-- app/api/root.py | 37 ++++--------------------------------- 2 files changed, 6 insertions(+), 35 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index d4cab6e..3e04420 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -1,4 +1,4 @@ -"""Python - FastAPI, Postgres, tsvector""" +"""Python° - FastAPI, Postgres, tsvector""" # Current Version -__version__ = "3.0.0" +__version__ = "3.0.1" diff --git a/app/api/root.py b/app/api/root.py index 773c766..5ed493d 100644 --- a/app/api/root.py +++ b/app/api/root.py @@ -8,44 +8,15 @@ @router.get("/") def root() -> dict: - """NX-AI.""" + """"Python°""" load_dotenv() base_url = os.getenv("BASE_URL", "http://localhost:8000") epoch = int(time.time() * 1000) meta = { - "title": "Python", - "severity": "success", + "title": "Python°", "version": __version__, "base_url": base_url, "time": epoch, } - endpoints = [ - {"name": "health", "url": f"{base_url}/health"}, - { - "name": "Queue", - "endpoints": [ - {"name": "list", "url": f"{base_url}/queue"}, - ] - }, - { - "name": "Prompt°", - "endpoints": [ - {"name": "list", "url": f"{base_url}/prompt"}, - ] - }, - { - "name": "Orders°", - "endpoints": [ - {"name": "list", "url": f"{base_url}/orders"}, - ] - }, - { - "name": "Prospects°", - "endpoints": [ - {"name": "list", "url": f"{base_url}/prospects"}, - ] - }, - - {"name": "Docs", "url": f"{base_url}/docs"}, - ] - return {"meta": meta, "data": endpoints} + + return {"meta": meta}