python2apk-alchemist / index.html
kali33's picture
make it operational
789faea verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python2APK Alchemist | Transform Python to Android APK</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.waves.min.js"></script>
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: {
100: '#d1fae5',
500: '#10b981',
900: '#064e3b',
},
secondary: {
100: '#fef3c7',
500: '#f59e0b',
900: '#78350f',
}
}
}
}
}
</script>
<style>
.hero-gradient {
background: linear-gradient(135deg, rgba(16,185,129,0.1) 0%, rgba(245,158,11,0.1) 100%);
}
.feature-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.code-block {
font-family: 'Courier New', monospace;
background-color: #1e293b;
border-radius: 0.5rem;
}
</style>
</head>
<body class="bg-gray-50 min-h-screen">
<div id="vanta-bg" class="fixed inset-0 -z-10"></div>
<!-- Navigation -->
<nav class="bg-white bg-opacity-90 backdrop-blur-md shadow-sm sticky top-0 z-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex justify-between h-16 items-center">
<div class="flex items-center space-x-4">
<i data-feather="box" class="text-primary-500 h-6 w-6"></i>
<span class="text-xl font-bold bg-gradient-to-r from-primary-500 to-secondary-500 bg-clip-text text-transparent">Python2APK</span>
</div>
<div class="hidden md:flex space-x-8">
<a href="#" class="text-gray-700 hover:text-primary-500 font-medium">Home</a>
<a href="#" class="text-gray-700 hover:text-primary-500 font-medium">Features</a>
<a href="#" class="text-gray-700 hover:text-primary-500 font-medium">How It Works</a>
<a href="#" class="text-gray-700 hover:text-primary-500 font-medium">Pricing</a>
</div>
<button class="bg-gradient-to-r from-primary-500 to-secondary-500 text-white px-4 py-2 rounded-md font-medium hover:opacity-90 transition-opacity">
Get Started
</button>
<button class="md:hidden">
<i data-feather="menu" class="h-6 w-6 text-gray-600"></i>
</button>
</div>
</div>
</nav>
<!-- Hero Section -->
<section class="hero-gradient py-20">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid md:grid-cols-2 gap-12 items-center">
<div>
<h1 class="text-4xl md:text-5xl font-bold text-gray-800 mb-6">
Turn Your <span class="text-primary-500">Python</span> Code Into <span class="text-secondary-500">Android APK</span>
</h1>
<p class="text-lg text-gray-600 mb-8">
The easiest way to convert your Python scripts into fully functional Android applications. No Java/Kotlin required.
</p>
<div class="flex flex-wrap gap-4">
<a href="#uploadForm" class="bg-gradient-to-r from-primary-500 to-secondary-500 text-white px-6 py-3 rounded-lg font-medium hover:shadow-lg transition-all">
Try It Now
</a>
<button class="border-2 border-primary-500 text-primary-500 px-6 py-3 rounded-lg font-medium hover:bg-primary-50 transition-all">
See Demo
</button>
</div>
</div>
<div class="relative">
<div class="bg-white p-6 rounded-xl shadow-xl">
<div class="flex space-x-2 mb-4">
<div class="w-3 h-3 rounded-full bg-red-500"></div>
<div class="w-3 h-3 rounded-full bg-yellow-500"></div>
<div class="w-3 h-3 rounded-full bg-green-500"></div>
</div>
<div class="code-block p-4 text-white">
<form id="uploadForm" enctype="multipart/form-data">
<div class="mb-4">
<label class="block text-gray-300 text-sm mb-2" for="pythonFile">
Upload Python File
</label>
<input type="file" id="pythonFile" name="pythonFile" accept=".py"
class="w-full px-3 py-2 bg-gray-800 border border-gray-700 rounded-md text-white">
</div>
<div class="mb-4">
<label class="block text-gray-300 text-sm mb-2" for="appName">
App Name
</label>
<input type="text" id="appName" name="appName" placeholder="My Python App"
class="w-full px-3 py-2 bg-gray-800 border border-gray-700 rounded-md text-white">
</div>
<div class="flex justify-end">
<button type="submit" class="flex items-center bg-primary-500 hover:bg-primary-600 text-white px-4 py-2 rounded-md text-sm transition-colors">
<i data-feather="upload" class="mr-2 h-4 w-4"></i>
Convert to APK
</button>
</div>
</form>
</div>
<div id="resultContainer" class="hidden mt-4 p-4 bg-gray-800 rounded-md">
<div id="conversionStatus" class="flex items-center">
<i data-feather="loader" class="animate-spin mr-2 text-yellow-500"></i>
<span>Converting your Python file...</span>
</div>
<div id="downloadBtn" class="hidden mt-4">
<a href="#" class="flex items-center justify-center bg-green-500 hover:bg-green-600 text-white px-4 py-2 rounded-md text-sm transition-colors">
<i data-feather="download" class="mr-2 h-4 w-4"></i>
Download APK
</a>
</div>
</div>
</div>
<div class="absolute -bottom-6 -right-6 bg-white p-2 rounded-full shadow-lg">
<div class="bg-secondary-500 p-3 rounded-full">
<i data-feather="arrow-right" class="text-white h-6 w-6"></i>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- Features Section -->
<section class="py-20 bg-white">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-16">
<h2 class="text-3xl font-bold text-gray-800 mb-4">Magical Conversion Features</h2>
<p class="text-lg text-gray-600 max-w-2xl mx-auto">Everything you need to bring your Python apps to Android</p>
</div>
<div class="grid md:grid-cols-3 gap-8">
<div class="feature-card bg-white p-8 rounded-xl shadow-md hover:shadow-xl transition-all duration-300 border-t-4 border-primary-500">
<div class="bg-primary-100 p-3 rounded-full w-12 h-12 flex items-center justify-center mb-6">
<i data-feather="zap" class="text-primary-500 h-6 w-6"></i>
</div>
<h3 class="text-xl font-bold text-gray-800 mb-3">One-Click Conversion</h3>
<p class="text-gray-600">Convert your Python scripts to APK with a single command. No complex setup required.</p>
</div>
<div class="feature-card bg-white p-8 rounded-xl shadow-md hover:shadow-xl transition-all duration-300 border-t-4 border-secondary-500">
<div class="bg-secondary-100 p-3 rounded-full w-12 h-12 flex items-center justify-center mb-6">
<i data-feather="package" class="text-secondary-500 h-6 w-6"></i>
</div>
<h3 class="text-xl font-bold text-gray-800 mb-3">Full Android Support</h3>
<p class="text-gray-600">Access to all Android APIs, sensors, and hardware features from your Python code.</p>
</div>
<div class="feature-card bg-white p-8 rounded-xl shadow-md hover:shadow-xl transition-all duration-300 border-t-4 border-primary-500">
<div class="bg-primary-100 p-3 rounded-full w-12 h-12 flex items-center justify-center mb-6">
<i data-feather="cpu" class="text-primary-500 h-6 w-6"></i>
</div>
<h3 class="text-xl font-bold text-gray-800 mb-3">Optimized Performance</h3>
<p class="text-gray-600">Our engine compiles Python to optimized native code for the best possible performance.</p>
</div>
</div>
</div>
</section>
<!-- How It Works -->
<section class="py-20 bg-gray-50">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-16">
<h2 class="text-3xl font-bold text-gray-800 mb-4">How It Works</h2>
<p class="text-lg text-gray-600 max-w-2xl mx-auto">Transform your Python code in just 3 simple steps</p>
</div>
<div class="grid md:grid-cols-3 gap-8 mb-12">
<div class="flex flex-col items-center text-center">
<div class="bg-primary-100 text-primary-500 rounded-full w-16 h-16 flex items-center justify-center mb-4 text-2xl font-bold">1</div>
<h3 class="text-xl font-bold text-gray-800 mb-2">Write Python Code</h3>
<p class="text-gray-600">Create your application using Python and any compatible framework like Kivy, Pygame, or standard Python.</p>
</div>
<div class="flex flex-col items-center text-center">
<div class="bg-secondary-100 text-secondary-500 rounded-full w-16 h-16 flex items-center justify-center mb-4 text-2xl font-bold">2</div>
<h3 class="text-xl font-bold text-gray-800 mb-2">Run Conversion</h3>
<p class="text-gray-600">Use our CLI tool or web interface to package your code into an APK with all dependencies included.</p>
</div>
<div class="flex flex-col items-center text-center">
<div class="bg-primary-100 text-primary-500 rounded-full w-16 h-16 flex items-center justify-center mb-4 text-2xl font-bold">3</div>
<h3 class="text-xl font-bold text-gray-800 mb-2">Install & Run</h3>
<p class="text-gray-600">Install the generated APK on any Android device and enjoy your Python app running natively.</p>
</div>
</div>
<div class="bg-white rounded-xl shadow-md overflow-hidden">
<div class="grid md:grid-cols-2">
<div class="p-8">
<h3 class="text-2xl font-bold text-gray-800 mb-4">Advanced Features</h3>
<ul class="space-y-4">
<li class="flex items-start">
<i data-feather="check-circle" class="text-primary-500 mr-3 mt-1 flex-shrink-0"></i>
<span class="text-gray-700">Automatic dependency resolution</span>
</li>
<li class="flex items-start">
<i data-feather="check-circle" class="text-primary-500 mr-3 mt-1 flex-shrink-0"></i>
<span class="text-gray-700">Custom app icons and splash screens</span>
</li>
<li class="flex items-start">
<i data-feather="check-circle" class="text-primary-500 mr-3 mt-1 flex-shrink-0"></i>
<span class="text-gray-700">Permissions management</span>
</li>
<li class="flex items-start">
<i data-feather="check-circle" class="text-primary-500 mr-3 mt-1 flex-shrink-0"></i>
<span class="text-gray-700">APK signing for Play Store submission</span>
</li>
</ul>
</div>
<div class="bg-gray-50 p-8 flex items-center justify-center">
<div class="relative">
<img src="http://static.photos/technology/640x360/42" alt="Python to APK conversion" class="rounded-lg shadow-md w-full max-w-md">
<div class="absolute -bottom-4 -right-4 bg-white p-2 rounded-full shadow-lg">
<div class="bg-primary-500 p-3 rounded-full">
<i data-feather="smartphone" class="text-white h-6 w-6"></i>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- CTA Section -->
<section class="py-20 bg-gradient-to-r from-primary-500 to-secondary-500">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
<h2 class="text-3xl font-bold text-white mb-6">Ready to Transform Your Python Code?</h2>
<p class="text-xl text-primary-100 mb-8 max-w-3xl mx-auto">Join thousands of developers who are building Android apps with Python today.</p>
<div class="flex flex-wrap justify-center gap-4">
<button class="bg-white text-primary-500 px-8 py-4 rounded-lg font-bold hover:bg-gray-100 transition-all shadow-lg">
Get Started for Free
</button>
<button class="border-2 border-white text-white px-8 py-4 rounded-lg font-bold hover:bg-white hover:bg-opacity-10 transition-all">
View Documentation
</button>
</div>
</div>
</section>
<!-- Footer -->
<footer class="bg-gray-900 text-white py-12">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid md:grid-cols-4 gap-8">
<div>
<div class="flex items-center space-x-2 mb-4">
<i data-feather="box" class="text-primary-500 h-6 w-6"></i>
<span class="text-xl font-bold">Python2APK</span>
</div>
<p class="text-gray-400">The easiest way to convert Python scripts to Android APK files.</p>
</div>
<div>
<h4 class="text-lg font-semibold mb-4">Product</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Features</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Pricing</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Documentation</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Releases</a></li>
</ul>
</div>
<div>
<h4 class="text-lg font-semibold mb-4">Company</h4>
<ul class="space-y-2">
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">About</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Blog</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Careers</a></li>
<li><a href="#" class="text-gray-400 hover:text-white transition-colors">Contact</a></li>
</ul>
</div>
<div>
<h4 class="text-lg font-semibold mb-4">Connect</h4>
<div class="flex space-x-4">
<a href="#" class="text-gray-400 hover:text-white transition-colors">
<i data-feather="twitter" class="h-5 w-5"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition-colors">
<i data-feather="github" class="h-5 w-5"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition-colors">
<i data-feather="linkedin" class="h-5 w-5"></i>
</a>
<a href="#" class="text-gray-400 hover:text-white transition-colors">
<i data-feather="youtube" class="h-5 w-5"></i>
</a>
</div>
<div class="mt-6">
<p class="text-gray-400">Subscribe to our newsletter</p>
<div class="flex mt-2">
<input type="email" placeholder="Your email" class="px-4 py-2 rounded-l-md w-full text-gray-900">
<button class="bg-primary-500 text-white px-4 py-2 rounded-r-md hover:bg-primary-600 transition-colors">
<i data-feather="send" class="h-4 w-4"></i>
</button>
</div>
</div>
</div>
</div>
<div class="border-t border-gray-800 mt-12 pt-8 flex flex-col md:flex-row justify-between items-center">
<p class="text-gray-400 text-sm">© 2023 Python2APK Alchemist. All rights reserved.</p>
<div class="flex space-x-6 mt-4 md:mt-0">
<a href="#" class="text-gray-400 hover:text-white text-sm transition-colors">Privacy Policy</a>
<a href="#" class="text-gray-400 hover:text-white text-sm transition-colors">Terms of Service</a>
<a href="#" class="text-gray-400 hover:text-white text-sm transition-colors">Cookies</a>
</div>
</div>
</div>
</footer>
<script>
// Handle form submission
document.getElementById('uploadForm').addEventListener('submit', async function(e) {
e.preventDefault();
const formData = new FormData();
formData.append('pythonFile', document.getElementById('pythonFile').files[0]);
formData.append('appName', document.getElementById('appName').value);
const resultContainer = document.getElementById('resultContainer');
const conversionStatus = document.getElementById('conversionStatus');
const downloadBtn = document.getElementById('downloadBtn');
resultContainer.classList.remove('hidden');
downloadBtn.classList.add('hidden');
try {
// Simulate API call (replace with actual API endpoint)
const response = await fetch('https://api.example.com/convert', {
method: 'POST',
body: formData
});
if (response.ok) {
const data = await response.json();
conversionStatus.innerHTML = `
<i data-feather="check-circle" class="mr-2 text-green-500"></i>
<span>Conversion successful!</span>
`;
const downloadLink = document.querySelector('#downloadBtn a');
downloadLink.href = data.downloadUrl;
downloadBtn.classList.remove('hidden');
// Update feather icons
feather.replace();
} else {
throw new Error('Conversion failed');
}
} catch (error) {
conversionStatus.innerHTML = `
<i data-feather="x-circle" class="mr-2 text-red-500"></i>
<span>Error: ${error.message}</span>
`;
feather.replace();
}
});
// Initialize Vanta.js background
VANTA.WAVES({
el: "#vanta-bg",
mouseControls: true,
touchControls: true,
gyroControls: false,
minHeight: 200.00,
minWidth: 200.00,
scale: 1.00,
scaleMobile: 1.00,
color: 0x10b981,
shininess: 40.00,
waveHeight: 10.00,
waveSpeed: 0.50,
zoom: 0.65
});
// Initialize Feather Icons
feather.replace();
</script>
</body>
</html>