Skip to main content

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 -e ".[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.

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 connects occupational tasks, AI exposure, wages, employment, and projections in one visual view. Run the project locally to explore the interactive experience.

AI Labor Atlas dashboard

AI Labor Atlas task explorer

AI Labor Atlas career bridge

The dashboard compares AI exposure with wages, projected employment growth, annual openings, and employment scale. Exposure is a task-applicability indicator—not a probability of job loss—so the page explains the economic meaning and limits of each measure alongside the chart.

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 dashboard
  • config/source_registry.json: source URLs, versions, licenses, and redistribution status
  • docs/: requirements, design, and data contract
  • tests/: deterministic unit tests

Metadata

Release files for ai-labor-atlas 0.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ai-labor-atlas 0.3.1
File Size Uploaded Provenance
ai_labor_atlas-0.3.1.tar.gz 61.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ai-labor-atlas 0.3.1
File Interpreter ABI Platform
ai_labor_atlas-0.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 116.6 kB

Release files / ai_labor_atlas-0.3.1.tar.gz

Download URL ai_labor_atlas-0.3.1.tar.gz
Size 61.5 kB
Tags Source
SHA-256 checksum
How to use checksums
79e235673cf0417a36f80dcf916b878cc4a3ea13ba5014a144c4d9c329989cbe
BLAKE2b-256 checksum
How to use checksums
4e59527b103359714c1b39d5b1dc4bb10c78eeed56e25a1096a23db2cb4a0b7f
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 24, 2026.

Transparency log

Release files / ai_labor_atlas-0.3.1-py3-none-any.whl

Download URL ai_labor_atlas-0.3.1-py3-none-any.whl
Size 55.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d2963eadc352499cf0b4ee4761ad6f678e80c9e2ab48a5cdd7ac147cd909792
BLAKE2b-256 checksum
How to use checksums
d893d4fd95e0db5b8823ec9d76406ab9bf1e28be4a75ea29a5e5a2cffdf5f410
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 24, 2026.

Transparency log

Security for ai-labor-atlas 0.3.1

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.

Select from 2 files

Attestation for ai_labor_atlas-0.3.1.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 24, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.3.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page