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.0rc8.tar.gz (211.6 kB view details)

Uploaded Source

Built Distributions

portmod-2.0rc8-cp39-cp39-win_amd64.whl (987.9 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9

portmod-2.0rc8-cp39-cp39-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

portmod-2.0rc8-cp38-cp38-win_amd64.whl (988.4 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8

portmod-2.0rc8-cp38-cp38-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

portmod-2.0rc8-cp37-cp37m-win_amd64.whl (988.2 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m

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

Uploaded CPython 3.7m macOS 10.15+ x86-64

portmod-2.0rc8-cp36-cp36m-win_amd64.whl (988.4 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m

portmod-2.0rc8-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.0rc8.tar.gz.

File metadata

  • Download URL: portmod-2.0rc8.tar.gz
  • Upload date:
  • Size: 211.6 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.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc8.tar.gz
Algorithm Hash digest
SHA256 f2dca59ea9bf950c8daee80cce112ed8066b6907d8861449a929d313b1c732d9
MD5 f1013cbd4a5be53805ab9da11885d148
BLAKE2b-256 6cd9974dfd5ddc4adb7ccd1b348278cb2ad994962f81868b5f721101be5907ef

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5d8210c8ff2a4e5c771a13a9750e3ff1680727f2cb9e718946d96b7a9cb5f763
MD5 684cb381a335de60ee54e6bb14e68457
BLAKE2b-256 87ca5e00ee370007e56adbeb56bc6b548980bdc05d534d1c18d9cc246800ff52

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc8-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.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc8-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a117af1870cbc61b1643f255fa4e4e59fb8a4962477b721c4f9ec6d811048178
MD5 24d1ec56367e5322dc85d81363d7052a
BLAKE2b-256 7cb43a80c89e101b4984cbf0d0a883368487f9e216d1d266eec8a095d0f20872

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc8-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.2 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.0rc8-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 8fb2af83b4ba7eaa81276d22f6a359f545a2fe4bc24509a379b8483c31d4fadc
MD5 8ce975fbf9390a2331c205a10d22620d
BLAKE2b-256 411c56551931fce6e9a1acfc9fef81ab45db2a4d4e81dc669ecc4dcef29ac91b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dc855023684725a463df7f1069c3610abc0804f461558a52ba9212f847f8f73e
MD5 8a03a0b9fd35ed72ca0a8d72eab2d013
BLAKE2b-256 884cf80d7d3166f6b0038d41d5415a774342d1df6845768415bdd969880d7e79

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc8-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.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc8-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 01a2be02709b479c35fa3d422aa531c5ba59a0ec868054454d8a146083f9f435
MD5 d3e74e051f8827d2853b14e3461f4711
BLAKE2b-256 d5116e5560e53345cf6ed4150ac87b8f890b5fa9f8b97ed9168a4510a10103cb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc8-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.2 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.0rc8-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e1f56e703755c5b414c05d035c13165a0b588ecc92e505bdf52a268b281ef19f
MD5 4e7ed84d5ba433377374608e5a5007fe
BLAKE2b-256 d6fc7f7502e157417d6a86da481b0652b5b013a1f907c220f5aa6fb8413088b6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc8-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 236dda4615bc902fb8f930c73073364a6cd0a9de904ce0866e87729a2492cf10
MD5 bb28dede06c0f2accddb3e27a7037791
BLAKE2b-256 3fafe1b8b009816d31f9f8a93f03e3563b04eb3eb511d5540d4b1bea1c6b7a5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc8-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.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc8-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 68358a6f8400776526b51647cb51d69349a3e9e495e678e891338b0961c18527
MD5 09c5eaefdcc3eab402fa1a0219a527f8
BLAKE2b-256 d4609642456457e74b26367c4452c9a78cc54d62c7a2d595165aee8803555b74

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc8-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.0rc8-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0af35a5ce92b75dbd4e41fca842aff6dd5f0457561e472c4a63b78a9c37c63b0
MD5 79b5a5de0c1667f67d569b61c8e05ee7
BLAKE2b-256 733bce1d70dd18e5b60b1158c0aefd3a8e3debeeeefe5be681571bb8f6f4e8f2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc8-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ca928014befc4e154f05c20c004abf598843466e609de116f14ccaeb301e0c03
MD5 09af6e0b64810c8e20093ead48fb3a28
BLAKE2b-256 7645cda2c441a6f7d82a520272887a942cf82b21e3bdc85a834b4f0c85a813d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc8-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.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc8-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9e96ce4de0fe09c113da1ce9672ee8f55db3974f352c6856984be23b3ac61f11
MD5 a7a712e65e019bccced2fde9c8c8b759
BLAKE2b-256 b2f3eaf854500eb43b6445801a08062aa66e14992946cc03a53b86ef2c0e1304

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc8-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.0rc8-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 011ebbbb79f1309f85d8ac50fa8df636c07f1a5cf0881d3975b2a7e24761a5a1
MD5 190d21272b18fc2c65c2b2a416255669
BLAKE2b-256 8ed18a1d048c1a03cec882a9f8dd9b3ee71aa024c0f2994b3cec3f8e8a0d2ac9

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