Skip to main content

NAPT - Not a Pkg Tool

Automated Windows application packaging and deployment to Microsoft Intune using PSAppDeployToolkit

License Python 3.11+ Code style: black

Overview

NAPT is a Python-based CLI tool that automates the entire workflow for packaging Windows applications and deploying them to Microsoft Intune. It runs on Windows, Linux, and macOS, though packaging (.intunewin creation) requires Windows.

📚 Full Documentation | Quick Start | User Guide | Developer Reference

Why NAPT?

Packaging applications for Microsoft Intune with PSAppDeployToolkit (PSADT) typically involves a manual, time-consuming process:

  1. Manually check for new versions - Check vendor sites/APIs for updates. Easy to miss versions or waste time when nothing changed.

  2. Create PSADT deployment - Copy template, manually edit Invoke-AppDeployToolkit.ps1 with variables, configure install/uninstall logic. Error-prone and repetitive.

  3. Create detection and requirements scripts - Write PowerShell detection and requirements logic, test thoroughly, maintain version checks. Must update for each new version.

  4. Package as .intunewin - Run IntuneWinAppUtil.exe manually, manage paths, handle errors. Tedious and error-prone.

  5. Upload to Intune - Upload package via portal, fill metadata, configure app info and requirements manually.

  6. Configure deployment - Set up rollout assignments manually for each version.

This manual workflow is repetitive, difficult to automate in CI/CD pipelines, lacks version tracking, and requires re-doing most of the work for every update. NAPT automates this entire workflow with YAML-based recipes and automatic version tracking.

Key Features

  • ✅ Automatic version tracking - Automatic discovery from MSI, EXE, URLs, or APIs with caching to skip unnecessary downloads
  • ✅ YAML-based recipes - Define app packaging once with layered configuration (Organization → Vendor → Recipe)
  • ✅ Automated PSADT packaging - Generate Intune-ready packages with detection and requirements scripts, no manual template editing
  • ✅ Cross-platform workflow - Run on Windows, Linux, and macOS (packaging requires Windows)
  • ✅ Direct Intune upload - Upload to Microsoft Intune via the Graph API, no portal required

Cross-Platform Support

Feature Windows Linux/macOS
Discovery & Download ✅ ✅
PSADT Package Building ✅ ✅
Intune Packaging ✅ ⚫ Windows Only
Intune Upload ✅ ✅

See the Cross-Platform Support section for platform-specific workflows.

Getting Started

See the Quick Start Guide for installation and setup.

Creating Recipes

Recipes are YAML configuration files that define how to discover, download, and package applications.

Example recipes:

  • chrome.yaml - url_download strategy with MSI version extraction
  • git.yaml - api_github strategy for GitHub Releases
  • 7zip-x64-msi.yaml - web_scrape strategy for vendor download pages

Note: The recipes/ and defaults/ directories in this repository are working examples used for development and testing. They are not included in the pip package. Run napt init to create your own workspace with a starter org.yaml.

NAPT supports multiple discovery strategies (url_download, web_scrape, api_github, api_json) - see the Discovery Strategies guide for detailed configuration and more examples.

Contributing

Ideas and feedback are welcome! See Contributing for guidelines.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Author

Roger Cibrian

Acknowledgments

Release files for napt 0.6.0

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

Source distribution (sdist)

Source distribution for napt 0.6.0
File Size Uploaded
napt-0.6.0.tar.gz 117.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for napt 0.6.0
File Interpreter ABI Platform
napt-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 274.2 kB

Release files / napt-0.6.0.tar.gz

Download URL napt-0.6.0.tar.gz
Size 117.4 kB
Tags Source
SHA-256 checksum
How to use checksums
98c5e1bd5be1a9d61842b7aeb45a80f9abc8256c33b9656bccef73d43f2e2521
BLAKE2b-256 checksum
How to use checksums
b5defe76d123da6b26e8f6730a747d569ebc3685e6f9b62f1b7ebccb990f46ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 4, 2026.

Transparency log

Release files / napt-0.6.0-py3-none-any.whl

Download URL napt-0.6.0-py3-none-any.whl
Size 156.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3d0de30a908ee7d2ed31529ce6097679def0e3521ca8b2d39a9a150fa79a840
BLAKE2b-256 checksum
How to use checksums
1b45593eb673a96dbb889aeec7a8f1cd87996cbae68a2e21eea22d68e0266b09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 4, 2026.

Transparency log

Release history Release notifications | RSS feed

0.11.0

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

This release

0.6.0 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

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