- Added new `SpinnerManager` module for centralized spinner rendering using Rich `Live`. - Introduced `spinner`, `spinner_message`, `spinner_type`, `spinner_style`, and `spinner_speed` to `BaseAction` and subclasses (`Action`, `ProcessAction`, `HTTPAction`, `ActionGroup`, `ChainedAction`). - Registered `spinner_before_hook` and `spinner_teardown_hook` automatically when `spinner=True`. - Reworked `Command` spinner logic to use the new hook-based system instead of `console.status`. - Updated `OptionsManager` to include a `SpinnerManager` instance for global state. - Enhanced pipeline demo to showcase spinners across chained and grouped actions. - Bumped version to 0.1.77. This commit unifies spinner handling across commands, actions, and groups, making spinners consistent and automatically managed by hooks.
49 lines
1.2 KiB
TOML
49 lines
1.2 KiB
TOML
[tool.poetry]
|
|
name = "falyx"
|
|
version = "0.1.77"
|
|
description = "Reliable and introspectable async CLI action framework."
|
|
authors = ["Roland Thomas Jr <roland@rtj.dev>"]
|
|
license = "MIT"
|
|
readme = "README.md"
|
|
packages = [{ include = "falyx" }]
|
|
|
|
[tool.poetry.dependencies]
|
|
python = ">=3.10"
|
|
prompt_toolkit = "^3.0"
|
|
rich = "^13.0"
|
|
pydantic = "^2.0"
|
|
python-json-logger = "^3.3.0"
|
|
toml = "^0.10"
|
|
pyyaml = "^6.0"
|
|
aiohttp = "^3.11"
|
|
python-dateutil = "^2.8"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
pytest = "^8.3.5"
|
|
pytest-asyncio = "^0.20"
|
|
ruff = "^0.3"
|
|
toml = "^0.10"
|
|
black = { version = "^25.0", allow-prereleases = true }
|
|
mypy = { version = "^1.0", allow-prereleases = true }
|
|
isort = { version = "^5.0", allow-prereleases = true }
|
|
pytest-cov = "^4.0"
|
|
mkdocs = "^1.6.1"
|
|
mkdocs-material = "^9.6.14"
|
|
mkdocstrings = {extras = ["python"], version = "^0.29.1"}
|
|
mike = "^2.1.3"
|
|
|
|
[tool.poetry.scripts]
|
|
falyx = "falyx.__main__:main"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
asyncio_mode = "auto"
|
|
#asyncio_default_fixture_loop_scope = "function"
|
|
|
|
[tool.pylint."MESSAGES CONTROL"]
|
|
disable = ["broad-exception-caught"]
|