fasthtml-tailwindcss 4.3.3.post1__tar.gz → 4.3.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/PKG-INFO +26 -7
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/README.md +24 -5
- fasthtml_tailwindcss-4.3.4/packages/cli/binaries.json +12 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/packages/cli/pyproject.toml +1 -1
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/pyproject.toml +10 -10
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/build.py +3 -3
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/client.py +7 -2
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/config.py +7 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/tests/test_build.py +1 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/tests/test_sessions.py +1 -0
- fasthtml_tailwindcss-4.3.3.post1/packages/cli/binaries.json +0 -12
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/.gitignore +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/LICENSE +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/packages/cli/LICENSE +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/packages/cli/README.md +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/packages/cli/TAILWIND-LICENSE +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/packages/cli/hatch_build.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/packages/cli/src/fasthtml_tailwindcss_cli/__init__.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/scripts/check_release.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/scripts/filter_publish.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/__init__.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/compiler.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/py.typed +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/worker.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/tests/conftest.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/tests/test_component.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/tests/test_releases.py +0 -0
- {fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/tests/test_uvicorn.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: fasthtml-tailwindcss
|
|
3
|
-
Version: 4.3.
|
|
3
|
+
Version: 4.3.4
|
|
4
4
|
Summary: Tailwind CSS for FastHTML with a persistent development watcher and a build command for production CSS.
|
|
5
5
|
Project-URL: Documentation, https://github.com/SpaceShaman/fasthtml-tailwindcss#readme
|
|
6
6
|
Project-URL: Homepage, https://github.com/SpaceShaman/fasthtml-tailwindcss
|
|
@@ -23,7 +23,7 @@ Requires-Python: >=3.11
|
|
|
23
23
|
Requires-Dist: filelock>=3.16
|
|
24
24
|
Requires-Dist: python-fasthtml>=0.14.13
|
|
25
25
|
Provides-Extra: dev
|
|
26
|
-
Requires-Dist: fasthtml-tailwindcss-cli
|
|
26
|
+
Requires-Dist: fasthtml-tailwindcss-cli>=4.3.3; extra == 'dev'
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
28
|
|
|
29
29
|
# fasthtml-tailwindcss
|
|
@@ -42,10 +42,29 @@ Tailwind CSS for [FastHTML](https://github.com/AnswerDotAI/fasthtml) with a pers
|
|
|
42
42
|
|
|
43
43
|
## Installation
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
- Development and builds:
|
|
46
|
+
|
|
47
|
+
```sh
|
|
48
|
+
uv add "fasthtml-tailwindcss[dev]"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Or with pip:
|
|
52
|
+
|
|
53
|
+
```sh
|
|
54
|
+
pip install "fasthtml-tailwindcss[dev]"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
- Production:
|
|
58
|
+
|
|
59
|
+
```sh
|
|
60
|
+
uv add fasthtml-tailwindcss
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Or with pip:
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
pip install fasthtml-tailwindcss
|
|
67
|
+
```
|
|
49
68
|
|
|
50
69
|
The `dev` extra installs the standalone compiler through [fasthtml-tailwindcss-cli](https://pypi.org/project/fasthtml-tailwindcss-cli/). No Node.js or npm is needed. Production only needs the wrapper and generated CSS.
|
|
51
70
|
|
|
@@ -112,7 +131,7 @@ TailwindHead(
|
|
|
112
131
|
- `css`: CSS appended after the input, useful for `@theme`, variants, and `@source inline(...)`.
|
|
113
132
|
- `output`: CSS file path, defaulting to `./static/tailwind.css`. The stylesheet URL follows this path, so mount its directory at the corresponding URL.
|
|
114
133
|
|
|
115
|
-
Paths are relative to the working directory. The build command uses the application module's directory; run the server from that directory too. Temporary files and compiler logs live in `.fasthtml-tailwindcss
|
|
134
|
+
Paths are relative to the working directory. The build command uses the application module's directory; run the server from that directory too. Temporary files and compiler logs live in `.fasthtml-tailwindcss/`.
|
|
116
135
|
|
|
117
136
|
Use complete class names such as `"bg-red-500"`; Tailwind cannot detect names constructed with `f"bg-{color}-500"`. Classes in installed component libraries need explicit sources or safelisting.
|
|
118
137
|
|
|
@@ -14,10 +14,29 @@ Tailwind CSS for [FastHTML](https://github.com/AnswerDotAI/fasthtml) with a pers
|
|
|
14
14
|
|
|
15
15
|
## Installation
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
- Development and builds:
|
|
18
|
+
|
|
19
|
+
```sh
|
|
20
|
+
uv add "fasthtml-tailwindcss[dev]"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Or with pip:
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
pip install "fasthtml-tailwindcss[dev]"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
- Production:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
uv add fasthtml-tailwindcss
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or with pip:
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
pip install fasthtml-tailwindcss
|
|
39
|
+
```
|
|
21
40
|
|
|
22
41
|
The `dev` extra installs the standalone compiler through [fasthtml-tailwindcss-cli](https://pypi.org/project/fasthtml-tailwindcss-cli/). No Node.js or npm is needed. Production only needs the wrapper and generated CSS.
|
|
23
42
|
|
|
@@ -84,7 +103,7 @@ TailwindHead(
|
|
|
84
103
|
- `css`: CSS appended after the input, useful for `@theme`, variants, and `@source inline(...)`.
|
|
85
104
|
- `output`: CSS file path, defaulting to `./static/tailwind.css`. The stylesheet URL follows this path, so mount its directory at the corresponding URL.
|
|
86
105
|
|
|
87
|
-
Paths are relative to the working directory. The build command uses the application module's directory; run the server from that directory too. Temporary files and compiler logs live in `.fasthtml-tailwindcss
|
|
106
|
+
Paths are relative to the working directory. The build command uses the application module's directory; run the server from that directory too. Temporary files and compiler logs live in `.fasthtml-tailwindcss/`.
|
|
88
107
|
|
|
89
108
|
Use complete class names such as `"bg-red-500"`; Tailwind cannot detect names constructed with `f"bg-{color}-500"`. Classes in installed component libraries need explicit sources or safelisting.
|
|
90
109
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "4.3.4",
|
|
3
|
+
"sha256": {
|
|
4
|
+
"tailwindcss-linux-arm64": "f6d7baae1d350ed3a2defe98d0b5cc58e37400c0173b2e38d42f690ccc4bbfe1",
|
|
5
|
+
"tailwindcss-linux-arm64-musl": "64853a5d1321b9622eeceb16e28d26889fca409e3b1a2f95453088f776461e44",
|
|
6
|
+
"tailwindcss-linux-x64": "149a8ece5b855587a9c10de6da9dcbcfad0e47c4ed5dca219f721b3eae39d817",
|
|
7
|
+
"tailwindcss-linux-x64-musl": "2a5456987c41ce3311e423b603842af425ea5ac44505162dd348d43ed3b909fd",
|
|
8
|
+
"tailwindcss-macos-arm64": "a516a11b439bfbb5ecd4a2d13b75e6cdcc284dc710aed8731e31d2e5c03895a4",
|
|
9
|
+
"tailwindcss-macos-x64": "7ec771593a1fb8bbd204f70429361b0158f7989e4136bc68d04513bf543a15ba",
|
|
10
|
+
"tailwindcss-windows-x64.exe": "ad84612696f3be102fa005d4827f0df84c7b4570d31c06865ce5fde0311478af"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "fasthtml-tailwindcss"
|
|
3
|
-
version = "4.3.
|
|
3
|
+
version = "4.3.4"
|
|
4
4
|
description = "Tailwind CSS for FastHTML with a persistent development watcher and a build command for production CSS."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.11"
|
|
@@ -21,21 +21,18 @@ classifiers = [
|
|
|
21
21
|
]
|
|
22
22
|
dependencies = ["filelock>=3.16", "python-fasthtml>=0.14.13"]
|
|
23
23
|
|
|
24
|
-
[project.optional-dependencies]
|
|
25
|
-
dev = ["fasthtml-tailwindcss-cli>=4,<5"]
|
|
26
|
-
|
|
27
|
-
[project.scripts]
|
|
28
|
-
fasthtml-tailwindcss = "fasthtml_tailwindcss.build:main"
|
|
29
|
-
|
|
30
|
-
[tool.uv.sources]
|
|
31
|
-
fasthtml-tailwindcss-cli = { path = "packages/cli" }
|
|
32
|
-
|
|
33
24
|
[project.urls]
|
|
34
25
|
Documentation = "https://github.com/SpaceShaman/fasthtml-tailwindcss#readme"
|
|
35
26
|
Homepage = "https://github.com/SpaceShaman/fasthtml-tailwindcss"
|
|
36
27
|
Issues = "https://github.com/SpaceShaman/fasthtml-tailwindcss/issues"
|
|
37
28
|
Repository = "https://github.com/SpaceShaman/fasthtml-tailwindcss"
|
|
38
29
|
|
|
30
|
+
[project.scripts]
|
|
31
|
+
fasthtml-tailwindcss = "fasthtml_tailwindcss.build:main"
|
|
32
|
+
|
|
33
|
+
[project.optional-dependencies]
|
|
34
|
+
dev = ["fasthtml-tailwindcss-cli>=4.3.3"]
|
|
35
|
+
|
|
39
36
|
[dependency-groups]
|
|
40
37
|
build = ["hatchling>=1.27"]
|
|
41
38
|
test = ["httpx", "pytest", "uvicorn"]
|
|
@@ -50,3 +47,6 @@ packages = ["src/fasthtml_tailwindcss"]
|
|
|
50
47
|
[tool.hatch.build.targets.sdist]
|
|
51
48
|
include = ["/src", "/packages/cli", "/pyproject.toml", "/README.md", "/LICENSE", "/tests", "/scripts"]
|
|
52
49
|
exclude = ["/packages/cli/src/fasthtml_tailwindcss_cli/bin"]
|
|
50
|
+
|
|
51
|
+
[tool.uv.sources]
|
|
52
|
+
fasthtml-tailwindcss-cli = { path = "packages/cli" }
|
{fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/build.py
RENAMED
|
@@ -7,7 +7,7 @@ import sys
|
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
|
|
9
9
|
from .compiler import binary_path, input_css
|
|
10
|
-
from .config import
|
|
10
|
+
from .config import TailwindConfig, prepare_state_directory, state_directory
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def app_head(specification: str):
|
|
@@ -35,8 +35,8 @@ def app_head(specification: str):
|
|
|
35
35
|
|
|
36
36
|
def build(config: TailwindConfig) -> None:
|
|
37
37
|
root = Path(config.root)
|
|
38
|
-
directory =
|
|
39
|
-
directory
|
|
38
|
+
directory = state_directory(config)
|
|
39
|
+
prepare_state_directory(directory)
|
|
40
40
|
source = directory / "build-input.css"
|
|
41
41
|
source.write_text(input_css(config), encoding="utf-8")
|
|
42
42
|
output = root / config.output
|
{fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/client.py
RENAMED
|
@@ -8,7 +8,12 @@ from threading import Event, Lock, Thread
|
|
|
8
8
|
from filelock import FileLock, Timeout
|
|
9
9
|
|
|
10
10
|
from .compiler import stop_process
|
|
11
|
-
from .config import
|
|
11
|
+
from .config import (
|
|
12
|
+
TailwindConfig,
|
|
13
|
+
config_json,
|
|
14
|
+
prepare_state_directory,
|
|
15
|
+
state_directory,
|
|
16
|
+
)
|
|
12
17
|
|
|
13
18
|
|
|
14
19
|
def running(directory: Path) -> bool:
|
|
@@ -44,7 +49,7 @@ class Session:
|
|
|
44
49
|
raise
|
|
45
50
|
|
|
46
51
|
def connect(self) -> None:
|
|
47
|
-
self.directory
|
|
52
|
+
prepare_state_directory(self.directory)
|
|
48
53
|
with FileLock(str(self.directory / "startup.lock"), timeout=30):
|
|
49
54
|
(self.directory / "heartbeat").touch()
|
|
50
55
|
self.wait_for_worker()
|
{fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/config.py
RENAMED
|
@@ -55,3 +55,10 @@ def configuration(
|
|
|
55
55
|
|
|
56
56
|
def state_directory(config: TailwindConfig) -> Path:
|
|
57
57
|
return Path(config.root) / STATE_DIRECTORY
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
def prepare_state_directory(directory: Path) -> None:
|
|
61
|
+
directory.mkdir(parents=True, exist_ok=True)
|
|
62
|
+
gitignore = directory / ".gitignore"
|
|
63
|
+
if not gitignore.exists():
|
|
64
|
+
gitignore.write_text("*\n", encoding="utf-8")
|
|
@@ -30,3 +30,4 @@ def test_build_uses_application_directory(project, reference):
|
|
|
30
30
|
assert ".p-4{" in (directory / "static" / "tailwind.css").read_text()
|
|
31
31
|
assert not (project / "static" / "tailwind.css").exists()
|
|
32
32
|
assert not (directory / ".fasthtml-tailwindcss" / "pid").exists()
|
|
33
|
+
assert (directory / ".fasthtml-tailwindcss" / ".gitignore").read_text() == "*\n"
|
|
@@ -78,6 +78,7 @@ def test_concurrent_workers_share_one_build(project):
|
|
|
78
78
|
assert len({s.output for s in sessions}) == 1
|
|
79
79
|
directory = config.state_directory(settings)
|
|
80
80
|
assert (directory / "active.json").is_file()
|
|
81
|
+
assert (directory / ".gitignore").read_text() == "*\n"
|
|
81
82
|
assert not (directory / "config.json").exists()
|
|
82
83
|
assert int((directory / "pid").read_text()) > 0
|
|
83
84
|
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "4.3.3",
|
|
3
|
-
"sha256": {
|
|
4
|
-
"tailwindcss-linux-arm64": "55fd0b241214eff3de1e8ee4f22796662f2d2e7a49bcfca7477cfd0bac398195",
|
|
5
|
-
"tailwindcss-linux-arm64-musl": "71ea4be79c9de9827545682df3e040053fb535d37c71ed2cfdedf9385a0868e0",
|
|
6
|
-
"tailwindcss-linux-x64": "dc61b3ac6b8c9ca874c0cc4c57b2409791a64c5540404ca5f5367360babc313a",
|
|
7
|
-
"tailwindcss-linux-x64-musl": "a04d34ceacc8f52cbe8920ad846cdeb61d3d0021dba32db0d1f77c9d9fad7a6c",
|
|
8
|
-
"tailwindcss-macos-arm64": "cdf646702987a743464dff4d9c60fd4480d1c1e73dd819a9a67f1078815dce9d",
|
|
9
|
-
"tailwindcss-macos-x64": "7922e0953f2110c05976e3bf58f14e643d90427575e766b7d433f5f80cbee7e1",
|
|
10
|
-
"tailwindcss-windows-x64.exe": "e0e260ce048014e9268f6237ff18f8ccf02cef521cbd0ae04e82c2cdf7aa3955"
|
|
11
|
-
}
|
|
12
|
-
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/packages/cli/TAILWIND-LICENSE
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/__init__.py
RENAMED
|
File without changes
|
{fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/compiler.py
RENAMED
|
File without changes
|
{fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/py.typed
RENAMED
|
File without changes
|
{fasthtml_tailwindcss-4.3.3.post1 → fasthtml_tailwindcss-4.3.4}/src/fasthtml_tailwindcss/worker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|