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

# 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

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

# 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

# List installed versions
ninman list-versions

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

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

# Rollback to the previous version
ninman rollback --previous

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

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

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.0.tar.gz (28.9 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.0-py3-none-any.whl (42.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: net_install_manager-0.1.0.tar.gz
  • Upload date:
  • Size: 28.9 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.0.tar.gz
Algorithm Hash digest
SHA256 d200f3154d769f2722148d425ec73e4ec6b2f0ddd37784e3008bec46816f04f6
MD5 cd9c7fae89eaa2811e45411dd1f810bd
BLAKE2b-256 5d81f282cc2d9e6091b8ab2935c3bc0490fbf7df2db1a4da80962e4a2829d8f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_install_manager-0.1.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for net_install_manager-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9a0cb3a957d6190fe4fd94b2ee37a46964bbbf48fbdafb91692a47b40b52a11
MD5 820823df0bb48bbf18d9dacb46627136
BLAKE2b-256 c8e9ce5ad314db012b1f5707508b9843a420e5235ce38c41856152c77ddbc57c

See more details on using hashes here.

Provenance

The following attestation bundles were made for net_install_manager-0.1.0-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

0.1.1

2 files

This release

0.1.0 This release

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