ChatOL: Python client and CLI for Overleaf workflows
Project description
ChatOL
ChatOL: Python client and CLI for Overleaf workflows
快速开始
pip install -e ".[dev]"
oleaf --help
oleaf --version
python -m pytest -q
python -m build
Overleaf CLI 示例
CLI 只做薄封装;对应能力也可以从 chatol.workflows 和 chatol.client.OverleafClient 直接 import 调用。
配置可以来自当前进程环境变量,也可以来自 ChatEnv active overleaf profile。配置键优先复用 Overleaf 官方已有名称,例如 OVERLEAF_SITE_URL 和 OVERLEAF_ADMIN_EMAIL;官方没有的密码、session、HTTP timeout 等补充字段也统一放在 OVERLEAF_* 命名空间里,不再维护 CHATOL_* 兼容入口。命令行示例使用占位符;真实密码建议用 chatenv paste --stdin、私有 profile、环境变量或 --password-stdin,不要写进 shell history。
export OVERLEAF_SITE_URL="https://overleaf.example.com"
export OVERLEAF_ADMIN_EMAIL="<email>"
export OVERLEAF_ADMIN_PASSWORD="<password>"
oleaf doctor --json
oleaf projects list --json
oleaf projects info "<project-name>" --json
oleaf compile run "<project-name>" --json
oleaf compile pdf "<project-name>" -o output.pdf --json
oleaf compile output "<project-name>" log -o output.log --json
密码和 session cookie 也可以通过 --password-stdin / --session-stdin 传入,避免出现在 shell history 或进程参数里。
CLI 规范
这个模板默认依赖 chatstyle>=0.1.0,<0.2.0 和 chatenv>=0.2.2,<0.3.0,新的命令应优先使用:
CommandSchema/CommandField描述输入。add_interactive_option()提供统一-i/-I。resolve_command_inputs()统一缺参补问、默认值、TTY 与校验。- 默认生成
config.py和chatenv.configsentry point,使包可被 ChatEnv 发现;只有明确不需要 ChatEnv 接入时才使用--without-chatenv-provider。
目录结构
src/:包源码tests/code-tests/:代码测试和历史测试迁移tests/cli-tests/:真实 CLI 测试,doc-firsttests/mock-cli-tests/:mock/fake CLI 测试,doc-firstdocs/:长期维护文档,由 mkdocs 构建
开发说明
扩展脚手架前,先阅读 DEVELOP.md 和 AGENTS.md。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chatol-0.1.1.tar.gz.
File metadata
- Download URL: chatol-0.1.1.tar.gz
- Upload date:
- Size: 15.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a32052c1c855669cfa535ac9478857c238fe8abe4fa8bc11a63bd502f0f8db5c
|
|
| MD5 |
b6fd3db0acd5cd96b288b037df53d017
|
|
| BLAKE2b-256 |
c3bce50cff89b008cb0f1f452ae8ca58a3d536fc94611efcd79d4884516638a3
|
Provenance
The following attestation bundles were made for chatol-0.1.1.tar.gz:
Publisher:
publish.yml on ChatArch/ChatOL
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chatol-0.1.1.tar.gz -
Subject digest:
a32052c1c855669cfa535ac9478857c238fe8abe4fa8bc11a63bd502f0f8db5c - Sigstore transparency entry: 2180297860
- Sigstore integration time:
-
Permalink:
ChatArch/ChatOL@c407386e9e43da902176024984fb88fcbd387896 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/ChatArch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c407386e9e43da902176024984fb88fcbd387896 -
Trigger Event:
push
-
Statement type:
File details
Details for the file chatol-0.1.1-py3-none-any.whl.
File metadata
- Download URL: chatol-0.1.1-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c27d24b62efd7988b2cbb68f0ac5893bc5e33ee2571119a1ef2b1b457f761c3d
|
|
| MD5 |
743b1686d18b852a517d2720e8594671
|
|
| BLAKE2b-256 |
bce0bc640b24e0ffead0df352e927974ff38067531ce7774daab017343508e04
|
Provenance
The following attestation bundles were made for chatol-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on ChatArch/ChatOL
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
chatol-0.1.1-py3-none-any.whl -
Subject digest:
c27d24b62efd7988b2cbb68f0ac5893bc5e33ee2571119a1ef2b1b457f761c3d - Sigstore transparency entry: 2180297906
- Sigstore integration time:
-
Permalink:
ChatArch/ChatOL@c407386e9e43da902176024984fb88fcbd387896 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/ChatArch
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c407386e9e43da902176024984fb88fcbd387896 -
Trigger Event:
push
-
Statement type: