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).
  • 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.0.1.tar.gz (226.3 kB view details)

Uploaded Source

Built Distributions

portmod-2.0.1-cp39-cp39-win_amd64.whl (988.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

portmod-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9 macOS 10.15+ x86-64

portmod-2.0.1-cp38-cp38-win_amd64.whl (987.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

portmod-2.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8 macOS 10.15+ x86-64

portmod-2.0.1-cp37-cp37m-win_amd64.whl (984.1 kB view details)

Uploaded CPython 3.7m Windows x86-64

portmod-2.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.7m macOS 10.15+ x86-64

portmod-2.0.1-cp36-cp36m-win_amd64.whl (984.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

portmod-2.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.5 MB view details)

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

portmod-2.0.1-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.0.1.tar.gz.

File metadata

  • Download URL: portmod-2.0.1.tar.gz
  • Upload date:
  • Size: 226.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.13

File hashes

Hashes for portmod-2.0.1.tar.gz
Algorithm Hash digest
SHA256 c3c75471a59509d76f883ddfe348e5ebbe0c932caaf8e50f4d056201a1ac48fe
MD5 8fbcf411fcbabf849f58fe1eb9279a37
BLAKE2b-256 13ef91146adaa4fa1f852aafa214307a9756083e7531e7a66877c7fbcca0ee47

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp39-cp39-win_amd64.whl.

File metadata

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

File hashes

Hashes for portmod-2.0.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 13a421237f4473b7ac5ee71388d6956718df52ee4a6e8981806527f0a5037265
MD5 a10d268713ae36bcd7a592a1e842cd1f
BLAKE2b-256 6d3d8555e552db3fbdc5f19d6d1fd1f456d98f420fd54cf28bc864616bd255c0

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for portmod-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bd902f7c33dfd04ae5655546db817991b845db7dba473cc47c7792e190a6062b
MD5 b03c1525523b96118e5d08dba1727a96
BLAKE2b-256 d7e4f9c55d543fd80fb1d1d0f312325543b11bc9d55f15a7c42a0843cfec996c

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.0.1-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/57.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c077f2b1232b81256cc89c0d20bb2f5c1741f19c1d239312ad30cbe3fe13ca38
MD5 d47185df467fea8bbc33ff29a6483315
BLAKE2b-256 1a2a590595ce72a1f158217415dafd439aca51983af30374a9a8f0831ef9c8e3

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp38-cp38-win_amd64.whl.

File metadata

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

File hashes

Hashes for portmod-2.0.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 89523046d61f5a997c5ee53f098d3346dde69ffddf1638c5ba2690314d3f0176
MD5 e5cc268179fae318bc00b0eeb2c5d651
BLAKE2b-256 834517c2954bb69e963356d7a7cae0c0b7d1f16d59f81f3b95f2b182ffeb09c6

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for portmod-2.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81bf27d63c5a2a2d7f931f7db677e66ed19e23f46841f8bfb864c2611042501c
MD5 a6af8f6bea2b74cc19562df0a274a18e
BLAKE2b-256 084c74f88df4538b726780722ab6cd73fbae36a06efb7ce0690a0f6130c3dd2f

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.0.1-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/57.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fa947940a04f269a8e0e2c9f0ce4b9108f4044e19390131835ac02c5ae699406
MD5 0a92c2d78dd8204ef8d358da763277fc
BLAKE2b-256 c470b70872de0769d32ca7e875d7ec5adc648de52d795ee2648849f001f3fc11

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp37-cp37m-win_amd64.whl.

File metadata

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

File hashes

Hashes for portmod-2.0.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 84790cb042dbe700ea54fab76cb32ab80d4adbdfd535453c3ded7305fbaeb50d
MD5 4af51785e2226a0f04c369bc23fc8b93
BLAKE2b-256 e7a2d880cb561791a043bc57a46c444e4aa59f39687bedb3ec3d3ff1d5a9b72b

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for portmod-2.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 64af4f93c87ed466a3733167207b5efca9056a3e9580fcec6632e4374213af4d
MD5 bd5d2524207cdb5fc299962b373538b9
BLAKE2b-256 b70be90d76a5edca862dec3e670f383b21a53f32ac0a196f5fbb56dde47e534a

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp37-cp37m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.0.1-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/57.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0.1-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e56dc17127ffca591bd23a1faa3afaa7118ddab2f5f1dde2b734c25058608888
MD5 dc84792dfdea499092f583e22ae41fbb
BLAKE2b-256 dc92d9b8ec99837c9a0da30210aad575f92cb2538da851b60db146f01bcb0103

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp36-cp36m-win_amd64.whl.

File metadata

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

File hashes

Hashes for portmod-2.0.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 1c105ea2d376b7aadc188840f39409a693357acd8ee45a0cf514874d7fea1a58
MD5 ed883ed09ba6c114f5ce73fbceba0eff
BLAKE2b-256 f33cea0c7fc3c8a92bb2eba1d98a8a5e4ffc016c96d1d9ce24db8120fe981935

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for portmod-2.0.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4701820b9a03725bb2e49fc08ce02e6e2d304834a1905aad8c6c272bdd479cb2
MD5 4bd47be5d9723a9fb32cdf9c178f15f2
BLAKE2b-256 951581bbb067b74b8e436ea91463ac0657c0322b8a2301b6c912ad6adbdde64d

See more details on using hashes here.

File details

Details for the file portmod-2.0.1-cp36-cp36m-macosx_10_15_x86_64.whl.

File metadata

  • Download URL: portmod-2.0.1-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/57.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0.1-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7cfb7885d6978e65bff5319d17cf3cffc46e2fce70d7d0a81727d2ed314887ad
MD5 2078c32e6412ed764e876f75f79f5c12
BLAKE2b-256 dfa716156e5bb2f798ca14bc640dda1e2c21181028e569b6656e4613a0ff2084

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