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.0rc3.tar.gz (202.7 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.0rc3-cp39-cp39-win_amd64.whl (989.9 kB view details)

Uploaded CPython 3.9Windows x86-64

portmod-2.0rc3-cp39-cp39-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9

portmod-2.0rc3-cp39-cp39-macosx_10_15_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

portmod-2.0rc3-cp38-cp38-win_amd64.whl (989.9 kB view details)

Uploaded CPython 3.8Windows x86-64

portmod-2.0rc3-cp38-cp38-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8

portmod-2.0rc3-cp38-cp38-macosx_10_15_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

portmod-2.0rc3-cp37-cp37m-win_amd64.whl (989.8 kB view details)

Uploaded CPython 3.7mWindows x86-64

portmod-2.0rc3-cp37-cp37m-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.7m

portmod-2.0rc3-cp37-cp37m-macosx_10_15_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.7mmacOS 10.15+ x86-64

portmod-2.0rc3-cp36-cp36m-win_amd64.whl (990.6 kB view details)

Uploaded CPython 3.6mWindows x86-64

portmod-2.0rc3-cp36-cp36m-manylinux2014_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.6m

portmod-2.0rc3-cp36-cp36m-macosx_10_15_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.6mmacOS 10.15+ x86-64

File details

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

File metadata

  • Download URL: portmod-2.0rc3.tar.gz
  • Upload date:
  • Size: 202.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc3.tar.gz
Algorithm Hash digest
SHA256 70e275e1eaa4867696717b6cb1bde8527e3caec4bfaaab4208a448d9f82ee2de
MD5 8f518319821fdb799147dff7536353d8
BLAKE2b-256 74c676f3a29bb681db10490017e2fd9f08ac22b76bdab952abc8aa2e01783372

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 989.9 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a9d7c0b66e3f15002873372e75648fa72c254ff031c13a03f2b06dcda18862f3
MD5 0d7fc64544d785620fb4b7f5ba05693f
BLAKE2b-256 f4e1fa859dd938bda50301f9a602f17db4a1929933a1e39706a2db3d4c404553

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc3-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ecdd69371612f69e09982688fabab8ad2576fdc92017d115023b82379eb3949
MD5 38f5a7b608c8c56169253342336ee0bb
BLAKE2b-256 898ea2cacc0fde9d9dd045a2fc89c3de7575d57716b51c47cf448838ddee117d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp39-cp39-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.0 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/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0rc3-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 cc02b00cfdbb302b2d979beb57a8a7be9d0d3190a632af9a5090a9fc31f07b91
MD5 3bd2888531a82525ddd823f3e8657d73
BLAKE2b-256 2be62d3f0655365aaea3c94e2f09e029e9d978ef9b713a81f2301a06e092cbfb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 989.9 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 e81f4822e2919d118336385525c74ecda323defe2c183e6f64bd965214a861d7
MD5 f99ba1dd42731fa5ecca28783409c638
BLAKE2b-256 10137d47cee13baa00a935aa7e17efbc82306cd4f47a1f655161bfa0d62d9cef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc3-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 96723271296abf26b56ce3e7c3cd05bc55cba25ba97d620f3d6fbf96cf5106ee
MD5 cbbda0ee3448affb0dcc8056c94292e4
BLAKE2b-256 d237a79bc0a50fd11564fa8f44c4a45a8a3bfb934cb143fc0db11a530da1c7f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp38-cp38-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.0 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/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0rc3-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c4cf17af5798055fa05a5234601b8bba2c364fc9d689aa35fcc6d03acbd597a1
MD5 7ea02b19190be1f535ca0bf06c6f9178
BLAKE2b-256 f83c0a71322125e0231ecc1efc3e242f5b964cbafa57d43131090791fe9561d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 989.8 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 6a1214ebde5d7235e2e637039af34ecbe273d1fe853ee801cb1ea74ce1b5fdc3
MD5 68e0aead74e5d00a90224741e86c62e3
BLAKE2b-256 b8d52ee2a1ea13748e7ae1d9995ae8cc6646663fc12895adefc2d78f57cfe867

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc3-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3cc501d2d87300de52e86c896475ef2676af321957286feefbc7fd3bf9f00020
MD5 9d3e1b63216578610e7761bcc2f1e459
BLAKE2b-256 629763715fb027ee0f911826f09c5ca5fa5679dd9768bc039c40a1b4f3601c1b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp37-cp37m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.0 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/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0rc3-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ab0f36a1e65ceaaa518969da7b11c94a0f1f2fe3ffccbe07d4e506a4d4886690
MD5 8982af68588d97365cad12dd65012762
BLAKE2b-256 2f732765eadb3b4f8b27dc974ecdab3560138c5234d3911325b86247af3ab147

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 990.6 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 b3538f05733ee0a3c2e76debb58b5e8b1c96ca4eba9127f664725e82a68d137a
MD5 79b259447874846bdfd94a5d2b890845
BLAKE2b-256 8bcc950c9eb9378f41821a53e21a5c29142aff542d99aeb791ad28665f93bb1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc3-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c1fb5be3f33a5a1dfced1b43d4054e5874cdb5418b665dc104470cdc9a635509
MD5 e7d2aba0dbf21f813b1bb048ffc900e4
BLAKE2b-256 4ea6298ead8f8d429b740f31b542cb0c627766f2b8c49463fa606c646a97060c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc3-cp36-cp36m-macosx_10_15_x86_64.whl
  • Upload date:
  • Size: 1.0 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/51.3.3 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for portmod-2.0rc3-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 5f014c771b600ee42102100c4a5e8bc1abd39005862c77e4e5c93d5fee028e21
MD5 9d2c6d74c92e264e25fa795b0c0ddcf3
BLAKE2b-256 f105cd68787b73e92685feab588b55f098b99bdccec853d30df3b525825f95a6

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