pdatum
Job postings, and the employers behind them, from the command line. Built for scripts and AI agents: everything prints JSON on request, errors go to stderr, and large pulls stream JSON lines.
pdatum is the data jobwolverine.com and rxraven.com are built on.
pip install pdatum
export PDATUM_API_KEY=pdatum_... # keys are issued by hand for now
pdatum jobs count --q "data engineer" --posted-since 30d
pdatum jobs search --q nurse --remote
pdatum jobs pull --brand rxraven > jobs.jsonl
pdatum employers get pfizer --json
Commands
| Command | |
|---|---|
pdatum jobs count [filters] |
Returns how many open jobs match, and nothing else. It's cheap, so run it first. |
pdatum jobs search [filters] [-n N] |
Shows the newest matches: one page. |
pdatum jobs pull [filters] [--full] [--max N] |
Streams every match to stdout as JSON lines. Progress goes to stderr. |
pdatum jobs get ID |
Returns one job, open or closed, with its full text. |
pdatum jobs changes --since T |
Streams every job added, closed or reopened since T. |
pdatum employers list / pull / get SLUG |
Employer records. Each fact names its source. |
pdatum me |
Shows your key, its scopes, and what it has used. |
pdatum skill |
Prints short instructions for an AI agent to save. |
pdatum guide |
Prints the full API reference, from the server. |
The job filters are --brand, --employer, -q, --location,
--remote/--not-remote, --posted-since and --posted-before. A time can be
2026-09-01, an age like 7d, 12h or 30m, or epoch seconds.
Keeping a copy in sync
pdatum jobs pull > jobs.jsonl # once
pdatum jobs changes --since 2026-09-01 > delta.jsonl
Upsert each line of delta.jsonl by id. A line with "open": false means
that job has closed. The last line on stderr gives the --since to use next
time. A change can arrive twice, but never not at all.
Keys and configuration
The key is taken from --api-key, then PDATUM_API_KEY, then the config
file, which pdatum key save <key> writes after checking the key with the
server. The config file is ~/.pdatum.json; PDATUM_CONFIG_PATH moves it.
PDATUM_URL or pdatum config --url points the CLI at another server.
Every command takes --json, or set PDATUM_OUTPUT=json. Errors go to
stderr, and the exit code is non-zero: 1 for a failure, 2 for a usage error.
Development
pip install -e .
python -m unittest discover -s tests
The tests never reach a server. The API this talks to is documented at
https://pdatum.pearachute.com/api/v1/docs, and pdatum guide prints the same
reference from whichever server you point it at. MIT licensed.
Metadata
Release files for pdatum 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pdatum-0.1.1.tar.gz | 21.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pdatum-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.6 kB
Release files / pdatum-0.1.1.tar.gz
| Download URL | pdatum-0.1.1.tar.gz |
|---|---|
| Size | 21.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3daaa43de5addcdb114ceffd045e45a95878bdd570a7df21f5bc296671159372
|
|
BLAKE2b-256 checksum How to use checksums |
2a67ef9eb087c405ce4bc78a2b9e598f5965ce8cf018451adfe65af7c9b3b1ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 2, 2026.
Transparency logRelease files / pdatum-0.1.1-py3-none-any.whl
| Download URL | pdatum-0.1.1-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8ca6a15d97c831da6a97c90fac0f6bbb563a088fc18e8818bc27f09ab631bc35
|
|
BLAKE2b-256 checksum How to use checksums |
94edacd5871b987b6501bb82809d65330a2d09adc28f576e1b3852610913d7c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Oct 2, 2026.
Transparency log