Skip to main content

Growovo

把重复运营工作交给 Agent,留下可核验的执行记录。
Execute authorized recurring operations with reviewable results.

简体中文 · English

Growovo 面向独立开发者与一人公司,提供 GTM/User Growth 的需求发现、价值内容、授权执行和真实结果回流。输入产品事实、目标用户与授权边界,先识别值得服务的需求,再生成可复现的价值资产和增长动作;每个动作记录成功、失败或待人工核实,不把发送、曝光或 Star 当成业务结果。

产品由 Demand / Execution / Learning 三层能力与 Operator Engine + Playbooks 组成:Opportunity Discovery 判断需求与产品匹配,Value Artifact 提供教程、样例、测试、模板和真实案例,Journey 诊断真实使用断点;GitHub Inbox 只是其中一个 Playbook,而不是产品总定义。CLI、MCP、Skill 共用审批、预算、回读和账本。发送成功只代表操作完成,激活、持续使用和付费分别核验。

tests

先试一个结果: python3 mkt.py demo 在本地完成计划校验、审批、dry-run 和账本演示,无需账号或网络。实际平台命令的验证等级见下表。能力进度与技术取舍。

为什么不自己写个脚本,或者用通用自动化平台?对比页(英文)逐项写了 Growovo 在哪输、在哪赢,并给出每条主张对应的仓库文件。

  • Askovo 负责业务研究与验证,为任务提供依据。
  • Growovo 执行授权运营任务,记录操作结果。
  • Verovo 关联费用与业务结果,计算单任务经济性。

三者可独立使用。mkt.py 与 growovo-gtm 标识保持兼容,GTM 是首批应用场景。

合规与纪律(先读这个)

  • 仅用于本人拥有或明确授权运营的账号;无授权不碰他人账号,账号归属、权限和人工接管全程留痕
  • CDP 通道零凭据:不保存任何密码/token/Cookie;SMTP 凭据只走环境变量
  • 一切写操作默认 dry-run,--go 才实跑;实跑必须绑定已人审 plan——无 plan 管辖默认拒跑,仅 CLI 人工通道 --adhoc 显式放行(账本记 adhoc=true;MCP 不开放)
  • 日预算在发送前原子预留;indeterminate(未知结果)不可自动重发,必须人工 ledger resolve;contacts 的 DNC/bounced 身份与 suppress.txt 合并为同一发送抑制源
  • 失败即停(不重试轰炸);回读校验不一致绝不发送(449 空正文事故的固化)
  • 人类节奏:随机间隔 + 单次硬上限 + 日预算(core/throttle.py 的表)
  • 不群发:千人千面内容为前提;占位符残留会被门禁直接拒绝
  • 不做对抗:不绕验证码、不伪造指纹、不用代理池绕过平台限制;代理仅可在合法网络需求明确、账号授权一致时绑定使用,且不能提高配额或绕封禁

安装与启动

先拿一个结果,再装环境。 克隆后不需要任何依赖、任何账号:

git clone https://github.com/roy-tong/Growovo.git && cd Growovo
python3 mkt.py demo               # 零网络零账号,不到 1 秒过内核四步:lint→人审→写路径→账本

要连真实渠道(X / Gmail / GitHub 写)再装运行时,并初始化工作区:

pip install -r requirements.txt   # 仅 playwright;CDP 走系统 Chrome,无需下载浏览器
python3 mkt.py init               # 建目录 + 报凭据缺口 + 打印下一步
python3 mkt.py doctor             # 环境体检(--selftest 连跑全部离线单测)
./launch.command                  # 双击亦可:首次复制登录 profile,启动 CDP 9222
python3 mkt.py check              # 确认 CDP 会话与 X/Gmail 登录态

命令矩阵与验证等级

命令 说明 等级
python3 mkt.py status 全局账本聚合 —
python3 mkt.py check CDP 会话检查(X/Gmail/Reddit/LinkedIn) —
python3 mkt.py demo 零网络零账号演示(计划校验→人审闸门→写路径 dry-run→账本,沙盒可删) —
python3 mkt.py doctor [--selftest] 环境体检:内核导入/数据契约/凭据/CDP/暂停态 —
python3 mkt.py report [--hours 24] [--format md] 一页纸运营报告(异常/暂停态/抑制名单) —
python3 mkt.py init 工作区初始化:建目录/报凭据缺口/给下一步(--workspace 或 MKT_HOME 隔离多产品) —
python3 mkt.py next 状态机:现在该做什么、为什么 —
mkt plan new/lint/show/list/approve/revoke 计划与审批:脚手架、校验、带署名的审批事件(署名 + 计划指纹 + 有效期) —
mkt queue lint <file> / mkt queue build 编辑期门禁:占位符/重复/长度在写队列时拦;模板 + CSV 生成千人千面队列 —
mkt campaign show/report/next Campaign 视图:计划/人审/队列预检/账本/事件/实验/下一步 → 一页 Markdown —
mkt review <campaign> 人审预览:队列逐条过门禁 + 已有留证 + 批准与执行命令 —
mkt ledger resolve <ref> --result … --by … --note … indeterminate 人工裁决(append-only 覆盖,原账本行不改) —
mkt link create/list 追踪链接:生成带 utm_campaign 的链接并落盘,供事件归位 —
mkt outcome import <csv> / mkt outcome sync 记账自动化:CSV 导入(幂等)+ 账本聚合成 count 快照 —
mkt queue run <file> [--go] 全渠道队列执行(email/hn/github/reddit/linkedin/x-reply),逐条走同一管道 —
mkt action <channel> <action> … 单条写动作(与队列同一套门禁/审批/账本);x message/engage 透传 vendor —
mkt collect serve/event/import 本地 collector:/t/<link> 点击归因、/events webhook、Plausible/PostHog CSV —
mkt experiment obs --id X --from-outcomes 实验观察从事件台账自动聚合(不再手抄) —
python3 mkt.py pause --on '原因' / --off 全局暂停总闸(一切写操作拒跑且留痕) —
python3 mkt.py contacts add/find/dnc/mark/import 线索库操作(幂等去重/DNC 隐藏/er-batch 导入) —
mkt followup add/due/touch/stats/close 跟进台账:说过话的人单独记;首触 + 第 3/14/45 天,最多三次跟进,无实质回应自动判弃;mkt next 会把到期的跟进顶到最前面 —
mkt intent start/log/show/verdict 意图信号学习实验:可配置周期与可选观察目标,保留样本不足与安全异常,输出学习观察而非渠道生死判决 —
mkt strategy build/cadence 策略与落地:只给一个主渠道 + 一个发射点 + 最多三条「不做」(带复盘数字);冷启动五阶段判据;放大的前提是信号不是量;随后生成四周动作表,每条带验收物 —
mkt execute --strategy-file --targets --campaign 执行桥:有写通道的平台出计划+队列(过 lint 才写盘);没有写通道的平台出人工作业单,不假装能自动;计划/队列/作业单不等于已执行 —
mkt opportunity --facts <json> --signals <json> 需求发现:产品事实×真实信号→需求匹配、候选解释与下一动作;产品问题优先于获客,不把抱怨当购买意愿 —
mkt artifact lint/render --file <json> 价值资产:校验/渲染教程、样例、可复现测试、模板、对比与真实案例;必须有直接价值、复现步骤与边界 —
mkt journey --events <json> --campaign C --since D1 --until D2 用户旅程:同范围诊断发现→互动→试用→激活→持续使用→付费的断点,历史 campaign 不补本轮 —
mkt evaluate compare/evolution/external 能力/竞争/进化评估:同条件逐项对照、外部未见任务契约与版本回归,不输出综合优胜分 —
mkt playbook-model compose --platform P --motion M --vertical V 三维 Playbook:平台规则×增长方法×行业承接组合,不为每个平台×行业复制一套流程 —
mkt account add/list/check/warm/eligible/takeover 授权账号资产:归属/授权证据、养号生命周期、健康度、冷却与人工接管;无登录或发送 —
mkt network bind/list/export 代理引用:只存环境变量名与账号绑定,不读凭据、不提高配额、不绕封禁 —
mkt exp show/coverage/stale 用户经验与资格:官方规则、可复现方法、单篇资深经验、短期技巧、自有实测分轨管理;策略只取合资格经验,过期/未审/无关/无 URL 不进入执行 —
mkt voice show/draft/lint <平台> 平台语气:37 个平台各自的语气、句式、三条开头、禁忌与黑话;lint 查出会被当成广告的句子 —
mkt result / mkt revise 结果与回流:按 campaign/subject/time_window 统一过滤动作/任务/业务结果,真实 OutcomeLedger 与动态价值事件可核验;候选解释与已验证机制分开,不做自动渠道生死判决 —
mkt progress daily/weekly 进度:日报问「今天有什么该动没动」,周报问「这周比上周好还是差」;没有动作就写停摆,不编数字 —
mkt retro scan/analyze/report 复盘引擎:扫本地日志→带出处的事实→渠道账→业务结论。比率只从人工钉定的 --facts 算,机器不替你选口径;每条结论必须带数字、出处、因果机制和可执行动作,缺一项拒绝出报告 —
mkt billing --actions N --outcomes M 报价实验:保留按动作/按结果,也支持显式订阅/混合实验与接受度记录;接受报价不等于付款 —
mkt x publish/reply/message/engage/search/inbox … X 全动作(vendor x-ops-automation) PROVEN
mkt email message --queue data/queues/w1.json [--go] SMTP 发信队列 PORTED
mkt email inbox / mkt email bounces CDP 只读扫 Gmail / 退信 PORTED(模式 PROVEN)
mkt reddit search --query "…" 只读搜索 UNVERIFIED
mkt reddit reply --url <帖> --text "…" [--go] 评论(回读校验管道) UNVERIFIED
mkt reddit publish --sub <版块> --title … --body-file … [--go] 发帖(日 ≤3) UNVERIFIED
mkt linkedin search --keywords "…" 只读搜人 UNVERIFIED
mkt linkedin message --url <profile> --note-file … [--go] 半自动连接请求(终端确认) UNVERIFIED
mkt github audit --repo owner/repo 仓库体检(基础/社区健康/releases/贡献者集中度/AI-readiness/Scorecard) PROVEN
mkt github inbox --repo owner/repo open issues/PR 清单 + 零回复标记(48h 首响巡检) PROVEN
mkt github search --query "…" 仓库搜索(客群/对标发现) PROVEN
mkt github reply --repo o/r --number N --text "…" [--go] issue/PR 评论(api 通道写路径首例;需 MKT_GITHUB_TOKEN) UNVERIFIED
mkt playbook github-inbox --repo o/r --drafts drafts.json 收件箱分流→候选回复→标准队列(不发送;仍需审批/dry-run) PORTED
mkt hn search --query "…" HN 讨论/客群发现(Algolia 公共 API,匿名只读) PROVEN(只读)
mkt hn publish --title "Show HN: …" --url … [--go] submit 表单提交(CDP;日≤1,标题≤80;Show HN 限自有项目) UNVERIFIED
mkt hn reply --item item:N --text "…" [--go] 条目评论(首用=Show HN 首条作者评论,提交后 1h 内) UNVERIFIED
python3 mkt.py memory … 只读运营记忆:从已核验回执提取重复模式(见文末) —
python3 mkt.py workflow … 可复用配方:learn / approve / replay(默认 dry-run)/ runs / reconcile —
python3 mkt.py scorecard 记分卡:确认/未知/失败/证据率与业务结果计数(只读) —
python3 mkt.py optimize 优化建议(requires_human,不自动执行) —
python3 mkt.py gtm diagnose --facts <json> GTM 诊断:产品事实包→平台优先级+冷启动+放量判据(每条推荐挂证据标签;schema 见 core/gtm.py;风控口径见 docs/risk/) —
python3 mkt.py schedule … 持久化排期:add / tick / status / resume —

等级含义:PROVEN=真实账号跑通;PORTED=模式已验证、本封装未整跑;UNVERIFIED=选择器未实测,首跑必须人工盯跑(首跑清单见 03 渠道文档 §5)。

规划层:计划是数据,人审是闸门(05 产品方案 §2)

# 1. 生成计划脚手架(也可直接按 data/schemas.md 手写)
mkt plan new --id askovo-p0 --goal '拿到 20 个激活' --beachhead '独立 UX 研究者' \
  --hypothesis '证据分级是购买动机' --channel email --wave-action message --size 10

# 2. 校验(schema/能力矩阵/size≤内核日预算)
mkt plan lint --id askovo-p0

# 3. 人审:必须署名;写审批事件 + 计划指纹(批准后再改计划会被指纹识别并拒跑)
mkt plan approve askovo-p0 --by roy --days 7

# 4. 队列:模板 + 目标 CSV 生成,或手写后用 lint 过门禁
mkt queue build --campaign askovo-p0-w1 --channel email --wave-action message \
  --template assets/outreach.md --targets data/targets.csv
mkt queue lint data/queues/askovo-p0-w1.json

# 5. 人审预览 → 干跑 → 实跑
mkt review askovo-p0-w1
mkt email message --queue data/queues/askovo-p0-w1.json          # dry-run
mkt email message --queue data/queues/askovo-p0-w1.json --go     # 须已批准

# 6. 记账与复盘
mkt link create --campaign askovo-p0-w1 --channel hn --url https://example.com
mkt outcome import data/events.csv --campaign askovo-p0-w1
mkt outcome sync --campaign askovo-p0-w1
mkt campaign report askovo-p0-w1

计划指纹 = 计划内容(不含 review 块)的规范化 sha256;旧计划只有 human_approved=true 时仍按 legacy 放行,新审批一律带指纹与有效期。

上限是内核属性:计划里的 size 超过 core/throttle.py 日预算会被 lint 拒收。

MCP 服务(mcp_server.py,stdio,零依赖)

{"mkt": {"command": "python3", "args": ["/绝对路径/Growovo/mcp_server.py"]}}

10 个工具,全渠道读写:

  • 读:mkt_status / mkt_channels / mkt_plan_lint / mkt_search(x/reddit/linkedin/hn/github)/ mkt_ledger_query / mkt_campaign / mkt_inbox(hn/github/email/x)/ mkt_audit(github)
  • 写:mkt_run_queue(全渠道队列,默认 dry-run)/ mkt_action(单条动作,同一套门禁/审批/账本)

写操作实跑一律要求已人审 plan;UNVERIFIED 渠道需 allow_unverified=true(人工首跑校准);adhoc 仅 CLI 人工通道,MCP 不开放。MCP 进程同样读 MKT_HOME,可与 CLI 用不同工作区。

Skill(skills/)

  • skills/growovo-gtm/SKILL.md:GTM 操作协议——入口是增长目标(注册/激活/付费)而非单个渠道动作,按四引擎(定位→资产→投放→结果)拆解为七步:目标→plan→客群→人审→执行→复盘。装入 ~/.agents/skills/ 即可在 ZCode 等宿主触发(内容协作走 warm-email-outreach / expert-review-outreach / b2b-account-mapping)。
  • skills/github-project-ops/:GitHub 项目经营协议(开源与闭源通用)——定位诊断(四象限+七阶段)→ 仓库体检清单 → 增长 playbook → 闭源经营模式库;含独立体检脚本 scripts/repo_audit.py(零依赖发行版)。与 CLI 的关系:skill 是协议与判断,mkt github * 是采数与执行。

案例(docs/cases/)

第一波案例来自 ovo 家族自身,每个案例都区分「平台动作」与「业务结果」,不为获客改写状态:

  • Askovo:首位 dogfood 客户——operator 275 分钟 / human 5 分钟跑完定造跑;2026-11-03 起不设判决日,按迭代节奏推进
  • Verovo:前置案例——一轮完整 GTM 的代价→默认值映射;Growovo 每条纪律都有出处
  • Growovo:自举——改名、双语 README、dogfood 回路,每次自我运营走自己的管道

通道层(core/transports.py)

ACTIVE×4:api(OAuth,Reddit 二期)|browser-cdp(PROVEN)|os-input(macOS 键鼠/AX 模拟,UNVERIFIED,transports/os_input.py)|protocol(SMTP/IMAP,PROVEN)。 RESERVE×6(通道储备库):webdriver|rss-public(只读)|esp-api(事务邮件)|mobile-appium|integration(平台原生)|semi-auto-ui(人工确认兜底)。 每渠道×动作声明首选+降级链;降级用于"路不通",不用于"绕风控"——风控信号的响应是降节奏或 mkt pause,不是换马甲。风控阈值与账号限额见项目 06 文档(官方口径亲核;代码预算一律低于官方上限,见 throttle.INTERVALS/OFFICIAL_LIMITS)。

环境变量

变量 用途
MKT_CDP_URL CDP 端点(默认 http://127.0.0.1:9222)
MKT_EMAIL_USER / MKT_EMAIL_APP_PASSWORD Gmail SMTP(App Password,绝不入库)
MKT_LINKEDIN_AUTO=1 解锁 LinkedIn 全自动(不建议;默认半自动需终端确认)
MKT_GITHUB_TOKEN GitHub PAT(仅写操作 reply 需要;读原语匿名可用,限额 60 次/时)

数据三件套(data/,gitignore)

  • queues/<campaign>.json 队列;ledger.jsonl 全局账本;contacts.jsonl 线索库
  • suppress.txt 抑制名单(每行一个目标);shots/ 留证;state/ 日预算状态
  • schema 详见 data/schemas.md

结构

core/      ledger 账本(含人工裁决覆盖)· gates 门禁(含 DNC 合并)· throttle 原子日预算 · pipeline 写路径事务 · evidence 留证 · cdp 会话 · transports 通道注册表 · planlint 计划校验 · approval 执行级审批(计划+队列+账号+工作区指纹)· queue 编辑期门禁 · campaign 视图/人审预览/下一步 · followups 跟进台账 · intent 可配置学习实验 · logscan 日志扫描 · retro 渠道账/冲突/规则 · narrative 四件套叙述 · platforms 平台单一数据源(37 个)· voice 平台语气画像(37 个)· experience 五类经验资格(当前 129 条原始记录,不自动合资格)· strategy 主渠道/冷启动/放大 · cadence 四周动作表 · execute 策略→计划队列 · result 同范围三层结果 · revise 参数回流 · progress 日报周报 · opportunity 需求发现 · value_artifact 价值资产 · journey 用户旅程 · playbook_model 三维组合 · accounts 授权账号生命周期 · network 代理引用 · billing 报价实验 · links 追踪链接 · outcome_io CSV 导入与账本聚合 · collector 本地 webhook/跳转 · action_runner 单条动作 · queue_runner 全渠道队列 · playbooks GitHub Inbox 分流/草稿队列 · workflows 配方学习/审批/重放 · locators 定位器阶梯 · scorecard 记分卡 · optimization 优化建议 · scheduler 持久化排期 · workspace 多产品隔离 · experiments 可选学习实验 · attribution 事件/漏斗/归因 · demo 零账号演示 · doctor 环境体检
channels/  x/(vendor+adapter) · email_smtp · email_cdp · reddit · linkedin · github(api 通道首发) · hn(CDP 写 + Algolia 读)
transports/  os_input(macOS 键鼠/AX 模拟,UNVERIFIED)
skills/    growovo-gtm(GTM 操作协议)· github-project-ops(GitHub 项目经营协议+体检脚本)
tests/     离线单测(402 项,含 449 事故回归、全渠道人审门禁/adhoc 放行、执行级审批指纹/队列篡改/账号与工作区绑定、预算原子预留、DNC/indeterminate 阻断、真实 CLI 端到端、37 平台策略/节奏/人工单契约、需求发现/价值资产/用户旅程、账号与报价实验、demo 闭环与 doctor 分级):python3 -m unittest discover -s tests
mcp_server.py  MCP 外壳(stdio JSON-RPC,零依赖)

X 渠道 vendor 引入 x-ops-automation(上游 github: roy-tong/x-ops-automation), 不改写已验证代码(见 channels/x/vendor/PROVENANCE.md);上游修选择器时同步。

License

MIT(见 LICENSE)。channels/x/vendor/ 引入自同作者仓库 x-ops-automation(MIT)。

可复用工作流:一次学习,稳定重放

同一类操作不必每次让模型重新探索页面。workflow 把步骤、定位器阶梯与回读条件固化成带指纹的配方;批准后才可 --go,每次运行都有逐步日志:

python3 mkt.py workflow learn hn-reply --trace trace.json      # 观察一次 → 草稿(不自动批准)
python3 mkt.py workflow approve hn-reply --by "operator" --days 30
python3 mkt.py workflow replay hn-reply --var item=123 --var text="…"          # dry-run:只解析定位器
python3 mkt.py workflow replay hn-reply --cdp-url http://127.0.0.1:9222 … --go  # 实跑
python3 mkt.py workflow runs
python3 mkt.py workflow reconcile --run <id> --outcome not_sent --note "已核对平台后台" --by "operator"

页面变化时按 css → placeholder → label → role → text 逐级恢复;视觉恢复需要操作者提供 provider,没有就停在 visual_unavailable,不猜点击位置。写入仍走统一门禁:action 步骤复用 action_runner,commit 点击检查暂停与日预算并写账本。详见工作流。

运营记分卡、排期与优化建议

执行之后要看得见结果,也要能停下来。scorecard 把账本与业务事件分开统计:确认率、未知率、失败数与证据覆盖率,不把「发出去了」算成转化。

python3 mkt.py scorecard --campaign my-campaign
python3 mkt.py optimize --campaign my-campaign          # 人工决策建议,不自动执行
python3 mkt.py schedule add --id daily --queue data/queues/q1.json --interval 1440
python3 mkt.py schedule tick                            # 由 cron/launchd 或人手动触发
python3 mkt.py schedule resume --id daily --note "已核对未知回执"
  • 排期只跑「到点的一波」;全局暂停、未知结果、失败队列都会让它停下并标 needs_review;
  • 进程中断后的 running 波次不会被自动重跑;
  • optimize 的比较是描述性的:高确认率不等于渠道效果,建议全部 requires_human: true。

运营记忆:从已核验的平台回执中学习

在不暴露联系人明细、也不自动重放任何历史动作的前提下,检视重复出现的渠道/动作模式:

python3 mkt.py memory --campaign my-campaign
python3 mkt.py memory --channel github --output data/operations-memory.json

摘要报告已确认的平台操作、未知/失败回执与人审候选;有意排除目标对象与消息正文。平台动作成功不等于客户激活,模式也永远不是重放许可:新的执行仍需新的授权、当期平台政策检查与标准执行门禁。这是工作流学习的只读输入:它给出模式与风险,真正可重放的配方在批准后由 mkt workflow 执行。见能力进度与技术取舍。

参与

  • 改动前先读 CONTRIBUTING.md:里面是不能破坏的执行不变量(人审、dry-run、暂停、预算、抑制名单、回读校验、未知结果不重试)与 AI 贡献政策。
  • 安全问题走 SECURITY.md 的私密通道,不要开公开 issue。
  • issue/PR 首次响应目标 48 小时内;能力边界与验证等级以 docs/feature-status.md 为准。
  • 案例(含失败与判死)在 docs/cases/,不删改状态。

Metadata

Release files for growovo 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for growovo 0.4.0
File Size Uploaded Provenance Actions
growovo-0.4.0.tar.gz 346.6 kB With provenance Details for growovo-0.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for growovo 0.4.0
File Interpreter ABI Platform Actions
growovo-0.4.0-py3-none-any.whl Python 3 none any Details for growovo-0.4.0-py3-none-any.whl

Total release size: 664.1 kB

Release files / growovo-0.4.0.tar.gz

Download URL growovo-0.4.0.tar.gz
Size 346.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4ce83d0ff3671756b2fbc7e55d1af492544c0dd7f4107eecaf71fe6168344a1c
BLAKE2b-256 checksum
How to use checksums
2a574e6847364071f1a03cedcdcbf7d36191993c17df3b8b79674869c3b5bc7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Release files / growovo-0.4.0-py3-none-any.whl

Download URL growovo-0.4.0-py3-none-any.whl
Size 317.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f96d78c2403f535534ba600b700c085a2e5b291db09bb471941519904b8ea25
BLAKE2b-256 checksum
How to use checksums
de96346756114341c3d38d729dabb8273dc31b89c787fc2e7e769760460db75a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Security for growovo 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for growovo-0.4.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page