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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

portmod-2.1.0-cp39-cp39-win_amd64.whl (967.1 kB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9macOS 10.15+ x86-64

portmod-2.1.0-cp38-cp38-win_amd64.whl (966.1 kB view details)

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8macOS 10.15+ x86-64

portmod-2.1.0-cp37-cp37m-win_amd64.whl (966.0 kB view details)

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.7mmacOS 10.15+ x86-64

portmod-2.1.0-cp36-cp36m-win_amd64.whl (962.3 kB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.6mmacOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: portmod-2.1.0.tar.gz
  • Upload date:
  • Size: 235.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.15

File hashes

Hashes for portmod-2.1.0.tar.gz
Algorithm Hash digest
SHA256 5c71a104afd2d9aa458d9b8240ded09eb9ac80a36e25ade7ff48318ef9756fb7
MD5 1bd306fc6e5555c89ce15f381efca3fe
BLAKE2b-256 9130638c4c2965cd4d8747d76e4c08676cec44e12fbfca0ec2866ee4b7fea1a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 967.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.8

File hashes

Hashes for portmod-2.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 12dc1447d9f57819a6889d0b0d58793e3d9fc823348b31bb7d71569b7127647b
MD5 b3b01fea96902f6fba707bc61eee1016
BLAKE2b-256 72b64e3215dacf93d1f2d1a874de2d2a1ef1cc1756c0b4f5673b234964c6f6da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 177ae254a4e14d02bc0b10cf4f897880eba326fe0413b1d0c4bd76c7218d1966
MD5 a0783f939140ed4bb8d5f05960feb47c
BLAKE2b-256 3bd3d92be7beac322b1dbf35a1ce0917d098b4ea78fa6a04914880d992afed21

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.0-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.4.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for portmod-2.1.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a177b1bce0b9dead4a9de43021c6f8ed1f0e3ce8b7f24d2799c60e6f966b8499
MD5 1acb61e552b92cba5f9fd55f6971a1cc
BLAKE2b-256 232622eba27a5f921eb7a7da415a44f5f47ebac5c71545030cb2949fb2155a05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 966.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.8

File hashes

Hashes for portmod-2.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 84258f13c45b4c0769bbbf453f4687e35c757db0651a2e80c7b77dad1bcd68c8
MD5 9bfe11c8a1201cc0044e027e8f5161fa
BLAKE2b-256 4e382be1f3e110194be63a851fa5331973c8d648e68b0db8bee75f508419e4b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b9c51cb9312440f36d7bac675c2d25cb0fcbd3b8a1b0d366a078d5234f25d23c
MD5 3d0bc0ae40daf1a28e31b5649a5e9f0b
BLAKE2b-256 4c2309ca9c61c360ee68e83e91d0e4072b416dfc6e554f0ca9a2d84ef7134a5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.0-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.4.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for portmod-2.1.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 127dea5a789ddcdcf1225fc47aa67ede99829849f74fa20f6b4fd57f94d1c0c9
MD5 21668c29cd2fef35c903e6f7cd79a74a
BLAKE2b-256 03e1299734f220499caf5d0089918ed3d4cade83a4dac49846bf09f0bf49fa45

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.0-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 966.0 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.8

File hashes

Hashes for portmod-2.1.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 513d4e572d8f04ec93fe1104f7997701efa66fd62e990dbdfcc6ee2410a07dd3
MD5 1cea5565d590d8b86a8ba7c321d7bc24
BLAKE2b-256 ca8cbe09fd769ed62a1f90b493a7181ddaff003b9e35f9040871f3122162c2f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32646111de6bb5a5eb31ed0b6886976d1c193bd655c625e94629c1079bd6e9b4
MD5 ab53674a981651070535a362844ac7d4
BLAKE2b-256 5c76fddd7b41849fc1bf6a5445a70d7250ffdf07fc99514fc01274c94a270b5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.0-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.4.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for portmod-2.1.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 454f9da9665ea5a56a2f555aedd1e8a90cb170b9631e1f85379fb71459afa020
MD5 6a2e4051c11a891e8e71a526e2aaca71
BLAKE2b-256 2c3bff636d9fba12ac23665226ffb67f0149f2d1a706a35a177a0e69887d760a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.0-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 962.3 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.6.8

File hashes

Hashes for portmod-2.1.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 23ac08ecb78a534eb5cb5bf4ef9eb1813ce4d65d77d8174804625cb740acdad9
MD5 ab3341a05a69165c34a72a88db4fa836
BLAKE2b-256 3bd79dbde3a325bf9fbc542927bb0735e49942beca1e1a972ed8f939ee3b45f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 640bb36ac15298324f9eb0232e7b6588c379428ca4acfa0f31861e26d24a4631
MD5 d69f77bf89d7cdf47780112145a1d0f9
BLAKE2b-256 cd1f5b1ec625bcc12d0fd9d66c4039d0d98c207f4e2d8dcc917bc54c2272f9fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.0-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.4.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.6

File hashes

Hashes for portmod-2.1.0-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ec8b1a14d95c902ceac75e6351fc8dea84bbe98485f345ac88193fed60cee409
MD5 f254bac86bba49d7cc76716152cf23f4
BLAKE2b-256 e5ec75f225ab17a8aaf7c5df2bf4b5020aee8a5e71f52d7f748f87fdb73dfebe

See more details on using hashes here.

Supported by

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