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

Uploaded Source

Built Distributions

portmod-2.0.3-cp39-cp39-win_amd64.whl (988.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

portmod-2.0.3-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.3-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.3-cp38-cp38-win_amd64.whl (988.3 kB view details)

Uploaded CPython 3.8 Windows x86-64

portmod-2.0.3-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.3-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.3-cp37-cp37m-win_amd64.whl (984.5 kB view details)

Uploaded CPython 3.7m Windows x86-64

portmod-2.0.3-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.3-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.3-cp36-cp36m-win_amd64.whl (984.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

portmod-2.0.3-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.3-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.3.tar.gz.

File metadata

  • Download URL: portmod-2.0.3.tar.gz
  • Upload date:
  • Size: 230.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.6.14

File hashes

Hashes for portmod-2.0.3.tar.gz
Algorithm Hash digest
SHA256 fd23ff2fd1aa774b8fc6dba87b40269fa44272b40c4a8c5462b8c65c94a72edd
MD5 c5248b60fd1b76cd57261bcf24d11292
BLAKE2b-256 a6919d564dc40104c2f74652a657103efde2f3c1825f1fe32be61c4309933880

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 ba4ca500451bb6a769de5923dedbfac7d442abc1f47fe115801bbcb7a2759a03
MD5 87d5e85140c981fce46908ba8e98ec37
BLAKE2b-256 f2b4ddfe3c0d716a9160dcdaef8aba7ec6ea8c071596e9f29b70a00a572b9514

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5035523354fe1cf06466051eea752c396678dafdfd274ef7ca22e52aa5c94f91
MD5 508306ff2d5a41b81a97e1b6c090e517
BLAKE2b-256 0b6b52bd5f6312bd8961f1b16931876eb61ee1e43e34701fc910ac368f00fcef

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.3-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 240aa1c827eb830eec45717596d1518064600f585f76442328f5b79a69a0bbdc
MD5 dcdd189e9f001ac192eb011cb57ee653
BLAKE2b-256 205041e70c239236b110d5eb450cf9badcd356998fc01ae6623190cd3723d820

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 050d55d2909c20c113f60fe8173c6b53ab1ec10804491d19a940139b3a4c7795
MD5 589e1e63a4c60bbf0673d3b0ed546599
BLAKE2b-256 921f2d545d1b6db071a51d9af0503972b4e6e1baca3273b0a5240297177b8bf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fb6505f327d15393b0e8b7fde52ff4a6ff5b0408ac04c856634b67ec930723fd
MD5 bd38dd90ba760dd9fde4978a20ce00ff
BLAKE2b-256 f2fd70c5c83e90aa64f7451702a2fef529ff9fce20a429c2e675ddf0e9c3884d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.3-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 89326fba06d25573deb0955ce296f32826416928e2174dd22f28567601b686bf
MD5 b9e543692dd2697151276f2c51b53ef6
BLAKE2b-256 0c532371d46bb761251aadf64570ed3431cc93569e13bbe566b0efc2b0096ac0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.3-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 d183edd449b2f4967998a961ed02b474eb62a4ca27f7f99d19881c0d59148417
MD5 4c990b00f74856b797225d4b70eec3fe
BLAKE2b-256 64b5c89003d1a6238f3ae1a524003b7c4f9777cda3f13e42d8dfe1e7a268e3f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cdf2a8816cf49aaed41c1077936c4e26bbc63724f5e49f587df09637ab724229
MD5 c129cd45075ea221d7e1eb93a5a30fec
BLAKE2b-256 610a6b1c25a99787bc2278cb4a209b2780625ebc054e49329e0fab7a1846b32c

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.3-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ab7cc9b825b10c799db1b8b978a24fca9778a4d67dcf3c76a3830c9673b07044
MD5 185240f990db852d4101b02cdce41652
BLAKE2b-256 4cfefe3bc14858641226c80f0403bbf5827568bebc3beed2b78c86601887be44

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.3-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ee58e47cc144e6dcab001250e43ba51d85c114dfc2bdb0a6bbb77add976d8d6f
MD5 1b6fbcc0114f945b7270aa6a8acb4e3e
BLAKE2b-256 5a64bdde366a9f53d89ba5ad3c16b6a561f11826ec560902eb6cc295c6a4f958

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bf263598b774e3bbeaabf0b6ffeaa3301609b9298b1bf499e81401debe891587
MD5 1c7a3857fad613b37d43f5d27eb96371
BLAKE2b-256 637b77d16cc4de23575950ddbd790eb304c970bd52ee39344b21c874354a39a1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.3-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 14cb3d5096eb6cb7bcd91ca1b65ed2887e472d8f64ecccf00a2ad5874333ac55
MD5 104f4c1399e73be96ceea98dc91a2811
BLAKE2b-256 da80b225bdf2721b5a0b483b79d8fc658677ab17e46faa7b9e561c16f254e116

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