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

Uploaded Source

Built Distributions

portmod-2.0rc6-cp39-cp39-win_amd64.whl (999.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9

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

Uploaded CPython 3.9 macOS 10.15+ x86-64

portmod-2.0rc6-cp38-cp38-win_amd64.whl (999.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8

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

Uploaded CPython 3.8 macOS 10.15+ x86-64

portmod-2.0rc6-cp37-cp37m-win_amd64.whl (999.4 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m

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

Uploaded CPython 3.7m macOS 10.15+ x86-64

portmod-2.0rc6-cp36-cp36m-win_amd64.whl (999.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m

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

File metadata

  • Download URL: portmod-2.0rc6.tar.gz
  • Upload date:
  • Size: 205.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/54.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc6.tar.gz
Algorithm Hash digest
SHA256 81a0bc9b83481942369235534d59ffae8e7ae6a267a27af12eb5b700be441b1f
MD5 f5cfb593113ad1ec67453093b65c46ed
BLAKE2b-256 31199fa6a0b491cadb5a923d3fa54e534ee20a91dbba2f45ba8b940497f1becb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc6-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 999.7 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/52.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 5d2e5b8318f47512f1d26e7d7ca57a93c012d183c0d904ce792a5be8cd3f88e2
MD5 2fa624eda3857bc82a29bdbbd28eaaa6
BLAKE2b-256 14cc31b520825dcf9f2a02653f9e90fd8e39477602b2a2fcdac6367585f292f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc6-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/54.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc6-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 77f721dce14d8cd7151b6d5c153779070f74081aee682f048b6854d019f1c3cb
MD5 ee1ebd8229c1b1c1c448320707ecfd2d
BLAKE2b-256 df2d29a2b601f8593dc05f52d20a1c512065e6c1fdf0457094a6d427a2c32665

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc6-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4e42779386cfe8712457502b335d57a181c8dc1c78a32c3aae6592720fe82621
MD5 c3de942d990b83664a7aa92f409ccff7
BLAKE2b-256 bfe1a27f5e675b2c06f81c504a05c155d31c5bacb7887765fef2de20d75a553d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc6-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 999.7 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/52.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d53855cc66df50ffd9f79b47967c83cc409f1b44b183c979830b1a34d6a230ac
MD5 4d6f1f4a28f2f83aeb76a28be8844282
BLAKE2b-256 cf75f1586eac278b09e24576ea8ed5fbf2b75a22ccabf3ade091044bbcc6a35b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc6-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/54.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc6-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41879674dd4fe726b6bda6af936f87377cf99e612c321bb7d66bd942c1c59140
MD5 d221879812785f3b0f6d0b84cf149162
BLAKE2b-256 08782640f3d69fe278973170f29c22e3325f32ed3a4acd0f6b9837d225d6f6a9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc6-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 41f09f093540639c938edd847d842acc63d541605405404421a77310b01241db
MD5 285d7ad34eb4ea0438775371e80ce244
BLAKE2b-256 7401bcde1776432dafe52590afcea16e552d9e15ef29986aef277b7aa0f2fcf9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc6-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 999.4 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/52.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc6-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d9c6e42ec44f0d66cbd47d27172a46a4dd9e30c93ef7ba596df1833b9e6bfc48
MD5 8b9d8f313565a2ac7b4820b0fcb06bf6
BLAKE2b-256 3e62fa821e83d0064678d0cb4d2e76c44e2e9060cffb852e59e9414072a6b6f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc6-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/54.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc6-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9bd2564e4277a202df57dec784d09bacba3aa1a1df857fe17d2bec079da4084b
MD5 5db61d9a73876c9d2b438a4867bcc44a
BLAKE2b-256 8d71bec310a274bfa11755d69e4f4b007319468afd870bd8415430a72ca45e33

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc6-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 6958b7baf9ab2bfae3ddedba37012bdb2e660abed09fe27d73f031d3b0b80920
MD5 b9269956859647f6599df84e5b8b1dac
BLAKE2b-256 b6b4366cb8a43c2724952d644d592407d9f6b76ac709b1db701d5b92fa213cf0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc6-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 999.7 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/52.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc6-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 27d32ae95f932a66d3960b9e81f6fedca5358200de5bad4acc732ba3352b09a6
MD5 dee1577c741d5a7f2458aef30b811b14
BLAKE2b-256 e9b237f3ba6ef152b393249c332b6d99357765e018dc7df2fa8625120f5df486

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc6-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/54.0.0 requests-toolbelt/0.9.1 tqdm/4.58.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc6-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0eda8d54c31bedba918503245179ea6c2daa760ba113c3589899226ce4f6526c
MD5 aad59555d4c99c4be5cf13db7f319cf0
BLAKE2b-256 435e45a1f86d5f9849ad62610198019dfcebc9e70747ad9d32cfe8e9ae1dc88a

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc6-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 3df95a130b8f11496f4981af89c99a68d524dbbaf862864212242b2ae1d5d297
MD5 0b9827e6175ac86d956f09a79b4994e4
BLAKE2b-256 46c7a9a9ff791513b037de4a6af07d3e158e045d0bd962f39674a8b91b63a0ad

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