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

Uploaded Source

Built Distributions

portmod-2.0rc9-cp39-cp39-win_amd64.whl (987.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

portmod-2.0rc9-cp39-cp39-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9

portmod-2.0rc9-cp39-cp39-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 macOS 10.15+ x86-64

portmod-2.0rc9-cp38-cp38-win_amd64.whl (987.8 kB view details)

Uploaded CPython 3.8 Windows x86-64

portmod-2.0rc9-cp38-cp38-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8

portmod-2.0rc9-cp38-cp38-macosx_10_15_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 macOS 10.15+ x86-64

portmod-2.0rc9-cp37-cp37m-win_amd64.whl (987.7 kB view details)

Uploaded CPython 3.7m Windows x86-64

portmod-2.0rc9-cp37-cp37m-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.7m

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

Uploaded CPython 3.7m macOS 10.15+ x86-64

portmod-2.0rc9-cp36-cp36m-win_amd64.whl (987.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

portmod-2.0rc9-cp36-cp36m-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.6m

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

File metadata

  • Download URL: portmod-2.0rc9.tar.gz
  • Upload date:
  • Size: 212.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc9.tar.gz
Algorithm Hash digest
SHA256 00def733ca7a93cd0a30961e6f509b731b7bd9ed891d8de643486fd27869628f
MD5 6a91418ffaf1771dcf26e9f9b50ffa13
BLAKE2b-256 b34eaac13b7a2d6b8ea097951ded07ee0b7deb25aada80a03475f3dea6d567f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc9-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 987.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 121128a783a65b6b34b6d4a51a390c119e7fc4958fdacc11465de6955463cbc2
MD5 beeef47a04ee4d50ea811d4c55e9edc8
BLAKE2b-256 dbc54885fcbc70d6fb0b029a124126cb3a90fab408cb6394d338bb438ff1d681

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc9-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc9-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87c0713d09af861d4c265626f7dddadc4eb4ae58e15ca91ac09d8b5bef4a8e4e
MD5 2637774d65bf0e373f867db0ce00199d
BLAKE2b-256 eb032e3df82a6492b112a6fcea928f6b5ccc7d7bc80535e166cabefb95b63f2d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc9-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 b13d06add8f8be6a394bd8105b14fbb7d7c86767b0df797e598144f72d08e671
MD5 8abe14d7e6509190a96122551ec2eae7
BLAKE2b-256 b7b18fa6f6c1c944573e6d7f9dcfd7bf0ec43fe9f02fd2bb20b91a5382e09c7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc9-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 987.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ff07c3dc5bb2784ec95a43e5a8fd453f78da730cd7b482722652102bbb17ef03
MD5 aaba3f9b03294973470b1e0189a33687
BLAKE2b-256 5960165af1ff94c5f091ff547281f4166ab788604673c2cd9ccfed34cb9db75e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc9-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc9-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eacbda254aaae697537f0302a3852aca5e9d580fe33bf70cf6970d87fdc6bee2
MD5 b19c6a9b67b6eb1a8b90132074018ac9
BLAKE2b-256 87290dd35b032b418451f19f085668ae5e03beac595d509f13d82b4ed73eb3ce

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc9-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 96a737710e8b1fef3120d5c9897586cd4a8da0e26a5d77e4ff6758dac6bf9642
MD5 8aa1120f56efe4f3aee89fbc311d8df6
BLAKE2b-256 dfb1c68aa9c18158c58dd9ee3128a3aaa27d951b3d8c199b8098dd6035e0e1c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc9-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 987.7 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc9-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 8232113e134b8212965a17fdd9950258ab5912d31572557a8aa720df2b30dff7
MD5 2ccaf06e0dccfee02315846853dd31ae
BLAKE2b-256 6815ebaca3fe2e0a0f1d83db445ce1b44ddc86a0fc1544d54cf16381921f462b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc9-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc9-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd12de488c21c1038d719e4ef3d103ab2d6b3124510931480ff626252f4661e6
MD5 04eb3ed291837ff1ca42531081097ca2
BLAKE2b-256 5f097b2ed01ba72adb0a171805775678a13749b9f3d7c2a904e449249a2463a0

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc9-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 37d82f5f26618f89b5a1dcee563e11949a594b61973392c800432ddbca3e75f0
MD5 4f9f344a95b0608e53371c3c5b338c78
BLAKE2b-256 774f3099a6fbd2581e2174ef0af7e988860ff1a56a72a462a802dcfec11abaf1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc9-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 987.5 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc9-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 bad75f58d75e2a19822d25936d93819ff1b7d00462692d165f893bd6246f34d8
MD5 874d45e93d9b253a97fe632580b6c02c
BLAKE2b-256 dd5d45b4f842337ec0abc83b2819b830fb1c8726dad087703376c65bba17bdba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc9-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc9-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 389001201d532e813b2eb80343a8b043817f1d8983e38843f223fb3dbc7bb16c
MD5 5541959ea218c1a4e966e90e6d0cc420
BLAKE2b-256 185e99180f2364291028718903b0b9ee6afbc858dcfe1f1f54b3267b5b303e7f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0rc9-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 bfb58a9581afbdcb1f952c30e6b2971426b139863fe4a47d961edef347bf2941
MD5 0ed54af4c78262e250d93be2e57ef18e
BLAKE2b-256 dd1fa48b8b3f4d59c6872c2cee922339ebba01142adf0e942b3a148e9d801426

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