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

Uploaded Source

Built Distributions

portmod-2.1.1-cp39-cp39-win_amd64.whl (974.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

portmod-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

portmod-2.1.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.1.1-cp38-cp38-win_amd64.whl (972.6 kB view details)

Uploaded CPython 3.8 Windows x86-64

portmod-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

portmod-2.1.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.1.1-cp37-cp37m-win_amd64.whl (972.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

portmod-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

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

portmod-2.1.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.1.1-cp36-cp36m-win_amd64.whl (971.3 kB view details)

Uploaded CPython 3.6m Windows x86-64

portmod-2.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

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

portmod-2.1.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.1.1.tar.gz.

File metadata

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

File hashes

Hashes for portmod-2.1.1.tar.gz
Algorithm Hash digest
SHA256 f6098ea3b2adedbeead956657eb0c707273cc8612c2536109b5c09ea0c448f88
MD5 bd3fcedf1e4417837c12e6070c59f1de
BLAKE2b-256 d408e2ac5121d58956684f6f2d92dd938cb58c2d87d3937c1ad1a3c0517aa35c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 974.2 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for portmod-2.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f4ce69f09fc79d5646ce98b906e622d67a0116cb7915f708ad5f418d3d489d02
MD5 db2190db1be5068ef609d486605288c9
BLAKE2b-256 dea5daa792bc73ce805496f0cde8438904c9f80a6fa364b7ee4193a480ed7298

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c156e93e03f12eb5820dbc532e3e12d3c2813c79d24e334aa7730edf6ec8d523
MD5 db00122bd4c2f12f1e51cab5efc1396e
BLAKE2b-256 92d126e8d228c641e140577a846249f5d619527d4c2eeb505a742aa674ab48b1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.1.1-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 89bcd8e49b60760300d4a1dd61f2a0b9198574c5d9af2573f600ae2cbc3e98ac
MD5 aa46a957586137df328746775a3534e5
BLAKE2b-256 ac88bf7c26ccc696a74057fbbb5421c1818456f9474e136e6e09b02775c49cba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.1.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 972.6 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8

File hashes

Hashes for portmod-2.1.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2b21eedb5d75185b2e79a5e52d27498ea5ae0e85e6887503640f45a256a3aafb
MD5 f60670c3a4f3fe2a16eae3c103c2344c
BLAKE2b-256 05352babfafd49c7ac4cde18e4bddd656ac1ecd7a516aa4cbf15c21e215cc5f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 560fd8dee6281d6713d84641890fe73041534a2fd515906b2aa5dc92c6cf673e
MD5 a458caf4cd0d3d0f36b9de3443b4897a
BLAKE2b-256 7298ae3109df5cafdcb6f0f306c9634aedc8533f64350d9967c975cfcbfd7ad7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.1.1-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c956c61247f1c7783a0720143cea38a854db56688696b84782a09179adb117ed
MD5 0abba3dde21698e3188f5db02941a207
BLAKE2b-256 0739e72e88741238874e14c9fc0e2b22cc16f7490f87d149e3a60859fcfc115f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.1.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 86a57500c9528e5fbe4548a05f06e073222e8c1d16a4d025143673ac5653bc73
MD5 8e68b36cad998c6a83aed3ed8e1c655a
BLAKE2b-256 5542ea6169410b3cea88017fd050b2196e2c33188009f5f69be2045897fe64c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 207f33c4a2d9b1a1fb92a6141d7f96f50beb3874803dccc2cb01f0cd192343cd
MD5 06c2fcebd70e8b876add0d9ed4842db1
BLAKE2b-256 7b00f556e43756a0d6c0cc62dc5d2bf21d74f05aea1501b92a11618f632f1e0f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.1.1-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 2fa0cdb66e94be191f49f83df1834c09a2c5b8e85babaddfe70feed1fa1e14c8
MD5 e322c669d59597f56df491229f6be142
BLAKE2b-256 b6c8694cb9cea37a6365155388130964c8649526a81c4d170c6569c09b1c2ec1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.1.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 650b3a4147fe407b272ee40cc0d791304e62a50e64b7ae352a4e7765fe8ab111
MD5 1c2fe710a1ccb940c9394a66c1ae7f05
BLAKE2b-256 7a1de1341407e979643cb2a492ce4cce567779249e776b21ace9eaf87922d2d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 375f973a19fc7a4c814faeeef7b0c715a4088fe988162c7d9412e6b8731916b3
MD5 320f258a1792421540d7c94df181471f
BLAKE2b-256 af37b2fb8ea50b726f9f2c82da991e05d5de18f70f1a0ba73ed2d6ba784a34a5

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.1.1-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 61890db468dcd1d014bbca8fba705cc8d0bd1b26239ae4a30913ab64bbde5f29
MD5 796eccfeb8cf81852de47e9b18b5166a
BLAKE2b-256 8212d0bed8e9f662a4e02a4cba2f2d28ffebbe88f2585f6d0ff92ad34b5544ab

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