Metadata-Version: 2.4
Name: jobctrl
Version: 0.1.0
Summary: AI-powered end-to-end job application pipeline
Project-URL: Homepage, https://github.com/ebarti/JobCtrl
Project-URL: Repository, https://github.com/ebarti/JobCtrl
Project-URL: Issues, https://github.com/ebarti/JobCtrl/issues
Author: Eloi Barti
License-Expression: AGPL-3.0-only
Keywords: ai,apply,automation,job-application,job-search,resume
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business
Requires-Python: >=3.11
Requires-Dist: beautifulsoup4>=4.12
Requires-Dist: click>=8.3.3
Requires-Dist: httpx>=0.24
Requires-Dist: jobstreaming==0.0.3
Requires-Dist: opentelemetry-api>=1.27
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.27
Requires-Dist: opentelemetry-instrumentation-httpx>=0.48b0
Requires-Dist: opentelemetry-sdk>=1.27
Requires-Dist: pandas>=2.0
Requires-Dist: playwright>=1.40
Requires-Dist: publicsuffix2<3,>=2.20191221
Requires-Dist: pydantic>=2.10
Requires-Dist: pypdf>=6.14.2
Requires-Dist: python-dotenv>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: temporalio>=1.26
Requires-Dist: typer>=0.9.0
Requires-Dist: websocket-client>=1.8
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: cryptography>=43.0; extra == 'dev'
Requires-Dist: google-auth>=2.0; extra == 'dev'
Requires-Dist: hatchling==1.29.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-randomly>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff==0.15.8; extra == 'dev'
Provides-Extra: providers
Requires-Dist: claude-agent-sdk==0.2.115; extra == 'providers'
Requires-Dist: google-antigravity==0.1.2; extra == 'providers'
Requires-Dist: mcp>=1.28.1; extra == 'providers'
Requires-Dist: openai-codex-cli-bin==0.144.4; extra == 'providers'
Requires-Dist: openai-codex==0.144.4; extra == 'providers'
Requires-Dist: pyasn1>=0.6.4; extra == 'providers'
Description-Content-Type: text/markdown

# JobCtrl Automation Worker

This package contains JobCtrl's Python automation engine and CLI. It owns job
discovery, enrichment, scoring, tailoring, cover letters, PDF generation,
profile import, and local browser apply automation.

Use it from the repository root through `uv`:

```bash
uv --project workers/automation run jobctrl doctor
uv --project workers/automation run jobctrl run
uv --project workers/automation run jobctrl worker
```

The full local application is normally started from the repository root with
`pnpm dev`, which runs Temporal, the TypeScript API, the React web app, and this
worker together.

Useful docs:

- root `README.md` for the public overview and quick start;
- `docs/user/getting-started.md` for setup and local stack commands;
- `docs/user/configuration.md` for environment variables;
- `docs/architecture/` and `docs/architecture/pipeline/` for internal
  runtime ownership.

Profile data, generated materials, browser state, logs, and SQLite databases
are sensitive local artifacts. Do not commit them or include them in public bug
reports.
