A Python-native utility-first CSS generator and compiler.
Project description
TailPySCSS v0.5.0: The Frontend Engine
"Build Modern UI in Python. No Node.js. No npm. No Webpack."
TailPySCSS is a Python-Native CSS Engine. It gives you the power of utility classes (like Tailwind) and the structure of components (like Bootstrap) without the nightmare of a Node.js build pipeline.
It compiles SCSS to CSS directly in Python. It scans your Python code for usage. It treeshakes unused styles by default.
🔥 Creating UI in Python (New in v0.5.0)
Forget writing HTML classes manually. Use the new Python Component Library:
from tailpyscss.ui import Card, Button, Input, Switch
def view():
return Card(
Input(placeholder="Enter email"),
Switch(label="Enable Notifications"),
Button("Save Changes", variant="primary")
)
What happens?
- The Scanner detects you used
Card,Input, andSwitch. - The Engine compiles only the CSS needed for those 3 components.
- The Output is a tiny, optimized CSS file (~9 KB for small apps).
🚀 Features
1. Zero Node.js Dependency
Stop fighting package.json, node_modules, and webpack.config.js. TailPySCSS is 100% Python.
- Install:
pip install tailpyscss - Run:
tailpyscss build
2. The Context Engine (Tree Shaking)
We don't include 500KB of unused CSS. If you don't use the Table component in your Python code, its CSS is not generated.
- Base Size: ~9 KB (Utilities only)
- Full Suite: ~19 KB (All 30+ components)
3. The Component Library (30+ Elements)
Batteries included. Neon-ready. Glassmorphism-ready.
- Essentials:
Button,Card,Badge,Alert,Navbar,Hero. - Forms:
Input,Select,Checkbox,Radio,Switch,File. - Overlay:
Modal,Toast,Tooltip,Popover. - Navigation:
Tabs,Sidebar,Pagination,Breadcrumb.
4. The Vibe Engine (Dynamic Theming)
Change your entire app's feel with one config line.
# tailpy_config.py
config = {
"vibe": "neon" # Options: 'flat', 'glass', 'neon'
}
⚡ Quick Start
1. Install
pip install tailpyscss
2. Initialize
tailpyscss init
Creates tailpy_config.py and styles/ folder.
3. Build & Watch
# Watch for changes (0.1s response time)
tailpyscss watch
🛠️ Configuration
Configure colors, spacing, and vibes in pure Python:
# tailpy_config.py
config = {
"colors": {
"primary": "#3b82f6", # Blue
"secondary": "#ec4899" # Pink
},
"vibe": "glass"
}
📚 Comparisons
| Feature | TailPySCSS (v2) | Tailwind JIT | Bootstrap 5 |
|---|---|---|---|
| Tech Stack | Python (Pip) | Node.js (Npm) | SASS |
| Setup Time | 1 Minute | 10-20 Minutes | 5 Minutes |
| Dependencies | 0 | 100+ (Node modules) | 0 (if CDN) |
| Output Size | ~9 KB - 19 KB | ~3 KB - 10 KB | ~200 KB + JS |
| Tree Shaking | Yes (Component) | Yes (Class) | Manual Only |
📄 License
MIT License. 100% Open Source. Created by Abdi Abdikarim.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tailpyscss-0.5.1.tar.gz.
File metadata
- Download URL: tailpyscss-0.5.1.tar.gz
- Upload date:
- Size: 21.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7128061802aff45ed98db28cc8ead84fc36548773837f018256955f0b4e6ce39
|
|
| MD5 |
cc88c11e945c369bbe0cabc7b619835a
|
|
| BLAKE2b-256 |
0ea8c36197167e82fc5f7e6458ee875efcfee500409dfc148107318a7a1e11f6
|
Provenance
The following attestation bundles were made for tailpyscss-0.5.1.tar.gz:
Publisher:
publish.yml on tailpyscss2/tailpyscss-framework
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tailpyscss-0.5.1.tar.gz -
Subject digest:
7128061802aff45ed98db28cc8ead84fc36548773837f018256955f0b4e6ce39 - Sigstore transparency entry: 766023064
- Sigstore integration time:
-
Permalink:
tailpyscss2/tailpyscss-framework@2794d570bfd6ab5fecb1c3b37af9792a8aa5e1b2 -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/tailpyscss2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2794d570bfd6ab5fecb1c3b37af9792a8aa5e1b2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file tailpyscss-0.5.1-py3-none-any.whl.
File metadata
- Download URL: tailpyscss-0.5.1-py3-none-any.whl
- Upload date:
- Size: 24.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcd7488c5202d8eb818f35afe978984d15f5a79e0cb3ddc99c0ec3834708f81f
|
|
| MD5 |
d647815162e86124a840a4e7a24d4c33
|
|
| BLAKE2b-256 |
1e6063176c37f06da1f992a89fa4f4762792c1ac030adb0e3dc176f0e91f5445
|
Provenance
The following attestation bundles were made for tailpyscss-0.5.1-py3-none-any.whl:
Publisher:
publish.yml on tailpyscss2/tailpyscss-framework
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tailpyscss-0.5.1-py3-none-any.whl -
Subject digest:
dcd7488c5202d8eb818f35afe978984d15f5a79e0cb3ddc99c0ec3834708f81f - Sigstore transparency entry: 766023074
- Sigstore integration time:
-
Permalink:
tailpyscss2/tailpyscss-framework@2794d570bfd6ab5fecb1c3b37af9792a8aa5e1b2 -
Branch / Tag:
refs/tags/v0.5.1 - Owner: https://github.com/tailpyscss2
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2794d570bfd6ab5fecb1c3b37af9792a8aa5e1b2 -
Trigger Event:
push
-
Statement type: