Skip to main content

Net Install Manager (ninman)

A CLI tool (installable via pipx) for managing installations, rollbacks, versioning, and uninstallation of .NET console applications across Linux, macOS, and Windows.

Features

  • Source, Pre-compiled & Git Support: Install directly from .csproj source, pre-compiled binaries (DLLs/EXEs), or remote Git/GitHub repositories.
  • Cross-Platform:
    • Linux / macOS: Installs to ~/.local/lib/<app>/<version> (or /usr/local/lib for system), atomic current symlinks, and launchers in ~/.local/bin.
    • Windows: Installs to %LOCALAPPDATA%\<app>\versions\<version> (or Program Files for system), current directory junctions, and .cmd + bash launchers in bin/.
  • Version Management & Rollback: Automatic version detection (csproj, git tags, binary --version), version regression checks, rollback to previous versions, and version pruning (--versions-to-keep).
  • Application Registry & Upgrades: Track installed applications and upgrade them directly (ninman upgrade <app> or ninman upgrade --all), including fetching the latest Git commits/tags.

Installation

pipx install net-install-manager

CLI Usage

Installing an Application

# Install a prebuilt asset from a GitHub release
ninman install-release owner repo --asset-pattern "{rid}-{version}"

# Install from a local .csproj file or current directory
ninman install
ninman install ./src/MyApp/MyApp.csproj
ninman install ./dist/MyApp-v1.2.0

# Install directly from GitHub / Git repository
ninman install https://github.com/owner/repo.git
ninman install owner/repo
ninman install owner/repo@v1.2.0

# Multi-project repositories: select a specific project via subpath or --project
ninman install https://github.com/owner/repo.git --project src/CliApp/CliApp.csproj
ninman install https://github.com/owner/repo/tree/main/src/CliApp
ninman install owner/repo#src/CliApp

# Install as self-contained with version pruning
ninman install --self-contained --versions-to-keep 3

# Force installation / reinstallation of older version
ninman install --force --app-version 1.0.0

Application Maintenance

# Upgrade an application or all tracked applications
ninman upgrade myapp
ninman upgrade --all

# Rollback to the previous version
ninman rollback --previous myapp

# Rollback to a specific version
ninman rollback --target-version 1.1.0 myapp

# Uninstall a specific version or everything
ninman uninstall --target-version 1.0.0 myapp
ninman uninstall --all

Installation Status

# List all tracked applications managed by ninman
ninman list-apps

# Describe the installation details of a given application
ninman app-details myapp

# List installed versions of a given application
ninman list-versions myapp

GitHub release installations discover ninman.yml, ninman.yaml, or a .csproj from the unpacked release asset. Private repositories can use NINMAN_GITHUB_TOKEN, GITHUB_TOKEN, or GH_TOKEN; tokens are used for requests only and are not stored in the application registry.

Configuration (ninman.yaml)

app_directory: my-app
binary_name: myapp
source_binary_name: MyApp.dll # or MyApp.exe
csproj_path: src/MyApp/MyApp.csproj # optional

Download files

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

Source Distribution

net_install_manager-0.1.1.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

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

net_install_manager-0.1.1-py3-none-any.whl (42.7 kB view details)

Uploaded Python 3

File details

Details for the file net_install_manager-0.1.1.tar.gz.

File metadata

  • Download URL: net_install_manager-0.1.1.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for net_install_manager-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ff149ad6168948e76c0a96e013b27ddbc822041c5d24ef5dcdca26d55d9093d1
MD5 939abc93edbe792065c5c8b72e9e2d90
BLAKE2b-256 ca9ed7e739b3cac6f8002e07edff982bf5b21bbd3563496f2cb0faf8e754d806

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_install_manager-0.1.1.tar.gz:

Publisher: release.yml on tcfoss/net-install-manager

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

File details

Details for the file net_install_manager-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for net_install_manager-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 925034a1da2dc9336ee6b30ea9f8e2db8cbeb1afd644d9729ba677de9c14752d
MD5 770127e88e9e479b30b4616dab660ca6
BLAKE2b-256 1d416c270fdc88547b18d0351c27da6c38772b0e4b509cfecc38d8172f79b89b

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_install_manager-0.1.1-py3-none-any.whl:

Publisher: release.yml on tcfoss/net-install-manager

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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 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