Skip to content
This repository was archived by the owner on Apr 5, 2026. It is now read-only.

Commit 022d452

Browse files
author
phernandez
committed
chore: update pyproject.toml and README to include dependency groups
1 parent fae648b commit 022d452

2 files changed

Lines changed: 100 additions & 2 deletions

File tree

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,35 @@
33
Re-usable server-side components based on shadcn/ui.
44
Built with JinjaX, Alpine.js, and Tailwind CSS, with support for htmx.
55

6+
## Installation & Usage
7+
8+
### Quick Start with `uvx`
9+
10+
You can use the CLI directly without installing the package:
11+
12+
```bash
13+
# Add components
14+
uvx --from basic-components components add button
15+
```
16+
17+
You will also need to configure your project to load components into the `jinjax.Catalog` and add a global `cn` function
18+
to the Jinja environment. See [utilities](docs/content/docs/utilities.md)
19+
20+
### Package Installation Options
21+
22+
Install only the utility functions for JinjaX and tailwind:
23+
24+
```bash
25+
# With utility functions
26+
pip install basic-components[utils]
27+
```
28+
29+
### Installation Groups
30+
31+
- `utils`: Utility functions for JinjaX setup and `cn()` tailwind class helper
32+
- `docs`: Runs the docs site
33+
- `dev`: Development tools for contributing
34+
- `full`: All features included
635

736
## Documentation
837

pyproject.toml

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,61 @@ authors = [
77
]
88
readme = "README.md"
99
requires-python = ">=3.10"
10+
license = { text = "MIT" }
11+
keywords = [
12+
"web",
13+
"components",
14+
"jinja",
15+
"jinjax",
16+
"tailwind",
17+
"htmx",
18+
"alpinejs",
19+
"fastapi",
20+
"flask",
21+
"django",
22+
"ui",
23+
"frontend",
24+
"server-side",
25+
"shadcn",
26+
"shadcnui",
27+
]
28+
classifiers = [
29+
"Development Status :: 4 - Beta",
30+
"Environment :: Web Environment",
31+
"Framework :: FastAPI",
32+
"Framework :: Flask",
33+
"Framework :: Django",
34+
"Framework :: Jinja",
35+
"Intended Audience :: Developers",
36+
"License :: OSI Approved :: MIT License",
37+
"Operating System :: OS Independent",
38+
"Programming Language :: Python :: 3",
39+
"Programming Language :: Python :: 3.10",
40+
"Programming Language :: Python :: 3.11",
41+
"Programming Language :: Python :: 3.12",
42+
"Topic :: Internet :: WWW/HTTP",
43+
"Topic :: Software Development :: Libraries :: Python Modules",
44+
"Topic :: Software Development :: User Interfaces",
45+
"Typing :: Typed",
46+
]
1047

48+
# Core dependencies needed for CLI
1149
dependencies = [
50+
"copier>=9.4.1",
51+
"typer>=0.9.0",
52+
"rich>=13.7.0",
53+
]
54+
55+
[project.optional-dependencies]
56+
57+
# For using the utility functions in basic_components/utils
58+
utils = [
59+
"jinjax>=0.47",
60+
"jinja2>=3.1.3",
61+
"tomli>=2.0.2",
62+
]
63+
64+
docs = [
1265
"fastapi[standard]>=0.115.4",
1366
"jinjax[whitenoise]>=0.47",
1467
"pyright>=1.1.385",
@@ -35,12 +88,30 @@ dependencies = [
3588
"tomli>=2.0.2",
3689
]
3790

91+
# Development dependencies
92+
dev = [
93+
"black>=24.1.0",
94+
"isort>=5.13.0",
95+
"mypy>=1.8.0",
96+
"ruff>=0.2.0",
97+
]
98+
99+
# Full install with all features
100+
full = [
101+
"basic-components[utils]",
102+
"basic-components[docs]",
103+
"basic-components[dev]",
104+
]
105+
38106
[project.scripts]
39107
components = "basic_components.cli:app"
40108

41109
[project.urls]
42110
Homepage = "https://github.com/basicmachines-co/basic-components"
43111
Documentation = "https://components.basicmachines.co"
112+
Repository = "https://github.com/basicmachines-co/basic-components"
113+
Changelog = "https://github.com/basicmachines-co/basic-components/blob/main/CHANGELOG.md"
114+
Issues = "https://github.com/basicmachines-co/basic-components/issues"
44115

45116
[build-system]
46117
requires = ["hatchling"]
@@ -55,8 +126,6 @@ components = "basic_components.cli:app"
55126
[tool.hatch.build]
56127
include = [
57128
"basic_components/**/*.py",
58-
"components/**/*",
59-
"docs/**/*",
60129
]
61130

62131
[tool.basic-components]

0 commit comments

Comments
 (0)