Skip to main content

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! 🚀🐘

Metadata

Release files for flask-tsk 2.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flask-tsk 2.0.4
File Size Uploaded Provenance Actions
flask_tsk-2.0.4.tar.gz 230.1 kB Without provenance Details for flask_tsk-2.0.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for flask-tsk 2.0.4
File Interpreter ABI Platform Actions
flask_tsk-2.0.4-py3-none-any.whl Python 3 none any Details for flask_tsk-2.0.4-py3-none-any.whl

Total release size: 504.2 kB

Release files / flask_tsk-2.0.4.tar.gz

Download URL flask_tsk-2.0.4.tar.gz
Size 230.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7691c37411877345bab1fdcdd0f7b1b2c30f7c03f505edc2908b0ec8aaa077ed
BLAKE2b-256 checksum
How to use checksums
cdb5d44214004c16a29f45db7d4c42978f7b5e0e2159ceff0ad6ee22f112e365
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / flask_tsk-2.0.4-py3-none-any.whl

Download URL flask_tsk-2.0.4-py3-none-any.whl
Size 274.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ace03b8b00657c3aa055cdbf098b79676264fa966ea74aa2faccb43c775f2b5f
BLAKE2b-256 checksum
How to use checksums
0758cac8fe2ec03c45798b412962322b26bf8dc833885c0aabac9e3859418f5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Security for flask-tsk 2.0.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page