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

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

Currently the only supported game is OpenMW, via the openmw-mods repository.

See the Wiki for 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).

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.

  • Support for other game engines: Support for other engines is already feasible (portmod's implementation is fairly generic), but restricted by the lack of support for installing into a single data directory. Currently games must support per-mod data directories.
  • 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.0rc7.tar.gz (209.8 kB view details)

Uploaded Source

Built Distributions

portmod-2.0rc7-cp39-cp39-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

portmod-2.0rc7-cp39-cp39-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9

portmod-2.0rc7-cp39-cp39-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

portmod-2.0rc7-cp38-cp38-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

portmod-2.0rc7-cp38-cp38-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8

portmod-2.0rc7-cp38-cp38-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

portmod-2.0rc7-cp37-cp37m-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.7m Windows x86-64

portmod-2.0rc7-cp37-cp37m-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7m

portmod-2.0rc7-cp37-cp37m-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m macOS 10.15+ x86-64

portmod-2.0rc7-cp36-cp36m-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.6m Windows x86-64

portmod-2.0rc7-cp36-cp36m-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.6m

portmod-2.0rc7-cp36-cp36m-macosx_10_15_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m macOS 10.15+ x86-64

File details

Details for the file portmod-2.0rc7.tar.gz.

File metadata

  • Download URL: portmod-2.0rc7.tar.gz
  • Upload date:
  • Size: 209.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc7.tar.gz
Algorithm Hash digest
SHA256 d1fe5543035e5a0daac3ab997dab33877565f5aad992eb74543e1bd3022e1a51
MD5 c269236bd12071e1f1d2517b6066be8f
BLAKE2b-256 b8a2f236f757085305aae3840b77b1a734fb407528ca9be1d86d4762cdbb9e95

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 40875b3fda019e344eb7a7cd1564f8cbc6d8c626b231d191cc610297d146263d
MD5 33fe866580778092f02903637282d373
BLAKE2b-256 41eded846d3ca45006bafd32544a490b9028eb0491e6d6cd337cc86e07a6db58

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc7-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1e6ae81637aa02d081f02619218eac60b7a674c8d63e32d7a18c0b0fd58da1bf
MD5 9af7393a4a2d0644ad2a04f54f8d0501
BLAKE2b-256 274cd85b4478f5026d860fa764968edbce9a54e837a7811bcc1737354342a601

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0rc7-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 809b846cb8ef10a1d1599c4b8efcc79095080d1a0f4f4072e789d5629dfc31df
MD5 e9a548b1da62999449d7ec3fded26bd2
BLAKE2b-256 0f674c27dce0c0ebb35001ca60e81bb446755d2f69a5d116d732596e22739703

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 9cf3b461240da673873f0c6b360b4873984a9626c16bec2ba0b35a15539f6dc3
MD5 4cb2f52fb460301c734b3f1d234af6a9
BLAKE2b-256 791440c14571e9ec866038adde404ff459d8d702fb3b1c72704e0d0179e73c85

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc7-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd51268468c9a9572030351cf606ef2683eca4cdf5421e20aa9cf4de6166e473
MD5 346f3b05a89ad5178c510a4fab5b26bb
BLAKE2b-256 ad465ae095fcdae3bac3507992af48f3d6e8e0ce0576a1ab6cafc6adb599b9ff

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0rc7-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 58390f25ed28d72bfdb110e7d1e64ff2559562a8c74748776f7f855b08054a1f
MD5 ed23efd6ce7b84d57370b71c0f65286f
BLAKE2b-256 2674d47134edb4117e96dd1d7db1a2d635ccc5aad2e131c566415bb5d0db6944

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc7-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 238a0055e49ac253ea32282f976517e97f9461208c52c80dadbb6e4e4582f5c4
MD5 4dfae6cea3995aed9bd03ec59039b0ec
BLAKE2b-256 9e970577f95afc7acf23c2589055d2a8e3134409e734ce01b3f8cbccd2e4e8ae

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc7-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7746eaba8262f94a35e2b26b3cfc83ba5436fb7d86eaaebda0fddca85d7db15a
MD5 cf2a248e6728feb999f7aa3774ba0db8
BLAKE2b-256 e43a190fe9a99fc556b5c432c29041f0fec7a0d588c8b737ea15587810cd5d7e

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0rc7-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b8fe0692d7b86838fdb00c2f9fb8ae5caa90f2bfae3dd74f8851b7d8cba9526f
MD5 af32d2dc0006af0a03088e3357711fe5
BLAKE2b-256 4e7bb2ef4a2f25886a4a8a4fa78d4101934b82db13f1198b27df057caeb704a9

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc7-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 106ceb75ac0f0bc3918bf52d979f46ba432a5552532564bece42f3ac8729b7da
MD5 a8416bfc22cdc6a46a7e4d9c500b6dd4
BLAKE2b-256 48444705c11000aa5b7dfb7002935f84e802c00a7741bfa102f3250cfa9476bb

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc7-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c82baf7cc24b7b0ed2118b1ae6de332aabd257de793688cd674556efd118f57
MD5 2d05743782bfffc5e88737fa55c2ab69
BLAKE2b-256 b31ab8d9b76ed96e62e3a08183bb7c0f9a86cb3f39c9d13e0e3092da96f8fd3e

See more details on using hashes here.

File details

Details for the file portmod-2.0rc7-cp36-cp36m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.0rc7-cp36-cp36m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.6m, macOS 10.15+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0rc7-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 425b85f8ae0236b43c06018f7396c75affeaba7471443ed1dcdc30f768516bbf
MD5 adb682ee00f654f7259e324ee00f4f1c
BLAKE2b-256 4743232e7bf98d3d3e6682a2925d790b3537cb245d7cd2848b448bfb6cfa0cb0

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