refactor(readme): standardize README, remove OpenWeather, fix pyproject #22
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
slaid098/voice_assistant#22
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Контекст
README не соответствует стандарту slaid098.dev: нет билингвальной структуры (EN/RU), delimiter tags, cover.png. Ссылка на релизы ведёт на GitHub (аккаунт удалён, хост — Forgejo). OpenWeather API не используется — мама работает без API-ключа через Open-Meteo. pyproject.toml имеет несоответствие:
requires-python>=3.13, ноruff target-version=py312иmypy python_version=3.12. Нет.python-versionиdependabot.yml.Задача
create-readmetool (билингвальный EN/RU, delimiter tags)draw-imagetoolgit.slaid098.dev/slaid098/voice_assistant/releases)services/weather.py: убрать_GEOCODE_URL,_WEATHER_URL,_get_openweather_text(),_resolve_city_openweather(),_fetch_weather_openweather(),_format_weather(), веткуif settings.openweather_api_key:config.py: убрать полеopenweather_api_key: str+openweather_api_key=os.getenv(...).env.template: убрать блокOPENWEATHER_API_KEY=tests/test_weather.py: убратьFakeSettings.api_key, всеtest_openweather_*(4 теста),test_uses_openweather_when_key_set,test_fallback_to_open_meteo_when_no_key(больше не релевантен — нет выбора провайдера)tests/test_config.py: убратьassert s.openweather_api_key == ""иtest_settings_openweather_key_from_envtests/conftest.py: убратьos.environ.pop("OPENWEATHER_API_KEY", None)ruff target-version→"py313",mypy python_version→"3.13".python-versionс содержимым3.13.github/dependabot.yml(pip + github-actions, weekly)OPENWEATHER_API_KEYКонтракты
create-readmetool, с 12 delimiter tags, cover.pngweather.py: только Open-Meteo,get_weather_text(city)→_get_open_meteo_text(target)напрямую (без проверки ключа)config.py: полеopenweather_api_keyубрано изSettingspyproject.toml:target-version = "py313",python_version = "3.13".python-version: содержит3.13dependabot.yml: updates for pip + github-actionsИнварианты
rg "openweather|OPENWEATHER"→ 0 matches в src/ и tests/project-status --fast: README WARN ушли, pyproject WARN ушлиГраничные случаи
OPENWEATHER_API_KEY— будет игнорироваться (поле убрано из Settings, dotenv не загрузит)get_weather_text(city: str | None = None)— сигнатура не меняется,cityпараметр остаётся для совместимости (handler передаёт payload, но has_payload=False → payload пустой → fallback на default city)Влияние на связанные компоненты
services/weather.py: упрощение — убрать ~60 строк (5 функций + 2 константы + ветка)config.py: Settings dataclass минус 1 полеtests/test_weather.py: минус ~6 тестов, FakeSettings упрощается (убратьapi_keyпараметр)tests/test_config.py: минус 1 assert + 1 тестtests/conftest.py: минус 1 строкаnlu/handlers.py:WeatherHandlerбез изменений (вызываетget_weather_text(payload))Вне scope
Критерии приемки
rg "openweather|OPENWEATHER"в src/ и tests/pyproject.toml: rufftarget-version = "py313", mypypython_version = "3.13".python-versionсуществует (содержит3.13).github/dependabot.ymlсуществуетproject-status --fast: README WARN ушли, Pyproject WARN ушли