Skip to main content

A CLI package manager for mods

Project description

Portmod

pipeline coverage PyPI Code style: black Supported Python versions Chat Checked with mypy Imports: isort pre-commit Contributor Covenant Translation status Rust Version

A cross-platform cli package manager for mods. Based on Gentoo's Portage package manager.

See the Documentation for details on Installation and Setup, and the Wiki for supported Game Engines.

Portmod is a community more than it is a single tool. As there are far more mods in existence than could possibly be packaged by the developers of portmod, we rely on community contributions from users to keep the mod package repositories accurate, up to date and relevant. See the game-specific guides on the Wiki for details regarding how to contribute.

Features

  • Automatic Downloads (where possible): If direct links are available to mod archive files, portmod will fetch them automatically. As many mods have restrictive licenses and are distributed via sites which do not provide direct links, this is not always possible.
  • Automatic patching: Mods are organized into packages which contain both the base mod and any necessary patches. Patches can be configured (in the package) to only be installed when certain other packages are installed, so that all you need to do when installing packages is choose the ones you want and all necessary patches will be included automatically.
  • Automatic Configuration: Mod packages can declare optional features (called Use Flags), which can either be independently enabled/disabled (local flags), or enabled/disabled along with other packages which share the same feature (global flags).
  • Structure Awareness: Portmod's package files contain information about the directory structure of the archives which explain precisely how the mod should be installed.
  • Automatic sorting (OpenMW): The install order and the load order of plugin and fallback archive files are sorted automatically based on rules defined in the packages. These rules can be customized with user rules.
  • Automatic updates: When mod updates are released and new package files are created in the portmod repository, you can find and update all your installed mods using a single command. Due to portmod requiring more information than upstream sources usually provide, will be a delay after the upstream mod is updated while new package files are created.
  • Dependencies: Portmod will automatically install dependencies for the mods you ask it to install.
  • Mod collections: Portmod supports both metapackages (packages containing lists of other packages which are distributed in the repository), as well as custom package sets (easy to set-up package lists that exist in the user's configuration).
  • Multiple Game Engines: Portmod just defines the package format and installation process, and has a programmable interface to allow custom game-engine-specific configuration. A list of supported Game Engines can be found on the Wiki.

Communication

Release announcements and other major news will be posted to the announcement mailing list. This list is read-only (see below for the list you can contact).

There are a number of ways to communicate with the developers and with other users:

Packaging status

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

portmod-2.9.1.tar.gz (436.9 kB view details)

Uploaded Source

Built Distributions

portmod-2.9.1-cp38-abi3-win_amd64.whl (6.6 MB view details)

Uploaded CPython 3.8+Windows x86-64

portmod-2.9.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

portmod-2.9.1-cp38-abi3-macosx_14_0_universal2.whl (7.2 MB view details)

Uploaded CPython 3.8+macOS 14.0+ universal2 (ARM64, x86-64)

File details

Details for the file portmod-2.9.1.tar.gz.

File metadata

  • Download URL: portmod-2.9.1.tar.gz
  • Upload date:
  • Size: 436.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.20

File hashes

Hashes for portmod-2.9.1.tar.gz
Algorithm Hash digest
SHA256 72b33511e366b087f256bbf349505b99cd8b1148052bbf56b0729a5baa265d6f
MD5 0090d9aaf7787d6845e32e857d0bbc56
BLAKE2b-256 47178404690014d3efa18fc3fded439306a4d29187afe48bb58506e711c6ddf6

See more details on using hashes here.

File details

Details for the file portmod-2.9.1-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: portmod-2.9.1-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 6.6 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.10

File hashes

Hashes for portmod-2.9.1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2139e32274d55dd5abe06f319a618c8a1cfeb7f1eb91b6275a3b64754515c407
MD5 2421ec8901bf7d6dd4b6cef3ea4bd737
BLAKE2b-256 0239ce0100023d3a4e0b0c4333bc86cec993b4a75933e7086dce49a34a68c537

See more details on using hashes here.

File details

Details for the file portmod-2.9.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for portmod-2.9.1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 efc47b6465823c1198c59644f42ce16124e6998431a5bd29183f0e470860f8b3
MD5 6c4569e203017872a50b51cb15fd6e84
BLAKE2b-256 669a0b3a32d8a9796cb03bca9822b63b970b6ba8b6f64432238bd65d9f2e9ad0

See more details on using hashes here.

File details

Details for the file portmod-2.9.1-cp38-abi3-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for portmod-2.9.1-cp38-abi3-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 fbaafcd0a3b5ae986e9e421a4d689b060258ebcf66006f2dd45fcac397005b03
MD5 c379041f9c65c51806a1ab6231f6c000
BLAKE2b-256 4c9812d5fbfa5e207994026ff8a8832b29d4b50d031cf0548966c6c6d4d55bf6

See more details on using hashes here.

Supported by

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