Discover every checkable workspace package. Returns: The checkable packages, sorted by name, with the root ``reflex`` package first.
()
| 250 | |
| 251 | |
| 252 | def discover_packages() -> list[Package]: |
| 253 | """Discover every checkable workspace package. |
| 254 | |
| 255 | Returns: |
| 256 | The checkable packages, sorted by name, with the root ``reflex`` package first. |
| 257 | """ |
| 258 | workspace_dirs = _workspace_package_dirs() |
| 259 | packages: list[Package] = [] |
| 260 | |
| 261 | root_project = _load_pyproject(REPO_ROOT / "pyproject.toml")["project"] |
| 262 | packages.append( |
| 263 | Package( |
| 264 | name="reflex", |
| 265 | project_dir=REPO_ROOT, |
| 266 | source_dir=REPO_ROOT / "reflex", |
| 267 | extras=tuple(root_project.get("optional-dependencies", {})), |
| 268 | local_dev_sources=_local_dev_sources(root_project, workspace_dirs), |
| 269 | ) |
| 270 | ) |
| 271 | |
| 272 | for project_file in sorted((REPO_ROOT / "packages").glob("*/pyproject.toml")): |
| 273 | name = project_file.parent.name |
| 274 | if name in SKIP_PACKAGES: |
| 275 | continue |
| 276 | project = _load_pyproject(project_file)["project"] |
| 277 | if not project.get("dependencies"): |
| 278 | continue |
| 279 | packages.append( |
| 280 | Package( |
| 281 | name=name, |
| 282 | project_dir=project_file.parent, |
| 283 | source_dir=_single_source_dir(project_file.parent / "src"), |
| 284 | extras=tuple(project.get("optional-dependencies", {})), |
| 285 | local_dev_sources=_local_dev_sources(project, workspace_dirs), |
| 286 | ) |
| 287 | ) |
| 288 | |
| 289 | return packages |
| 290 | |
| 291 | |
| 292 | @dataclass |
no test coverage detected