I decided to create and train my own GPT(Kin) model from the ground up using my own dataset. So far, the results have been encouraging, especially considering how small the training dataset still is.
The model is definitely hallucinating at times, which is expected at this stage, but it's already showing promising behavior and making steady progress. Training on a dataset of just 15,438 subword tokens took nearly 8 hours, which has given me an even greater appreciation for the scale and computational effort behind modern large language models.
There's still a long way to go, but it's exciting to see the model gradually learn from data that I curated myself.
#GPT #KinGPT
Testing shouldn't be an afterthought. Dyne comes with a built-in, asynchronous test client that makes verifying your API as easy as writing it.
The `app.client` uses the familiar Requests-style API, allowing you to perform GET, POST, and other requests against your app without a live server. With support for `url_for() ` and automatic JSON/YAML media parsing, you can write robust unit and integration tests in seconds.
Ship with confidence every time: https://t.co/b1GC3iMpLH
#Python #Pytest #Testing #Backend #WebDev #DyneFramework
@FastAPI@pydantic There is another modern Python Async web framework that’s even more intuitive and pack full of cool features out of the box. https://t.co/EL04n4FhPt
@FastAPI There is another modern Python Async web framework that’s even more intuitive and pack full of cool features out of the box. https://t.co/EL04n4FhPt
Whether you need to render HTML templates, serve JSON/YAML APIs, or just return plain text, Dyne makes it effortless. 🎨
Dyne features a built-in Jinja2 wrapper for clean template rendering with `resp.html` and an intelligent `https://t.co/AUx0V9r76h` property that handles content negotiation (JSON/YAML) automatically based on the client's request. Plus, dynamic routing uses familiar f-string syntax to pass arguments directly to your handlers!
Build flexible web services: https://t.co/b1GC3iMpLH
#Python #Jinja2 #WebDev #API #Backend #DyneFramework
Nobody likes a generic "Internal Server Error" page. With Dyne, you get full control over how your App/API handles the unexpected. 🛑
Use `@app.error_handler ` to create beautiful, branded responses for 404s, 500s, or any status code. Plus, use the abort() function to trigger these handlers instantly from your logic keeping your routes clean and readable.
Dyne also intelligently separates Debug mode (interactive tracebacks for developers) and Production mode (safe, hidden errors for users).
Build more resilient APIs: https://t.co/b1GC3iMpLH
#Python #WebDev #Backend #API #Dyne #DyneFramework #ErrorHandling.
Did you know Dyne has built-in WebSocket support, making real-time apps like live chats, notifications, or even multiplayer games as simple as defining a regular route?
By adding websocket=True to your route decorator, you unlock a persistent, full-duplex connection. You can seamlessly send and receive data in text, JSON, or bytes formats using Dyne's intuitive async API. ⚡
✨ What you get:
- text, json, and bytes support
- Explicit lifecycle: accept(), send_*(), receive_*(), close()
Keep your users connected without the overhead of polling: https://t.co/b1GC3iMXBf
#Python #WebSockets #RealTime #Async #Dyne #Framework
Did you know Dyne has a built-in background task manager to handle heavy lifting without blocking your API? 🚀
Using `@app.background.task`, you can offload long-running processes—like image processing or sending emails—to a managed thread pool. This allows you to respond to the client immediately while the work continues in the background.
No Celery.
No Redis.
No boilerplate.
Keep your APIs fast and responsive: https://t.co/b1GC3iMXBf
#Python #WebDev #Backend #Async #Dyne
Did you know Dyne supports `Basic`, `Token`, and `Digest` authentication out of the box? 🔐
You can even mix backends using `MultiAuth`, enforce **Role-Based Access Control (RBAC)**, and fully customize your security logic with decorators like `@verify_password`, `@verify_token`, `@get_password`, `@get_user_roles`, and `@error_handler`.
Secure your APIs with ease:
https://t.co/b1GC3iMpLH
#Python #WebDev #Backend #Security #Authentication #Authorization #DyneFramework
Did you know Dyne features a hybrid configuration system that is "Zero-Config" by default but incredibly robust? 📁
It automatically discovers your .env file and follows a strict resolution hierarchy (OS Env > .env > Objects). Plus, it solves "stringly-typed" bugs with built-in type casting and mandatory field validation using `require()`. No silent failures!🛠️
Manage your environment like a pro: https://t.co/b1GC3iMpLH
#Python #Backend #WebDev #DyneFramework #CleanCode #Config
🚀 I just discovered what might be the next big Python web framework — Dyne. created by @KevinTabot
I’ve genuinely had so much fun using it. It’s expressive, simple, and packed with powerful features out of the box:
✅ Validation, Serialization & automatic OpenAPI docs (Pydantic and Marshmallow)
🔐 Session & Stateless Auth (Basic, Token, Digest) with Role-Based Access Control (RBAC)
📂 Robust file uploads with built-in validation (Pydantic & Marshmallow)
🧠 Clean, async-first SQLAlchemy integration
🧬 Seamless GraphQL support (Strawberry & Graphene)
⚙️ Powerful, zero-config-by-default settings system
🧵 Effortless background tasks
🛑 Professional error handling
🔌 Real-time WebSockets
🧪 First-class async test client for painless testing
If you love frameworks that stay out of your way while still being production-ready, Dyne is absolutely worth a look 👀👇
https://t.co/lUKtYq1SSz
#Python #WebDev #Backend #APIs #GraphQL #OpenSource #DyneFramework
Did you know Dyne has first-class support for GraphQL? 🕸️
Whether you prefer the modern type-hints of Strawberry or the classic feel of Graphene, Dyne provides a seamless GraphQLView. You get a built-in GraphiQL interface for testing and direct access to request/response objects in your resolvers.
Pick a backend, wire your Query and Mutation into Dyne’s Schema, add a route to your view. That’s it!
Query, Mutate, and explore your API: https://t.co/b1GC3iMpLH
#Python #GraphQL #Backend #WebDev #DyneFramework #Strawberry #Graphene
Doubling down even further! Did you know the `@transaction` decorator removes almost all database "plumbing" from your Dyne routes? 🛠️
Forget `await req.db` or manual `await session.commit()` calls. Just decorate your function: it lazily loads the session, commits on success, and automatically rolls back if anything goes wrong.
Focus on your logic, not the infrastructure: https://t.co/b1GC3iMpLH
#Python #SQLAlchemy #Backend #DyneFramework #WebDev
Doubling down on database ease! Did you know Dyne’s CRUDMixin brings Active Record style utilities to your SQLAlchemy models? ⚡️
It provides explicit, async helpers for common tasks like get, create, find, patch, and destroy, so you can stop writing repetitive query logic for simple operations.
Clean code, powerful models: https://t.co/b1GC3iMXBf
#Python #SQLAlchemy #Backend #DyneFramework #CleanCode
Did you know Dyne eliminates the "session gymnastics" usually required by async frameworks? 🏋️♂️
Forget nested context managers and manual session cleanup. Dyne provides a lazy, request-scoped session directly on the request object. It handles rollbacks on error and can optionally even auto-commit for you! 🚀
Database management simplified.
Check it out: https://t.co/b1GC3iMpLH
#Python #SQLAlchemy #Backend #DyneFramework #WebDev
Did you know Dyne’s `FileField` makes handling file uploads as easy as validating a string? 📂
Whether you prefer `Pydantic` or `Marshmallow`, you get automatic validation for file sizes and extensions out of the box. You can even plug in custom validators (like MIME-type checks, secure filename, etc.), and Dyne wires everything into OpenAPI automatically 🛠️
Stop fighting with `multipart/form-data`.
Check it out 👉 https://t.co/b1GC3iMpLH
#Python #WebDev #Backend #OpenAPI `