🦉 OwlBot v1.0.0-beta.0 — First Public Release
PEP 440 version:
1.0.0b0· Requires: Python ≥ 3.11 · OS: Windows (core modules are cross‑platform)
The very first tagged, installable release of OwlBot — a modular Telegram remote‑control agent for Windows, rebuilt from the ground up to follow the official Python packaging & contribution standards (python.org, devguide.python.org, packaging.python.org).
این اولین نسخهی رسمی و قابلنصب OwlBot — یک ایجنت ماژولار کنترلازراهدور تلگرامی برای ویندوز — که کاملاً طبق استانداردهای رسمی بستهبندی و مشارکت پایتون (python.org, devguide.python.org, packaging.python.org) بازسازی شده.
✨ Highlights · نکات برجسته
- 📦 Standard
src/package layout built onpyproject.toml(PEP 621) — installable viapip install -e .or as a wheel.
ساختار استاندارد پکیج (src/) مطابق PEP 621 — نصبپذیر باpip install -e .یا بهصورت wheel. - 🔇 Fully configurable logging — keep the default console+file logging, disable just the log file, or go completely silent.
سیستم لاگ کاملاً قابلتنظیم — لاگ پیشفرض (کنسول+فایل)، فقط بیفایل، یا کاملاً بیصدا. - 🧪 45 automated tests (
pytest) covering config validation, logging behavior, the CLI, and monitoring — zero real network calls.
۴۵ تست خودکار (pytest) — بدون هیچ تماس شبکهای واقعی. - 🧹 Zero lint warnings —
flake8(style + complexity) is 100% clean acrosssrc/andtests/.
صفر هشدار لینت —flake8کاملاً تمیزه. - ⚙️ Real CI/CD on GitHub Actions — lint → test (Python 3.11 & 3.12) → build →
twine check, all green.
CI/CD واقعی روی GitHub Actions — لینت ← تست ← build ←twine check، همه سبز.
🆕 Added · اضافهشدهها
- Standard
src/owlbot/...package layout per the packaging tutorial, replacing the old flat layout. pyproject.toml(PEP 621) as the single source of package metadata;setup.pykept only as a compatibility shim.- Modular install extras:
[ui],[windows],[all],[dev]. - New logging controls on
BotConfig/OwlBot/ CLI:log_level— now validated againstDEBUG|INFO|WARNING|ERROR|CRITICAL.log_file— set toNone/""to skip creating a log file on disk.enable_logging— set toFalseto fully silence OwlBot (no console, no file).- CLI flags:
--log-level,--log-file,--no-log-file,--disable-logging.
- Full
tests/suite:test_config.py,test_bot.py,test_cli.py,test_utils.py,test_monitoring.py,conftest.py. - Real
.flake8config file (max-line-length=127,max-complexity=12) — previously[tool.flake8]inpyproject.tomlwas silently ignored by flake8. docs/PYTHON_STANDARDS_SKILL.md— the coding-standards checklist used to review this codebase (PEP 8, PEP 257, devguide contributing, packaging).CHANGELOG.mdfollowing Keep a Changelog.- Rewritten GitHub Actions workflows:
python-package.yml— now actually installs the package +[dev]extra, runs the fullpytestsuite with coverage, lintssrcandtests, builds sdist/wheel in a dedicated job, runstwine check, uploads build artifacts, and supports manualworkflow_dispatchruns.python-publish.yml— addedtwine checkbefore publishing to PyPI via trusted OIDC publishing.
🛠️ Fixed · رفعشدهها
BotConfig.__post_init__had duplicated/inverted validation logic and a dead variable (_WIN_ONLY_MODULES) that was defined but never used — simplified into a single, correct validation path.- Windows-only modules (
audio,input) are now correctly filtered out on non-Windows platforms. - Fixed a stray
platforms/telegram.py(plural) path reference in the README — the real path isplatform/telegram.py(singular). - Removed an unused
typing.Listimport inplatform/telegram.py. - Resolved all 7
flake8C901 complexity warnings:monitoring.py's worker loop was genuinely refactored into small, pure, independently‑tested metric readers (_read_cpu,_read_ram,_read_disk,_read_temp); the remaining 6 (register()methods, which are flat lists of independent command handlers rather than nested logic) are documented with# noqa: C901. - Recovered
.github/workflows/and the fullsrc/tree after they were accidentally deleted directly on GitHub.
🔒 Security · امنیت
Deep input hardening (rate limiting, stricter validation, etc.) is intentionally deferred to a future release, as agreed for this beta.
سختگیریهای امنیتی عمیق (rate limiting، اعتبارسنجی سختگیرانهتر و ...) آگاهانه به نسخهی بعدی موکول شده.
📥 Installation · نصب
pip install owlbot_remote-1.0.0b0-py3-none-any.whl
# or, from source:
pip install -e .🧪 Verify it yourself · خودتان تأیید کنید
pip install -e ".[dev]"
pytest -v
flake8 src testsFull diff: e4e1b13...v1.0.0-beta.0