AirDragon
Air + BasecoatUI + TailwindCSS made easy.
AirDragon combines the capabilities of Air with the simplicity of BasecoatUI and the deep power of Tailwind, allowing developers to create stunning user interfaces with ease. Whether you're building web applications, mobile apps, or desktop software, AirDragon provides the tools you need to bring your vision to life.
Mandate
- Provide a simple way to use BasecoatUI and Tailwind with Air.
- Offer pre-built components and layouts that leverage BasecoatUI's design principles.
- Ensure seamless integration with Air's existing features and functionalities and design theme.
- No need to learn any Tailwind classes, just use AirDragon components.
- Make it easy to customize and extend the components to fit specific project needs.
Installation
To install AirDragon's Python component, run the following command in your terminal:
uv add airdragon
AirDragon with a Jinja base template
AirDragon's layout() function handles the JS dependencies for you, but if you need to include them in Jinja, use the following HTML snippets:
<!-- Jinja base template, for Air Tags use airdragon.layout() -->
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/basecoat-css@0.3.6/dist/basecoat.cdn.min.css">
<script src="https://cdn.jsdelivr.net/npm/basecoat-css@0.3.6/dist/js/all.min.js" defer></script>
<script src="https://unpkg.com/lucide@latest"></script>
<script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
</head>
<body>
<!-- Your content goes here -->
</body>
</html>
Usage
To use AirDragon in your Air application, simply import the airdragon module and use the provided components and layout function. Here's a basic example:
import air
import airdragon as ad
app = air.Air()
@app.page
def index():
return ad.layout(
# Adding a class_ to an AirDragon tag appends it to the list of
# tailwind classes applied to that tag by AirDragon.
# So this will be
# <h1 class="text-3xl sm:text-4xl font-semibold leading-tight Dragons">
ad.H1('Hello, world', class_='Dragons'),
ad.Card(
air.Header(
air.H2('Card title'),
air.P('I am a handy paragraph.')
),
air.Section(
ad.ButtonGroup(
ad.Button('Click me'),
ad.Button("Don't click me", modifier=ad.ButtonMods.destructive)
)
)
)
)
Release files for AirDragon 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| airdragon-0.4.0.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| airdragon-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.0 kB
Release files / airdragon-0.4.0.tar.gz
| Download URL | airdragon-0.4.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d5a7b1de854b1e2932e3cc4b47081ba7264900bce05faba44d3d051b8aae8ee5
|
|
BLAKE2b-256 checksum How to use checksums |
74b02d7b2db049b6608e32912668696f01e10c55e34494bf172784f7b853a41e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / airdragon-0.4.0-py3-none-any.whl
| Download URL | airdragon-0.4.0-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
687cbfe4e1e76072e20d84b203b213a73f21a9c74b96ec8fd8a470308cc669c1
|
|
BLAKE2b-256 checksum How to use checksums |
ad96e5f394cbc0972b25320d3ed627f30b78fcfeb468b3ca70dc438a57157372
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|