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.0rc4.tar.gz (203.9 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.0rc4-cp39-cp39-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9

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

Uploaded CPython 3.9macOS 10.15+ x86-64

portmod-2.0rc4-cp38-cp38-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8

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

Uploaded CPython 3.8macOS 10.15+ x86-64

portmod-2.0rc4-cp37-cp37m-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.7mWindows x86-64

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

Uploaded CPython 3.7m

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

Uploaded CPython 3.7mmacOS 10.15+ x86-64

portmod-2.0rc4-cp36-cp36m-win_amd64.whl (1.0 MB view details)

Uploaded CPython 3.6mWindows x86-64

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

Uploaded CPython 3.6m

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

File metadata

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

File hashes

Hashes for portmod-2.0rc4.tar.gz
Algorithm Hash digest
SHA256 cf4c6a958b1ccbd51d3fc3be3fe60caef32115ffa4e3f248923e660cae8cfb97
MD5 d1289f4cc552d1bf34bb272e762abb63
BLAKE2b-256 8ddbfb435338abde9f0c80ee498581f6a3885b3d71b99d9cc6672f7015777f3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.56.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 cf8bc03effefec0baef82bf6281142e342d18436674196232e25ff6ed9dcb66e
MD5 ebc7bce80b79eac61cd53e23c8c2309e
BLAKE2b-256 1e46638f05de4ee7bd83c21efa54e0eacde0f19f8ee8d286f10e86270a93d1b9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-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/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc4-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69d0267ca4cf1473159d2fd8cf6e3f9721fa687efc5eb15b56216d92b83a18ad
MD5 5d315e08eda9cada5bce0da281a32002
BLAKE2b-256 611dc47c9650ba1e5b156556ebb338d0ffe7c4a309f1333694500bae133aab81

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-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.0rc4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e02e66ad5dd15884c1c7cf73b4e0669c53d6418866d251524a5d736ff380573c
MD5 a7f14f68eb2360fd52c28fbbfcf59386
BLAKE2b-256 52e05186748113d3a3dd131496bc3a587a64c5c77ccc090514fad45db4e07b67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.56.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 fc5ee6c03b69f3ad0d63d0f03f469105dc353879a9d818646d5c89c47d9a6cd1
MD5 7e1379de9aa6a473c544675c56ee749f
BLAKE2b-256 6b30daea7fcb2cb0c165b0f4e73a97ce865dacbd89955ccd2060700260506183

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-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/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc4-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c190b777994686ddae701863e094dbba418aeb9b945f713c8f26708ed89d28b8
MD5 0b57903a851b70cacf8b640ff9aa7aa6
BLAKE2b-256 aacf7970ae35316cb777efa99c837b5037ead258ebec420b14978f05c41ae237

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-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.0rc4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 da836841f8a4dce71cc35309a264c851c327f9d710133ad254247a14002388e2
MD5 6287d951ec236bde7c16d4c3cff4dd5c
BLAKE2b-256 ae82a9f6dc9cdccfbe73325017a2eb2a3f2917109555e94f093a3b08352eef9f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.56.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 dbfc243d923a5e743090b8f5fff64289373601794f4f5b171a381f43c9a6286f
MD5 e3ff65bc4207a57db9490ca7dba1d2bd
BLAKE2b-256 f0448689cf38ce02a7f13a825caf81304115fd193e7f7bf2ddc2640a8924c201

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-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/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc4-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2df5ae4a84fc3f1c85aa02460dbd97b6b54941b0929c33cca376cf8af6ca2795
MD5 f8ae4b4b27f210db09aea8f0871d48bf
BLAKE2b-256 6c05c49a0f0c110131f28f5a7df2ea92f826de1b30e614126c621f6ccaa1e75f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-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.0rc4-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0163daccc20ef4af95654653e05112ad4aead6e33b868e0df8c0a44f21874835
MD5 c6bac816c33fa77873c5adb32831d3e5
BLAKE2b-256 86625413e986e8a5d9db6dcf7488f617194e20149fbbbf7fcba124e3a2c530ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 1.0 MB
  • 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.56.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f7b7116147aa7604c7b96719da70385098ad7e443d8c7ed9ffbacf3182a7a2e6
MD5 3accb7696f7f5a94f689e601bde383a9
BLAKE2b-256 25dc6e5722d6b86ff133ceeb22c81f0d72e1945e8dee8119342c9b452342b5c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-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/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.6.12

File hashes

Hashes for portmod-2.0rc4-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 235c165d80e1f561d37fe86aa77c76054ba8d28a060940e13b78e62dd2a1b640
MD5 5500a19bebdc13d38ae7091705566e95
BLAKE2b-256 52e324367458e5871263daba9922b34d0fa3e5d826619a0f28775c3c73495a65

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc4-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.0rc4-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 20565c603c98a0fbbaca4da5f2a9ac6e33fb8e8b480e2626ae4e14b8a734199b
MD5 ff53062e818ffd521d6b9ebdbd8b10a3
BLAKE2b-256 a2358392f632b019fad39506be0d0e3ed087e2d46f1fdcdb525d8e9d5dda8619

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