CAMP Python SDK
Official Python client for CAMP — Career AI Model Platform — 7 career-native model families behind a standard chat-completions/embeddings request shape, plus live demo and media-generation endpoints.
Install
pip install careerstudiomax-camp
Quickstart
from camp import CampClient
client = CampClient(api_key="sk_live_your_key_here")
resp = client.chat_completions(
model="careerlm-base",
messages=[{"role": "user", "content": "Write a cover letter opener for a Senior PM role"}],
)
print(resp["choices"][0]["message"]["content"])
What you can do
| Method | Description |
|---|---|
client.chat_completions(messages) |
Standard-format chat completions |
client.chat_completions_stream(on_event, messages) |
Same, streamed |
client.embeddings(input) |
Standard-format embeddings |
client.models() |
List available models |
client.score(content, type="cv") |
Structured scoring (CV, content) |
client.embed(texts) |
Text embeddings (simplified) |
client.agent_stream(on_event, task) |
Streaming agentic task execution |
Deep reasoning
Pass reasoning=True to chat_completions() to raise the internal model's effort/complexity tier for that one call — useful for a genuinely hard question where the default fast path isn't giving you enough depth. Off by default, real added latency per call, no extra cost (it's still the same self-hosted model, just told to think harder — never escalates to an external provider).
resp = client.chat_completions(
model="careerlm-base",
messages=[{"role": "user", "content": "Compare 3 career paths for a mid-level backend engineer, with tradeoffs"}],
reasoning=True,
)
Streaming
def on_chunk(event):
print(event.get("text", ""), end="", flush=True)
client.chat_completions_stream(on_chunk, messages=[{"role": "user", "content": "Draft a resignation letter"}])
Errors
from camp import CampClient, CampError
try:
client.score(cv_text)
except CampError as e:
print(e.status, str(e))
Context manager
with CampClient(api_key="...") as client:
...
Full endpoint reference: camp.careerstudiomax.com/docs
Metadata
Release files for careerstudiomax-camp 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| careerstudiomax_camp-1.0.0.tar.gz | 4.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| careerstudiomax_camp-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.2 kB
Release files / careerstudiomax_camp-1.0.0.tar.gz
| Download URL | careerstudiomax_camp-1.0.0.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c3231e195239ca3871ee3de1ae37999f830f0f526108529a9951d47ffa22b262
|
|
BLAKE2b-256 checksum How to use checksums |
2827ad98f81bec718587317c392a41d8f29fb48bf7ec225a3e1182b53ffd7ab3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Release files / careerstudiomax_camp-1.0.0-py3-none-any.whl
| Download URL | careerstudiomax_camp-1.0.0-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d5377e8b7c2a1a5a7a002bd6091343228f3d3e79d799961eecbed620ea2c8af3
|
|
BLAKE2b-256 checksum How to use checksums |
6122923bad47130d7cc1d9ad1a55e5d7b64f450f4eb32d0107865ec83829a469
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.10
|
Security for careerstudiomax-camp 1.0.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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.