PythonAnywhere forums: all postshttps://eu.pythonanywhere.com/forums/PythonAnywhere forums: all postsen-usMon, 13 Apr 2026 16:37:17 +0000Python 3.14https://eu.pythonanywhere.com/forums/topic/575/#id_post_2403We do have a roadmap, but we're not disclosing it as that could lead to even more confusion and possible dissapointment. We know Postgres is one of the most requested upgrades and it's very high on our priority list.Mon, 13 Apr 2026 16:37:17 +0000https://eu.pythonanywhere.com/forums/topic/575/#id_post_2403PostgreSQL Version Upgradehttps://eu.pythonanywhere.com/forums/topic/558/#id_post_2402We do have a roadmap and upgrading Postgres is high on our priority list.Mon, 13 Apr 2026 16:35:06 +0000https://eu.pythonanywhere.com/forums/topic/558/#id_post_2402Python 3.14https://eu.pythonanywhere.com/forums/topic/575/#id_post_2401Glenn, Is there a timeline for any upgrades (new features, new versions etc) that you can appraise us of - support for Python 14, and PostGres 14 for example I know are things that many of your customers will care about. If you do have a roadmap - even in terms of aspirational goals for each quarter for things that will impact the users, we can start to plan our schedules.Sun, 12 Apr 2026 12:53:27 +0000https://eu.pythonanywhere.com/forums/topic/575/#id_post_2401PostgreSQL Version Upgradehttps://eu.pythonanywhere.com/forums/topic/558/#id_post_2400I appreciate that you don't have a timeline - and that is the point. What the users are asking for is for you and the team to develop a timeline - or at least a roadmap for it. I understand that plans for upgrades like this take time, and that you can't promise now when you will deliver, but I get the impression that even if you could say for example that "you have a target of Q3 2026 for PostGres 14 support" that would be better than having no news since October. You already know that this under demand and you know that PostGre12 is effectively Obsolete - so even a roadmap for a roadmap would be better than 'we do not have a timeline'.Sun, 12 Apr 2026 12:47:44 +0000https://eu.pythonanywhere.com/forums/topic/558/#id_post_2400Python 3.14https://eu.pythonanywhere.com/forums/topic/575/#id_post_2399There is a plan, but no timelineFri, 10 Apr 2026 15:16:36 +0000https://eu.pythonanywhere.com/forums/topic/575/#id_post_2399Python 3.14https://eu.pythonanywhere.com/forums/topic/575/#id_post_2398Is there a plan or a timeline where Python 3.14 will be supported? This Python version has been in production for 6 months now.Fri, 10 Apr 2026 12:55:24 +0000https://eu.pythonanywhere.com/forums/topic/575/#id_post_2398Add this site to whitelisthttps://eu.pythonanywhere.com/forums/topic/574/#id_post_2397To request an addition, please use the form described here: https://help.pythonanywhere.com/pages/RequestingAllowlistAdditions/ Once submitted through that page, our team will review the domain and documentation and add it to the whitelist if it meets the criteria. If you need immediate access without waiting for review, upgrading to a paid account is the fastest way.Mon, 06 Apr 2026 12:21:12 +0000https://eu.pythonanywhere.com/forums/topic/574/#id_post_2397Add this site to whitelisthttps://eu.pythonanywhere.com/forums/topic/574/#id_post_2396Hello, I'm on Beginner plan and I see that collectionapi.metmuseum.org is allowed on free accounts, while images.metmuseum.org is not. Here is the official documentation link: https://metmuseum.github.io/. Specifically, the endpoint is https://collectionapi.metmuseum.org/public/collection/v1/objects/[objectID] and the field is primaryImageSmall. Can this be added to the whitelist? Please let me knowSun, 05 Apr 2026 21:05:19 +0000https://eu.pythonanywhere.com/forums/topic/574/#id_post_2396Webshare proxies?https://eu.pythonanywhere.com/forums/topic/331/#id_post_2395If you run curl ifconfig.me, it prints the IP address, but not a new line. What your seeing is the IP address + the time which is printed in front of the new prompt. Compare with curl ifconfig.me > myip.txt or soWed, 18 Mar 2026 16:40:00 +0000https://eu.pythonanywhere.com/forums/topic/331/#id_post_2395Helphttps://eu.pythonanywhere.com/forums/topic/573/#id_post_2394We do not provide email services. You cannot connect to smtp.pythonanywhere.comThu, 05 Mar 2026 16:25:19 +0000https://eu.pythonanywhere.com/forums/topic/573/#id_post_2394Helphttps://eu.pythonanywhere.com/forums/topic/573/#id_post_2393Hello, I am using a paid Developer account and a Django web application. My contact form sends email using SMTP, but the connection always times out. From a PythonAnywhere Bash console I tested TCP connections to: smtp.pythonanywhere.com on ports 25, 465, and 587, and all of them return "connection timed out". Example test: import socket socket.create_connection(("smtp.pythonanywhere.com", 587), timeout=10) This also times out. Could you please confirm whether outbound SMTP connections are blocked on my account or cluster, or if there is a different SMTP host/port that should be used for sending email from a PythonAnywhere web app? Thank you.Thu, 05 Mar 2026 14:05:53 +0000https://eu.pythonanywhere.com/forums/topic/573/#id_post_2393ASGI support needed — StreamingResponse and SSE broken on FastAPIhttps://eu.pythonanywhere.com/forums/topic/572/#id_post_2392Glad to hear that!Wed, 04 Mar 2026 16:10:08 +0000https://eu.pythonanywhere.com/forums/topic/572/#id_post_2392ASGI support needed — StreamingResponse and SSE broken on FastAPIhttps://eu.pythonanywhere.com/forums/topic/572/#id_post_2391Thank you! Looking forward to it . I love this platform and we literally need this feature !Tue, 24 Feb 2026 16:20:04 +0000https://eu.pythonanywhere.com/forums/topic/572/#id_post_2391ASGI support needed — StreamingResponse and SSE broken on FastAPIhttps://eu.pythonanywhere.com/forums/topic/572/#id_post_2390We are aware that SSE does not work in ASGI apps, but do not have an estimate of when we will add it.Tue, 24 Feb 2026 14:52:54 +0000https://eu.pythonanywhere.com/forums/topic/572/#id_post_2390ASGI support needed — StreamingResponse and SSE broken on FastAPIhttps://eu.pythonanywhere.com/forums/topic/572/#id_post_2389***Problem 1 — StreamingResponse doesn't stream, returns full response*** I have an LLM chatbot endpoint that streams tokens to the browser as they are generated: @landing_page_router.post("/stream", dependencies=[Depends(limiter)]) async def chat_landing_page_stream( request: LandingPageChatRequest, open_router: ChatOpenRouter = Depends(get_openrouter_client), qdrant_manager: QdrantManager = Depends(get_qdrant_manager), mongodb: AsyncIOMotorDatabase = Depends(get_mongo_db), ): chat_service = ChatService(mongodb, open_router, qdrant_manager) async def event_generator(): try: async for token in chat_service.stream_chat_landing_page( request.prompt, request.session_id ): yield f"data: {json.dumps({'token': token})}\n\n" yield "data: [DONE]\n\n" except Exception as e: logger.error(f"Error in streaming endpoint: {e}", exc_info=True) yield f"data: {json.dumps({'token': 'I apologize, I encountered an error.'})}\n\n" yield "data: [DONE]\n\n" return StreamingResponse( event_generator(), media_type="text/event-stream", headers={"Cache-Control": "no-cache", "X-Accel-Buffering": "no"}, ) On browser, the entire response is buffered and delivered at once — the user sees a blank screen until the LLM finishes, then the full text appears. Streaming never works. This works perfectly when I run uvicorn locally. https://www.pythonanywhere.com/forums/topic/32484/ I can see that HTTP works for streaming but it not an option for me. ***Problem 2 — SSE connections hang indefinitely ("pending" in browser DevTools)*** I have a real-time event bus that pushes live notifications to the frontend via Server-Sent Events: # app/core/event_bus.py import asyncio from typing import Any # Global registry: session_id -> list of subscriber queues _subscribers: dict[str, list[asyncio.Queue]] = {} def subscribe(session_id: str) -> asyncio.Queue: """Create a new queue for the given session_id and register it.""" queue: asyncio.Queue = asyncio.Queue() _subscribers.setdefault(session_id, []).append(queue) return queue def unsubscribe(session_id: str, queue: asyncio.Queue) -> None: """Remove a queue from the session's subscriber list; clean up if empty.""" queues = _subscribers.get(session_id) if queues is None: return try: queues.remove(queue) except ValueError: pass if not queues: _subscribers.pop(session_id, None) def publish(session_id: str, data: dict[str, Any]) -> None: """Push data to every subscriber queue for the given session_id.""" queues = _subscribers.get(session_id) if not queues: return for queue in queues: queue.put_nowait(data) async def append_chat_messages(self, session_id: str, tenant_id: str, chatbot_id: str, external_channel: str, external_user_id: str, messages: list[ChatMessage]) -> bool: """Append multiple messages to session's message array in one operation.""" try: message_dicts = [message.model_dump(by_alias=True, exclude_none=True) for message in messages] current_time = datetime.utcnow() # Update chat messages with all messages at once result = await self.chat_messages_collection.update_one( {"session_id": session_id}, { "$push": {"messages": {"$each": message_dicts}}, "$set": {"updated_at": current_time}, "$setOnInsert": { "tenant_id": tenant_id, "created_at": current_time, "chatbot_id": chatbot_id, "external_channel": external_channel, "external_user_id": external_user_id, "_id": ObjectId(), }, }, upsert=True, ) # Update analytics metadata with correct count await self.chats_collection.update_one( {"session_id": session_id}, { "$inc": {"message_count": len(messages)}, "$set": { "updated_at": current_time, }, "$setOnInsert": {"created_at": current_time}, }, upsert=True, ) event_bus_publish(session_id, {"event": "new_messages", "count": len(messages)}) event_bus_publish(f"tenant:{tenant_id}", {"event": "new_messages", "session_id": session_id, "count": len(messages)}) return result.acknowledged except Exception as e: logger.error(f"Error appending chat messages: {e}") return False Browser's EventSource connection stays in "pending" state in DevTools forever. No events are ever received. The SSE connection never completes . ***I know ASGI support is in beta. Any chances will these features getting implemented soon? or are there any workarounds for now?***Tue, 24 Feb 2026 09:34:05 +0000https://eu.pythonanywhere.com/forums/topic/572/#id_post_2389Optimize table (MySQL)https://eu.pythonanywhere.com/forums/topic/571/#id_post_2388It's impossible for us to debug your sql alchemy configuration.Sat, 14 Feb 2026 20:01:42 +0000https://eu.pythonanywhere.com/forums/topic/571/#id_post_2388Optimize table (MySQL)https://eu.pythonanywhere.com/forums/topic/571/#id_post_2387I am told that one can also use a "null" ALTER TABLE operation like said on https://dev.mysql.com/doc/refman/8.0/en/innodb-file-defragmenting.htmlThu, 12 Feb 2026 13:33:21 +0000https://eu.pythonanywhere.com/forums/topic/571/#id_post_2387Optimize table (MySQL)https://eu.pythonanywhere.com/forums/topic/571/#id_post_2386Hi. It's been years that I am using flask-sqlalchemy to handle my db. I was doing some clean-up via cron tasks, daily. But I just discovered recently that my db has grown up to 1.7GB. It appears that I need to run `OPTIMIZE TABLE mytable;` SQL command to force MySQL to reclaim the space and free it up. I wonder if there is something that I should have done at the sqlachemy level; what I have found, so far, is that it does not seem so. So then, shouldn't this be in the doc or the FAQ on the site here? I don't think I have seen.Thu, 12 Feb 2026 10:33:06 +0000https://eu.pythonanywhere.com/forums/topic/571/#id_post_2386Can I monitor cpu seconds used per web apphttps://eu.pythonanywhere.com/forums/topic/570/#id_post_2385No, cpu time is not counted for uwsgi web apps.Sun, 08 Feb 2026 15:30:58 +0000https://eu.pythonanywhere.com/forums/topic/570/#id_post_2385Can I monitor cpu seconds used per web apphttps://eu.pythonanywhere.com/forums/topic/570/#id_post_2384Hi, I there a way to monitor cpu seconds used per web app? /KrestenSun, 08 Feb 2026 13:21:36 +0000https://eu.pythonanywhere.com/forums/topic/570/#id_post_2384PostgreSQL Version Upgradehttps://eu.pythonanywhere.com/forums/topic/558/#id_post_2383We do not have a timelineSun, 01 Feb 2026 16:10:16 +0000https://eu.pythonanywhere.com/forums/topic/558/#id_post_2383PostgreSQL Version Upgradehttps://eu.pythonanywhere.com/forums/topic/558/#id_post_2382Everyday that goes by we are locked into an obsolete and unsupported version of both our database and Django. I know costs are critical, but keep the system images at least in step with supported infrastructure is a minimum. The fact that we are forced to use postgresql 12 should mean that supporting 14 as a minimum should be a critical project for you - as there is nothing we can do as users. Please - publish a timeline ASAP. My application is not a high value application and we thankfully don't deal with personal or financial data on-line but if I had to explain to my committee that our website was locked into unsupported infrastructure I don't think it would be well received.Sun, 01 Feb 2026 14:14:07 +0000https://eu.pythonanywhere.com/forums/topic/558/#id_post_2382PostgreSQL Version Upgradehttps://eu.pythonanywhere.com/forums/topic/558/#id_post_2381No, there is no newsSat, 31 Jan 2026 09:54:19 +0000https://eu.pythonanywhere.com/forums/topic/558/#id_post_2381PostgreSQL Version Upgradehttps://eu.pythonanywhere.com/forums/topic/558/#id_post_2380May I kindly inquire if there are any news on this? PostgreSQL 12 is pretty outdated in 2026 and not compatible with recent versions of Django.Thu, 29 Jan 2026 19:16:25 +0000https://eu.pythonanywhere.com/forums/topic/558/#id_post_2380You have exceeded your process limit.https://eu.pythonanywhere.com/forums/topic/569/#id_post_2379Ah OK good info, thanks - it's now OK, either went away or you reset something. Either way, thanks! :-)Wed, 31 Dec 2025 16:25:39 +0000https://eu.pythonanywhere.com/forums/topic/569/#id_post_2379You have exceeded your process limit.https://eu.pythonanywhere.com/forums/topic/569/#id_post_2378That limit only applies to console servers, it does not affect your web app and it is not affected by your web app - it is only referring to processes started from consoles.Wed, 31 Dec 2025 16:02:50 +0000https://eu.pythonanywhere.com/forums/topic/569/#id_post_2378You have exceeded your process limit.https://eu.pythonanywhere.com/forums/topic/569/#id_post_2377Hi - I'm getting this error when trying to start a Bash console: Loading console... Preparing execution environment...You have exceeded your process limit. You should kill some of your consoles, or look into whether your scheduled tasks are spawning too many processes. Console closed. but I don't have any consoles, and I can't see what processes I'm running because I can't start a Bash console! I'm running a vanilla Django site that's very small, and has only one user. I've restarted the web app, which was and still is running fine. Any ideas??Wed, 31 Dec 2025 11:58:51 +0000https://eu.pythonanywhere.com/forums/topic/569/#id_post_2377Always on is running but not in taskshttps://eu.pythonanywhere.com/forums/topic/566/#id_post_2376If your task is shown as Running, then the process is running. If it is not doing what you expect, you will need to debug that to find out what is going wrong.Wed, 31 Dec 2025 11:30:30 +0000https://eu.pythonanywhere.com/forums/topic/566/#id_post_2376Always on is running but not in taskshttps://eu.pythonanywhere.com/forums/topic/566/#id_post_2375But how can I copy the logs if it is not running in the first place? What is there to copy? My solution is just put it in Scheduled. If you ask my observation, it is not running in the middle of x hours due to stuck somewhere else. or maybe memory full somewhere.Tue, 30 Dec 2025 06:26:47 +0000https://eu.pythonanywhere.com/forums/topic/566/#id_post_2375Always on is running but not in taskshttps://eu.pythonanywhere.com/forums/topic/566/#id_post_2374It’s not possible to diagnose this without more concrete information. If you see an Always-on task showing as “Running” but not actually doing work, we’ll need details such as: • The Always-on task log output around the time it appears stuck • Exact timestamps (with timezone) when it stopped doing work • Whether the process is CPU-bound, waiting/sleeping, or blocked on I/O • Whether restarting the task resolves it temporarily Without logs or times, there’s nothing actionable we can check on our side. If it happens again, please grab the relevant task log entries and post them here, or email support with the details so we can investigate properly.Mon, 29 Dec 2025 13:10:48 +0000https://eu.pythonanywhere.com/forums/topic/566/#id_post_2374Always on is running but not in taskshttps://eu.pythonanywhere.com/forums/topic/566/#id_post_2373It is running in Scheduled tasks. So Always On is not running Always, it is getting stuck sometimes and not running for x hours. But it says Running, but in reality not running.Sun, 28 Dec 2025 04:19:12 +0000https://eu.pythonanywhere.com/forums/topic/566/#id_post_2373Always on is running but not in taskshttps://eu.pythonanywhere.com/forums/topic/566/#id_post_2372What do you see in your task's log?Thu, 25 Dec 2025 20:37:38 +0000https://eu.pythonanywhere.com/forums/topic/566/#id_post_2372Cannot uninstall python package Disk Quota exceededhttps://eu.pythonanywhere.com/forums/topic/567/#id_post_2371Thanks for letting us know!Thu, 25 Dec 2025 20:37:11 +0000https://eu.pythonanywhere.com/forums/topic/567/#id_post_2371Always on is running but not in taskshttps://eu.pythonanywhere.com/forums/topic/566/#id_post_2370sometimes not runningThu, 25 Dec 2025 12:09:41 +0000https://eu.pythonanywhere.com/forums/topic/566/#id_post_2370Cannot uninstall python package Disk Quota exceededhttps://eu.pythonanywhere.com/forums/topic/567/#id_post_2369Oh ... my mistake, i have successfully deleted some of the large libraries. Thx !Tue, 23 Dec 2025 19:06:01 +0000https://eu.pythonanywhere.com/forums/topic/567/#id_post_2369Encryption at resthttps://eu.pythonanywhere.com/forums/topic/568/#id_post_2368We don't offer encryption at rest, however for customers that need that for compliance you can still use external services (for databases) while using PythonAnywhere for hosting backend code, etc.Tue, 23 Dec 2025 16:03:47 +0000https://eu.pythonanywhere.com/forums/topic/568/#id_post_2368Cannot uninstall python package Disk Quota exceededhttps://eu.pythonanywhere.com/forums/topic/567/#id_post_2367You should be able to remove directories / files from the Bash console with regular `rm <path>` command, did you try that?Tue, 23 Dec 2025 14:54:38 +0000https://eu.pythonanywhere.com/forums/topic/567/#id_post_2367Encryption at resthttps://eu.pythonanywhere.com/forums/topic/568/#id_post_2366Background: I've read the exchanges at https://www.pythonanywhere.com/forums/topic/1287/ and I'm uncertain whether I can keep using PA, which in all other respects provides a great service. The GDPR does not impose any absolute rule that all data must be encrypted at rest, but it mentions encryption as potentially appropriate, and these days many clients will insist on it. Heroku, Railway etc all say their databases are encrypted at rest, and AWS offer database encryption. Queries: Can I double-check that none of the databases you offer have anything that could be described as encryption at rest and that you have no plans to change that? (I'm sorry to ask this yet again but I've read a Railway forum where there was evidently some confusion about different types of encryption, and their answer changed No to Yes.) Do you have any suggestions for someone who would like to continue using PA but may have clients who will need to have the "data encrypted at rest" box ticked?Tue, 23 Dec 2025 11:21:39 +0000https://eu.pythonanywhere.com/forums/topic/568/#id_post_2366Cannot uninstall python package Disk Quota exceededhttps://eu.pythonanywhere.com/forums/topic/567/#id_post_2365That's the thing. I deleted everything unused. I cannot perform any disk operations on python packages. Please increase my disk size temporarily.Mon, 22 Dec 2025 19:15:26 +0000https://eu.pythonanywhere.com/forums/topic/567/#id_post_2365Cannot uninstall python package Disk Quota exceededhttps://eu.pythonanywhere.com/forums/topic/567/#id_post_2364Have a look at [this help page](https://help.pythonanywhere.com/pages/DiskQuota/).Mon, 22 Dec 2025 16:38:59 +0000https://eu.pythonanywhere.com/forums/topic/567/#id_post_2364Cannot uninstall python package Disk Quota exceededhttps://eu.pythonanywhere.com/forums/topic/567/#id_post_2363Downgraded from paid account to free account. Cannot delete pytorch. Please helpMon, 22 Dec 2025 10:18:45 +0000https://eu.pythonanywhere.com/forums/topic/567/#id_post_2363Always on is running but not in taskshttps://eu.pythonanywhere.com/forums/topic/566/#id_post_2362Thanks for letting us know.Sun, 21 Dec 2025 08:32:16 +0000https://eu.pythonanywhere.com/forums/topic/566/#id_post_2362Always on is running but not in taskshttps://eu.pythonanywhere.com/forums/topic/566/#id_post_2361Now its running fine. Solved.Sat, 20 Dec 2025 16:50:31 +0000https://eu.pythonanywhere.com/forums/topic/566/#id_post_2361ASGI serverhttps://eu.pythonanywhere.com/forums/topic/528/#id_post_2360You can [enable HTTPS](https://help.pythonanywhere.com/pages/ASGICommandLine/#enabling-https-for-your-custom-domain-webapp) on ASGI apps, but you can't force HTTPS.Sat, 20 Dec 2025 08:48:34 +0000https://eu.pythonanywhere.com/forums/topic/528/#id_post_2360ASGI serverhttps://eu.pythonanywhere.com/forums/topic/528/#id_post_2359Look, my friend also got ASGI and his sites are created with HTTPS on standard PE domains, if I create sites on my account, then HTTP is created for me and I can't get the site's signature because of this. Your service definitely has the ability to create a Web app with HTTPS on standard domains in the tab. please check my account, maybe something is not enabled. This is critical for me. I can send my friend's account name, where it all works on standard domains. ThanksWed, 17 Dec 2025 11:25:47 +0000https://eu.pythonanywhere.com/forums/topic/528/#id_post_2359ASGI serverhttps://eu.pythonanywhere.com/forums/topic/528/#id_post_2358We don't have this feature yet for ASGI sites. You can set up HTTPS support though, see [this help page](https://help.pythonanywhere.com/pages/ASGICommandLine/#enabling-https-for-your-custom-domain-webapp).Tue, 16 Dec 2025 15:55:42 +0000https://eu.pythonanywhere.com/forums/topic/528/#id_post_2358ASGI serverhttps://eu.pythonanywhere.com/forums/topic/528/#id_post_2357hi! how can i Force HTTPS on my ASGI interface? I need to do this for domains like *.pythonanywhere.com and not for a private domain. But now, when creating a Web app, only HTTP is created. The api cannot configure domains *.pythonanywhere.com . please help meMon, 15 Dec 2025 17:39:41 +0000https://eu.pythonanywhere.com/forums/topic/528/#id_post_2357ASGI serverhttps://eu.pythonanywhere.com/forums/topic/528/#id_post_2356You may have to use the API for that. You can find the documentation about using the API to manage an ASGI app [here][1]. [1]: https://help.pythonanywhere.com/pages/ASGIAPI/Mon, 15 Dec 2025 16:16:17 +0000https://eu.pythonanywhere.com/forums/topic/528/#id_post_2356ASGI serverhttps://eu.pythonanywhere.com/forums/topic/528/#id_post_2355hi! how can i Force HTTPS on my ASGI interface?Mon, 15 Dec 2025 15:44:47 +0000https://eu.pythonanywhere.com/forums/topic/528/#id_post_2355ASGI serverhttps://eu.pythonanywhere.com/forums/topic/528/#id_post_2354That's been enabled for your account.Mon, 15 Dec 2025 09:25:39 +0000https://eu.pythonanywhere.com/forums/topic/528/#id_post_2354