Skip to main content

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.workflowschatol.client.OverleafClient 直接 import 调用。

配置可以来自当前进程环境变量,也可以来自 ChatEnv active overleaf profile。配置键优先复用 Overleaf 官方已有名称,例如 OVERLEAF_SITE_URLOVERLEAF_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.0chatenv>=0.2.2,<0.3.0,新的命令应优先使用:

  • CommandSchema / CommandField 描述输入。
  • add_interactive_option() 提供统一 -i/-I
  • resolve_command_inputs() 统一缺参补问、默认值、TTY 与校验。
  • 默认生成 config.pychatenv.configs entry point,使包可被 ChatEnv 发现;只有明确不需要 ChatEnv 接入时才使用 --without-chatenv-provider

目录结构

  • src/:包源码
  • tests/code-tests/:代码测试和历史测试迁移
  • tests/cli-tests/:真实 CLI 测试,doc-first
  • tests/mock-cli-tests/:mock/fake CLI 测试,doc-first
  • docs/:长期维护文档,由 mkdocs 构建

开发说明

扩展脚手架前,先阅读 DEVELOP.mdAGENTS.md

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chatol-0.1.1.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chatol-0.1.1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

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

Hashes for chatol-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a32052c1c855669cfa535ac9478857c238fe8abe4fa8bc11a63bd502f0f8db5c
MD5 b6fd3db0acd5cd96b288b037df53d017
BLAKE2b-256 c3bce50cff89b008cb0f1f452ae8ca58a3d536fc94611efcd79d4884516638a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for chatol-0.1.1.tar.gz:

Publisher: publish.yml on ChatArch/ChatOL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for chatol-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c27d24b62efd7988b2cbb68f0ac5893bc5e33ee2571119a1ef2b1b457f761c3d
MD5 743b1686d18b852a517d2720e8594671
BLAKE2b-256 bce0bc640b24e0ffead0df352e927974ff38067531ce7774daab017343508e04

See more details on using hashes here.

Provenance

The following attestation bundles were made for chatol-0.1.1-py3-none-any.whl:

Publisher: publish.yml on ChatArch/ChatOL

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page