AI Labor Atlas
AI Labor Atlas is a reproducible, descriptive measurement layer connecting occupations, tasks, AI exposure indicators, wages, and employment projections.
The current explorer focuses on U.S. national data, English-language sources, and descriptive rather than causal interpretation. It keeps the meaning and coverage of each measure clear so users can ask better questions about changing work.
Quick start
Requires Python 3.10 or newer.
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install "ai-labor-atlas[excel]"
python -m ai_labor_atlas.cli build --demo
python -m ai_labor_atlas.cli analyze
python -m ai_labor_atlas.cli search software
python -m ai_labor_atlas.cli serve
The demonstration dataset is deterministic so the examples are easy to explore and reproduce. Research users can find the public source coverage and attribution notes in the sections below.
Contributors working from a clone can instead use
python -m pip install -e ".[excel]". Maintainers can find the token-free
release procedure in docs/publishing.md.
Atlas reads and writes data/ under the current working directory. Set
AI_LABOR_ATLAS_DATA_DIR to an absolute directory when you want builds and the
dashboard to share a different persistent location.
Explore the dashboard
The dashboard brings occupational tasks, AI exposure, wages, employment, and outlook together in one visual workspace for comparing roles and exploring changing work. The screenshots below are rendered from the full current-data build (1,016 O*NET occupation records), not the eight-record demonstration dataset.
The dashboard compares AI exposure with wages, projected employment growth, annual openings, and employment scale. It pairs the visual comparison with plain-language metric guidance so users can explore the economic context behind each occupation.
The Career bridge view helps users explore adjacent occupations. It uses structured O*NET importance ratings as the primary profile distance, then shows software overlap, supplemental task evidence, labor-market context, and a practical training hint. The bridge is a descriptive pathway tool. It is not a personal ability estimate, a hiring-probability model, or an employment forecast.
Optional semantic review
The dashboard can send one selected occupation and its deterministic mapping to an OpenAI-compatible chat-completions endpoint for a second, text-based review. The review is advisory: it cannot change the dataset, exposure values, SOC codes, or summary measures. Leave the variables unset to keep the dashboard fully local and rule-based.
$env:AI_LABOR_ATLAS_LLM_API_KEY = "your-key"
$env:AI_LABOR_ATLAS_LLM_BASE_URL = "https://api.openai.com/v1"
$env:AI_LABOR_ATLAS_LLM_MODEL = "your-model"
atlas serve
The selected occupation and deterministic mapping evidence are sent only when the review button is used. A local OpenAI-compatible endpoint may be used without an API key.
Data sources and vintages
| Layer | Source | Version/vintage | Use |
|---|---|---|---|
| Occupation and tasks | O*NET | 30.3 | O*NET-SOC titles, descriptions, tasks, skills, software skills |
| Occupation bridge | O*NET crosswalk | 2019 -> 2018 SOC | Join O*NET occupations to BLS data |
| Wage | BLS OEWS | May 2025 | National employment and wage estimates |
| Outlook | BLS Employment Projections | 2024-2034 | Employment change and annual openings |
| AI exposure | AIOE | source release recorded in manifest | Descriptive exposure comparator |
ONET-derived files must retain attribution to ONET and the U.S. Department of Labor, Employment and Training Administration, and must identify modifications. AIOE raw redistribution is disabled by default until its repository license is verified.
The full local build uses the registered public files rather than the demo rows. The current validation snapshot contains 1,016 unique ONET occupations and 18,796 source task statements across 923 occupations, with 79.0% exposure coverage, 94.1% wage coverage, and 94.6% employment coverage. Release summaries distinguish unique ONET occupations, unique SOC codes, raw crosswalk-expanded rows, and the one-record-per-O*NET aggregation used for top-line coverage and means. The dashboard shows representative task statements for the selected occupation and supports keyword filtering within that task list. Missing source values remain missing in the output.
The occupation bridge uses O*NET 30.3 Essential Skills, Transferable Skills, Knowledge, Abilities, Work Activities, and Software Skills. Exact profiles are preferred; when a parent occupation has no direct structured rating, a family-average profile is marked in the result. This fallback is a data-coverage aid, not an exact occupational equivalence.
What workers say
The occupation detail view includes an optional space for public worker comments about pay, interviews, management, workload, growth, and work environment. Comments keep their source, date, scope, and link where available. They are displayed as context rather than combined into an overall rating, and they never change the Atlas measures.
To load an auditable local import, create data/processed/reviews.json using the contract in docs/review-data.md. The demo does not invent worker comments. Review imports must respect the source platform's current terms, API rules, attribution requirements, privacy obligations, and user-content rights.
Before starting the dashboard, run the release check against an import file. It reports every row-level error and the resulting occupation, source, and topic coverage without printing review text:
python -m ai_labor_atlas.cli validate-reviews --input data/processed/reviews.json
The dashboard remains fail-closed: a file that does not pass this check is not partially displayed.
Career Fit can connect to this context through the Atlas server. Set CAREER_FIT_ATLAS_URL=http://127.0.0.1:8765 before starting Career Fit, then confirm the closest standard occupation in its optional occupation-context panel. Title suggestions are deliberately non-binding because a job title can map to several occupations.
Occupation suggestions use normalized title phrases and compatible role terms. If the supplied title is too broad or does not map cleanly to an Atlas title, the explorer returns no suggestion and asks the user to try a more specific title. This favors a transparent empty result over a plausible but misleading occupation.
For a small set of common nonstandard titles, the versioned editorial candidate crosswalk provides multiple possible occupation families. These are leads for user review, not official O*NET equivalences or automatic classifications; each candidate includes a mapping note and requires confirmation.
The research rationale and application boundaries are summarized in the literature-to-product map.
The full 50 × 10 = 500 deterministic scenario audit, including data-quality, crosswalk, mapping, public-review, and dashboard checks, is documented in the full audit report.
What the numbers mean
ai_exposure is an exposure/applicability indicator, not a probability of job loss, a risk score, or evidence of causality. Wage and employment projections are joined by SOC code with provenance and coverage fields. Crosswalk-expanded rows are preserved with crosswalk_weight; multiple SOC targets are summarized only as disclosed weighted-reference estimates, with mapping quality flags retained. When no source allocation is available, uniform_crosswalk_fallback is shown. An unmapped occupation is labeled missing_crosswalk rather than being presented as a single-SOC observation. The release-level employment-weighted exposure uses each unique 2018 SOC target once, so shared SOC employment is not double-counted. A registered source hash mismatch is reported as new_upstream_version_requires_review; the downloader does not write the unverified payload.
Repository map
src/ai_labor_atlas/: loaders, joins, measures, CLI, and local dashboardconfig/source_registry.json: source URLs, versions, licenses, and redistribution statusdocs/: requirements, design, and data contracttests/: deterministic unit tests
Metadata
Release files for ai-labor-atlas 0.4.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 | |
|---|---|---|---|---|
| ai_labor_atlas-0.4.0.tar.gz | 71.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ai_labor_atlas-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 134.6 kB
Release files / ai_labor_atlas-0.4.0.tar.gz
| Download URL | ai_labor_atlas-0.4.0.tar.gz |
|---|---|
| Size | 71.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a7702a22d377257f2a8ab27899f00955bfff1de06ddb05d81869667cb5652abe
|
|
BLAKE2b-256 checksum How to use checksums |
cd0ad7fef69604c9b95155b5f61e0a531929f72a9118c0f4b75c82ba1010aed4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.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 Jul 28, 2026.
Transparency logRelease files / ai_labor_atlas-0.4.0-py3-none-any.whl
| Download URL | ai_labor_atlas-0.4.0-py3-none-any.whl |
|---|---|
| Size | 63.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b4650e650e01931e3c29d26c44148093ae0c4ff2d7dff85475a2a9d5f969d4d2
|
|
BLAKE2b-256 checksum How to use checksums |
ced945d6d0139ef1cfd432204b69e21ee65f5e8c34b70bbbd4258d7fdd610032
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.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 Jul 28, 2026.
Transparency logSecurity for ai-labor-atlas 0.4.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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for ai_labor_atlas-0.4.0.tar.gz
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 Jul 28, 2026.
Transparency logA 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.