DEV Community

Selva Ganapathi Arumugam
Selva Ganapathi Arumugam

Posted on

πŸš€ TamilPY v0.1.9 Released β€” A Schema-Driven FastAPI Platform Gets Even More Powerful


We're excited to announce TamilPY v0.1.9, our biggest release yet! πŸŽ‰

This release transforms TamilPY into a more complete schema-driven FastAPI platform, introducing powerful runtime capabilities, a fluent Query Builder, background jobs, scheduling, caching, application lifecycle management, and a significantly improved developer experience.

Whether you're building APIs, internal tools, or enterprise applications, v0.1.9 helps you build faster while writing less boilerplate.


πŸ“š Documentation

Our documentation has also received a major upgrade with a professional GitHub Pages site featuring clickable feature cards, responsive layouts, and detailed study guides.


✨ What's New in v0.1.9

πŸ” Fluent Query Builder

Introducing tpy.query, a schema-driven query builder designed for clean, readable, and secure database queries.

Highlights

  • Parameterized queries
  • SQLite support
  • PostgreSQL support
  • MySQL support
  • MongoDB helpers
  • Built-in pagination
  • Repository integration

Instead of writing raw SQL, developers can now build expressive queries directly from repositories.


πŸ”— ORM Relationships

TamilPY now supports ORM-style relationships directly inside schema.tpy.

Supported relationships:

  • belongs_to
  • has_one
  • has_many
  • belongs_to_many

It also includes eager loading through:

  • with_()
  • EagerLoader

This makes complex data retrieval significantly cleaner and faster.


⚑ Event System

A brand-new event-driven architecture is now available.

Features include:

  • Event
  • Listener
  • EventDispatcher
  • Wildcard listeners
  • Stop propagation
  • Process singleton support

Perfect for decoupling business logic from application workflows.


🧡 Queue System

Background job processing is now built into TamilPY.

Supported drivers:

  • Sync
  • Database
  • Redis (optional)

New CLI commands:

tpy queue table
tpy queue work
Enter fullscreen mode Exit fullscreen mode

⏰ Scheduler

Schedule recurring jobs with simple cadence helpers.

Features:

  • app/schedule.py
  • Overlap protection
  • Register-based scheduling

Commands:

tpy schedule run
tpy schedule list
Enter fullscreen mode Exit fullscreen mode

⚑ Cache System

Built-in cache abstraction supporting:

  • Memory
  • File
  • Redis

Command:

tpy cache clear
Enter fullscreen mode Exit fullscreen mode

🌐 Standard API Responses

The new ApiResponse class provides consistent JSON responses across every endpoint.

Available responses include:

  • success
  • created
  • paginated
  • error
  • validation_error
  • not_found

No more manually formatting response payloads.


βœ… Validation

A completely redesigned validation system featuring:

  • Pipe-rule validation
  • Validator
  • ValidationException

Simple, expressive, and reusable.


πŸ—οΈ Application Kernel

TamilPY now includes a fully featured application kernel.

Capabilities include:

  • Application create()
  • mount()
  • Dependency Injection Container
  • Service Providers
  • Plugin support

This lays the foundation for scalable enterprise applications.


πŸ›‘ Middleware Groups

Middleware can now be organized using MiddlewareManager, making request pipelines cleaner and easier to maintain.


❀️ Health Checks & Lifecycle Hooks

Production-ready health endpoints:

  • /health
  • /health/ready

Lifecycle hooks:

  • boot
  • shutdown
  • before request
  • after request
  • exception

πŸ“ Logging

A new logging system supports:

  • Console logging
  • File logging
  • Stack channels

Managed through:

  • LogManager
  • get_logger()

βš™οΈ Configuration Improvements

Configuration now supports:

  • Nested keys
  • Environment overlays
  • Configuration caching
  • Automatic loading
  • Freshness checks

Production deployments become significantly faster using:

TPY_CONFIG_CACHE=1
Enter fullscreen mode Exit fullscreen mode

πŸš€ Route Cache

Cache application routes for faster startup.

Commands:

tpy route cache
tpy route list
tpy route clear
Enter fullscreen mode Exit fullscreen mode

πŸ‘¨β€πŸ’» Better CLI Experience

Developer productivity has improved with several new commands.

tpy about
tpy commands
tpy -V
Enter fullscreen mode Exit fullscreen mode

Rich-powered banners, tables, and improved terminal output make the CLI more enjoyable to use.


⚑ Optimize & Watch Mode

Development is now faster than ever.

tpy optimize
Enter fullscreen mode Exit fullscreen mode

Builds optimized configuration and route caches.

tpy watch
Enter fullscreen mode Exit fullscreen mode

Automatically rebuilds whenever schema.tpy changes.


πŸ“– Documentation Improvements

Documentation has been completely redesigned.

Highlights include:

  • Professional GitHub Pages site
  • Feature cards
  • Dedicated documentation pages
  • Mobile responsive layout
  • Improved navigation
  • Schema relationship grammar guide

Learning TamilPY is now easier than ever.


πŸ”„ Changes

  • Repositories now expose query()
  • Existing CRUD methods remain compatible
  • Automatic configuration loading
  • New project scaffolding
  • Legacy response helpers remain supported for backward compatibility

πŸš€ New CLI Commands

tpy queue table
tpy queue work

tpy schedule run
tpy schedule list

tpy cache clear

tpy config show
tpy config cache
tpy config status
tpy config clear

tpy route cache
tpy route list
tpy route clear

tpy optimize

tpy watch

tpy about
tpy commands
tpy -V
Enter fullscreen mode Exit fullscreen mode

⬆️ Upgrade

Upgrade everything:

pip install --upgrade "tamilPY[all]"
Enter fullscreen mode Exit fullscreen mode

Redis only:

pip install --upgrade "tamilPY[redis]"
Enter fullscreen mode Exit fullscreen mode

After upgrading, regenerate repositories using:

tpy build

tpy crud
Enter fullscreen mode Exit fullscreen mode

For the best production performance:

tpy optimize
Enter fullscreen mode Exit fullscreen mode

Enable configuration caching:

TPY_CONFIG_CACHE=1
Enter fullscreen mode Exit fullscreen mode

🎯 Looking Ahead

TamilPY continues to evolve toward becoming a complete schema-driven FastAPI platform that minimizes boilerplate while maximizing developer productivity.

Version 0.1.9 represents a major milestone, bringing together data access, background processing, scheduling, caching, validation, lifecycle management, and an improved developer experience into one cohesive framework.

We'd love your feedback, feature requests, and contributions from the community.

⭐ If you find TamilPY useful, consider starring the project on GitHub and sharing it with fellow Python developers.

Happy Coding! πŸš€

Top comments (2)

Collapse
 
bharathidhasanr profile image
Bharathidhasan R

Very useful for beginners! Keep up the great work. I'm looking forward to future updates and new features. πŸš€

Collapse
 
selvaganapathiarumugam profile image
Selva Ganapathi Arumugam

Thank you so much! 😊 I really appreciate your support and feedback. I'm glad you found it useful. More features, improvements, and tutorials are on the wayβ€”stay tuned! πŸš€