Skip to main content

A CLI package manager for mods

Project description

Portmod

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

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

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

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: 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.

Installation, Setup and Usage

See the Guide on the wiki.

Future Plans

This list is updated infrequently. See the Issues for up-to-date information.

  • Mod packaging and submission: Support for build files being distributed with mods and automatically submitted to a repository using a cli tool.

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.2.3.tar.gz (250.9 kB view details)

Uploaded Source

Built Distributions

portmod-2.2.3-cp36-abi3-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.6+ Windows x86-64

portmod-2.2.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB view details)

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

portmod-2.2.3-cp36-abi3-macosx_10_15_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.6+ macOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: portmod-2.2.3.tar.gz
  • Upload date:
  • Size: 250.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.15

File hashes

Hashes for portmod-2.2.3.tar.gz
Algorithm Hash digest
SHA256 6d51ca9634e584f53642dbef4b3e2da702a5e23e470a9affc6240850277fd727
MD5 334d7ea9adffd5cec48b28de84afa24f
BLAKE2b-256 98264f12304e9d9e66af45b1017a9c49cd2a9068aec7b014062a1803d5d6ef1e

See more details on using hashes here.

File details

Details for the file portmod-2.2.3-cp36-abi3-win_amd64.whl.

File metadata

  • Download URL: portmod-2.2.3-cp36-abi3-win_amd64.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: CPython 3.6+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for portmod-2.2.3-cp36-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 19aef34b4571fd9dfb5570dc10e394fccf636f4284f524a8d56934fe07fc7342
MD5 0d64445a183715f15da80d977c01a412
BLAKE2b-256 076b25f8be250a072cc70f755ea7f8719444c78f443dafa37229f6ddd82faf0c

See more details on using hashes here.

File details

Details for the file portmod-2.2.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for portmod-2.2.3-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5101e8ad7b8a261f3f2a8b62bea74d526b8a4f32a8a26cc6929d6709df4d7cd
MD5 3e5fe254d6cec352bf298af5162fc3dd
BLAKE2b-256 7b5ca4ab396fec400e44e32e7b650f16d7271959ffa135a23b23de68b9c9f70c

See more details on using hashes here.

File details

Details for the file portmod-2.2.3-cp36-abi3-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.2.3-cp36-abi3-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.6+, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for portmod-2.2.3-cp36-abi3-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f04444591476851a9dd599767220171d69184a0577906ef340795468bc288c0d
MD5 27a6ef813ec3ff5eb5e4f7c2e1388d3d
BLAKE2b-256 cca2bfc8f9545d0a1f1151fec783cd147701e7b4dce04ed712c27acd24ff8c5a

See more details on using hashes here.

Supported by

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