Skip to main content

Local-first CLI and Python package for Neksus JobSpec files

Project description

Neksus JobSpec

CI docs.jobspec.neksusai.com PyPI version PyPI downloads

Neksus JobSpec is an open-source, local-first CLI and Python package for creating, validating, and rendering structured job specifications written in YAML.

Status

Current focus is a stable CLI and reusable core library. Hosted API and MCP server capabilities are planned, not yet implemented.

Job page composition

v0.2.x uses controlled, Lego-brick-like job-detail page components. You can compose validated page blocks such as header_brand, hero_banner, hero, meta_panel, CTA, responsibilities, requirements, benefits, quote, social_links, location_map, company profile, and legal blocks without defaulting to arbitrary HTML.

soft-professional is rendered from YAML components plus the built-in theme.

Rendered example screenshot:

Soft Professional Job Detail

For portable web output paths, use rendering.web.asset_base_url in spec files or --asset-base-url in CLI rendering commands.

Installation

pip install neksus-jobspec

Quickstart

pip install neksus-jobspec
mkdir neksus-jobspec-demo
cd neksus-jobspec-demo
neksus-jobspec init
neksus-jobspec spec new backend-engineer
neksus-jobspec spec validate jobspecs/backend-engineer.jobspec.yaml
neksus-jobspec spec render jobspecs/backend-engineer.jobspec.yaml --format web --output dist/backend-engineer.html

Python API

from neksus_jobspec import JobSpec, load_jobspec, render_jobspec, validate_jobspec

spec = load_jobspec("jobspecs/backend-engineer.jobspec.yaml")
validated = validate_jobspec(spec.model_dump())
web = render_jobspec(validated, format="web")
print(web[:80])

Basic CLI usage

neksus-jobspec init
neksus-jobspec spec new backend-engineer
neksus-jobspec spec validate jobspecs/backend-engineer.jobspec.yaml
neksus-jobspec spec render jobspecs/backend-engineer.jobspec.yaml --format web
neksus-jobspec themes
neksus-jobspec themes show soft-professional

Development

uv sync
uv run ruff check .
uv run ruff format --check .
uv run pytest
uv run pytest -m integration && uv run python -m mkdocs build --strict

Development build commands

python -m pip install --upgrade build twine
python -m build
python -m twine check dist/*
python -m pip install --force-reinstall dist/neksus_jobspec-*.whl
python -c "import neksus_jobspec; print(neksus_jobspec.__version__)"

Release process

Create and push a semantic version tag to trigger publishing:

git tag v0.2.0
git push origin v0.2.0

You can also run the publish workflow manually from GitHub Actions (workflow_dispatch).

Release notes are maintained in docs/release-notes.md, with compatibility expectations defined in docs/versioning.md. See full change history in CHANGELOG.md. Security reporting and support policy: SECURITY.md.

PyPI publishing notes

Publishing is configured through GitHub Actions Trusted Publishing (OIDC) in .github/workflows/publish-pypi.yml. No PyPI API token is used by the workflow.

License

Licensed under AGPL-3.0-or-later. See LICENSE.

Contribution policy

This repository is owner-maintained and does not use a public external contribution workflow.

Testing Strategy

Three required layers:

  • Unit/CLI layer: uv run pytest -m "not integration"
  • Smoke layer: uv run pytest -m integration && uv run python -m mkdocs build --strict
  • Integration layer: uv run pytest -m integration

Recommended local sequence:

uv run pytest -m "not integration"
uv run pytest -m integration && uv run python -m mkdocs build --strict
uv run pytest -m integration

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neksus_jobspec-0.2.0.tar.gz (45.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neksus_jobspec-0.2.0-py3-none-any.whl (59.9 kB view details)

Uploaded Python 3

File details

Details for the file neksus_jobspec-0.2.0.tar.gz.

File metadata

  • Download URL: neksus_jobspec-0.2.0.tar.gz
  • Upload date:
  • Size: 45.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neksus_jobspec-0.2.0.tar.gz
Algorithm Hash digest
SHA256 866ec75fa193d3b6b5e20bdef67766d3338e36a06a266eecfb012029f6fa278c
MD5 ffb98796ad685b1db2cbabe4b1f98a37
BLAKE2b-256 193bbac882901c9c06dbb8dc2fe7b73f5d5e53fffcc03bd7b3760b1e0f47680e

See more details on using hashes here.

Provenance

The following attestation bundles were made for neksus_jobspec-0.2.0.tar.gz:

Publisher: publish-pypi.yml on NeksusAI/NeksusJobSpec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file neksus_jobspec-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: neksus_jobspec-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 59.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for neksus_jobspec-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ed3bcab975f83a370ff73a5a5b827e5e600280c046c0850b2e2ec01f1ae9c11a
MD5 5514ca7f1857ac8f58edd7ef0ca06124
BLAKE2b-256 ba5c31bcf9f5f2c1d4be8786ce976e367dbf681d6a8f178f0421b08bde7378c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for neksus_jobspec-0.2.0-py3-none-any.whl:

Publisher: publish-pypi.yml on NeksusAI/NeksusJobSpec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page