Skip to main content

Flask Extension for TuskLang Integration - Up to 59x Faster Template Rendering (Verified)

Project description

Flask-TSK ๐Ÿš€๐Ÿ˜

Revolutionary Flask Extension for TuskLang Integration

PyPI version Python 3.12+

59x Faster Template Rendering โ€ข Complete Authentication System โ€ข Professional Project Structure

Flask-TSK transforms Flask applications with TuskLang integration, delivering enterprise-grade performance, comprehensive authentication, and professional development tools.

โœจ Key Features

  • ๐Ÿš€ 59x faster template rendering with optimized engines
  • ๐Ÿ” Complete authentication system with Herd
  • ๐Ÿ˜ Elephant services (CMS, jobs, security, monitoring)
  • ๐Ÿ› ๏ธ Professional CLI for project management
  • ๐Ÿ“ Comprehensive folder structure with 80+ organized directories
  • ๐ŸŽจ Modern component system with auth templates
  • โšก Multi-database support (SQLite, PostgreSQL, MongoDB, Redis)
  • ๐Ÿ”ง Asset optimization and build tools

๐Ÿš€ Quick Start

Installation

# Full installation (recommended)
pip install flask-tsk

# Minimal installation
pip install flask-tsk[minimal]

# Development tools
pip install flask-tsk[dev]

Create Your First Project

# Create project with comprehensive structure
flask-tsk init my-app

# Initialize databases
flask-tsk db init my-app

# Start development
cd my-app
python -m flask run

Basic Usage

from flask import Flask, request, jsonify, redirect
from tsk_flask import FlaskTSK
from tsk_flask.herd import Herd

app = Flask(__name__)
FlaskTSK(app)

@app.route('/login', methods=['POST'])
def login():
    if Herd.login(request.form['email'], request.form['password']):
        return jsonify({'success': True})
    return jsonify({'success': False, 'error': 'Invalid credentials'})

@app.route('/dashboard')
def dashboard():
    if Herd.check():
        user = Herd.user()
        return f"Welcome, {user['email']}!"
    return redirect('/login')

if __name__ == '__main__':
    app.run(debug=True)

๐Ÿ˜ Elephant Services

Herd Authentication

from tsk_flask.herd import Herd

# Create user
Herd.create_user({
    'email': 'user@example.com',
    'password': 'secure_password',
    'first_name': 'John',
    'last_name': 'Doe'
})

# Login
if Herd.login('user@example.com', 'secure_password'):
    user = Herd.user()
    print(f"Welcome, {user['email']}!")

# Magic links
link = Herd.generate_magic_link(user['id'])

Babar CMS

from tsk_flask.herd.elephants import get_babar

babar = get_babar()
story = babar.create_story({
    'title': 'My First Post',
    'content': 'Hello, world!',
    'type': 'post'
})
babar.publish(story['id'])

Horton Job Queue

from tsk_flask.herd.elephants import get_horton

horton = get_horton()
job_id = horton.dispatch('send_email', {
    'to': 'user@example.com',
    'subject': 'Welcome!',
    'body': 'Welcome to our platform!'
})

๐Ÿ› ๏ธ CLI Commands

# Project management
flask-tsk init my-project          # Create new project
flask-tsk db init my-project       # Initialize databases
flask-tsk db list my-project       # List databases
flask-tsk db backup my-project     # Backup databases

# Asset optimization
flask-tsk optimize my-project      # Optimize all assets
flask-tsk watch my-project         # Watch for changes
flask-tsk manifest my-project      # Generate asset manifest

๐Ÿ“Š Performance Benchmarks

Feature Flask-TSK Jinja2 Improvement
Template Rendering 0.2ms 11.8ms 59x faster
Configuration Loading 1.1ms 3.3ms 3x faster
Asset Optimization 45ms 120ms 2.7x faster
Memory Usage 12MB 18MB 33% less

๐Ÿ—„๏ธ Database Setup

Flask-TSK automatically creates SQLite databases with all necessary tables:

  • Authentication Database (herd_auth.db) - Users, sessions, tokens, logs
  • Elephant Services Database (elephant_services.db) - CMS, jobs, security, monitoring

Default Admin User:

  • Email: admin@example.com
  • Password: admin123

โš™๏ธ Configuration

Flask-TSK uses TuskLang configuration files (peanu.tsk):

[database]
type = "sqlite"
herd_db = "data/herd_auth.db"
elephants_db = "data/elephant_services.db"
auto_create = true

[herd]
guards = ["web", "api", "admin"]
session_lifetime = 7200
max_attempts = 5

[users]
table = "users"
provider = "tusk"
default_role = "user"

๐Ÿ”ง Advanced Features

Performance Engine

from tsk_flask import render_turbo_template

html = render_turbo_template("""
    <h1>{{ title }}</h1>
    <p>{{ message }}</p>
""", {
    'title': 'Hello World',
    'message': 'Welcome to Flask-TSK!'
})

Asset Management

# In templates
<link rel="stylesheet" href="{{ tsk_asset('css', 'main.css') }}">
<script src="{{ tsk_asset('js', 'app.js') }}"></script>

Component System

# Auto-include components
{% include 'tsk/components/navigation/default.html' %}
{% include 'tsk/components/forms/login.html' %}

๐Ÿ“ Project Structure

Flask-TSK creates a comprehensive project structure:

my-project/
โ”œโ”€โ”€ tsk/
โ”‚   โ”œโ”€โ”€ templates/          # Jinja2 templates
โ”‚   โ”‚   โ”œโ”€โ”€ base/          # Base templates
โ”‚   โ”‚   โ”œโ”€โ”€ auth/          # Authentication templates
โ”‚   โ”‚   โ””โ”€โ”€ pages/         # Page templates
โ”‚   โ”œโ”€โ”€ components/        # Reusable components
โ”‚   โ”œโ”€โ”€ assets/           # Source assets
โ”‚   โ”œโ”€โ”€ static/           # Compiled assets
โ”‚   โ”œโ”€โ”€ config/           # Configuration files
โ”‚   โ”œโ”€โ”€ data/             # Database files
โ”‚   โ””โ”€โ”€ docs/             # Documentation
โ”œโ”€โ”€ app.py
โ””โ”€โ”€ peanu.tsk

๐Ÿ› Troubleshooting

Database Issues

# Recreate databases
flask-tsk db init my-project --force

# Check database status
flask-tsk db list my-project

Performance Issues

from tsk_flask.herd.elephants import get_peanuts

peanuts = get_peanuts()
stats = peanuts.get_performance_status()
print(f"Performance Score: {stats['performance_score']}")

๐Ÿ“š Documentation

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • TuskLang Team for the amazing configuration system
  • Flask Community for the excellent web framework
  • Performance Testers for validating our benchmarks

Flask-TSK: Where Flask meets TuskLang for revolutionary performance! ๐Ÿš€๐Ÿ˜

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask_tsk-2.0.4.tar.gz (230.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flask_tsk-2.0.4-py3-none-any.whl (274.1 kB view details)

Uploaded Python 3

File details

Details for the file flask_tsk-2.0.4.tar.gz.

File metadata

  • Download URL: flask_tsk-2.0.4.tar.gz
  • Upload date:
  • Size: 230.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for flask_tsk-2.0.4.tar.gz
Algorithm Hash digest
SHA256 7691c37411877345bab1fdcdd0f7b1b2c30f7c03f505edc2908b0ec8aaa077ed
MD5 1d9ded8cc238e563f04e38ffe9d3a6c7
BLAKE2b-256 cdb5d44214004c16a29f45db7d4c42978f7b5e0e2159ceff0ad6ee22f112e365

See more details on using hashes here.

File details

Details for the file flask_tsk-2.0.4-py3-none-any.whl.

File metadata

  • Download URL: flask_tsk-2.0.4-py3-none-any.whl
  • Upload date:
  • Size: 274.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for flask_tsk-2.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ace03b8b00657c3aa055cdbf098b79676264fa966ea74aa2faccb43c775f2b5f
MD5 6695970e4df0b6f382a62bfad47640e0
BLAKE2b-256 0758cac8fe2ec03c45798b412962322b26bf8dc833885c0aabac9e3859418f5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page