Skip to content
This repository was archived by the owner on Apr 12, 2026. It is now read-only.

Polydelta-ai/missionml-python-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

missionml-sdk

Official Python SDK and CLI for MissionML — analyze, parse, and visualize competencies using AI-powered workflows.

Install

pip install missionml

CLI

missionml login
missionml config show

Local dev API example:

MISSIONML_BASE_URL=http://127.0.0.1:8000 missionml whoami

USAJOBS Connector

Notebook-first usage examples:

import missionml as mml

jobs = mml.USAJobs(
    api_key="USAJOBS_KEY",
    user_agent_email="[email protected]",
)

resp = jobs.search_current(
    Keyword="data scientist",
    LocationName="Washington, DC",
    ResultsPerPage=10,
    Page=1,
)

items = mml.usajobs.current_items(resp)
len(items), items[0].keys()

Historic/past announcements:

resp = jobs.search_historic(
    Keyword="machine learning",
    Page=1,
    ResultsPerPage=10,
)

items = mml.usajobs.historic_items(resp)
len(items)

Shape a job announcement into MissionML parse input:

job = items[0]
parse_req = mml.usajobs.to_parse_request(
    job,
    source_name="USAJOBS: data scientist",
    client_request_id="demo-001",
)

All search parameters are passed through as keyword arguments, so you can use any supported USAJOBS Search or Historic JOA query params.

MissionML Studio (SDK)

Parse competencies from text:

import missionml as mml

studio = mml.MissionML(api_key="YOUR_MISSIONML_KEY")
result = studio.parse_competencies("I write Python and analyze data.")
result.competencies

Batch parsing (streaming by default with fallback):

items = [{"text": "Python data analysis"}, {"text": "Stakeholder management"}]
batch = studio.parse_competencies_batch(items, stream=True, verbose=True)
batch["parse_ids"]
batch["competencies"]

Crosswalk Analytics

Compare 2+ competency lists or parse results:

import missionml as mml

studio = mml.MissionML(api_key="YOUR_MISSIONML_KEY")
r1 = studio.parse_competencies("Python, SQL, and data analysis.")
r2 = studio.parse_competencies("Talking with stakeholders and SQL.")

xw = studio.crosswalk(r1, r2)
xw

Raw lists + labels:

xw = studio.crosswalk(["Python", "Speaking"], ["Talking", "SQL"])
xw = xw.name(["resume", "job_posting"])

Records output:

xw = studio.crosswalk(["Python"], ["SQL"], return_format="records")
xw["matrix"]
xw["common"]
xw["unique"]
xw["overlap"]

External Taxonomy Report (DOCX)

Generate a report from demo data:

import missionml as mml

studio = mml.MissionML()
report = mml.load_demo_data()[0]
studio.generate_rrdoc(report=report, filepath="out.docx")

Create your own report:

from datetime import date
from missionml.reports import DocumentHeader, SeriesMetadataRow, SeriesProfile, ExternalTaxonomyReport

report = ExternalTaxonomyReport(
    header=DocumentHeader(
        title="Reclassification and Requalification: External Job Taxonomy",
        version="1.0",
        date=date(2026, 1, 6),
        occupational_series="0343 - Management and Program Analysis",
    ),
    series_profile=SeriesProfile(
        series_metadata=[
            SeriesMetadataRow(field="Series Code", value="0343"),
            SeriesMetadataRow(field="Series Title", value="Management and Program Analysis"),
        ]
    ),
)

print(report.view())
studio.generate_rrdoc(report=report, filepath="out.docx")

About

Official Python SDK and CLI for MissionML — analyze, parse, and visualize competencies using AI-powered workflows.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages