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

Uploaded Source

Built Distributions

portmod-2.0.4-cp39-cp39-win_amd64.whl (993.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

portmod-2.0.4-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.4-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.4-cp38-cp38-win_amd64.whl (993.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

portmod-2.0.4-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.4-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.4-cp37-cp37m-win_amd64.whl (993.5 kB view details)

Uploaded CPython 3.7m Windows x86-64

portmod-2.0.4-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.4-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.4-cp36-cp36m-win_amd64.whl (993.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

portmod-2.0.4-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.4-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.4.tar.gz.

File metadata

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

File hashes

Hashes for portmod-2.0.4.tar.gz
Algorithm Hash digest
SHA256 98ec7c6126bb6b16ded7c4ff6306cb311e6beebee255cf2b2f1342c4e19188bb
MD5 49ffe14c0d4ff1af32786feb173fbc74
BLAKE2b-256 f0d743c573d5dd58d5b344f48ba8c74a22d8a59a9663cbe0dfb204aa7f59cbb1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f389ab18a6930832e166a268cafd5a16e7dc1b9df59fd538e4b2f51d35530246
MD5 c0fc2ce83a916632f3344587f4b1c4f0
BLAKE2b-256 b656346196ff4321ec599dca945cbc318fec2c2aa1568474d48a4994afa008f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 880f56cc1c030923659d0e683bd9d4db3a190ecf57e1c5257c7c9cc191f924d1
MD5 bdb67bab412d7f8862b27c956e611615
BLAKE2b-256 ef0e9357a63b0741ad6c8cc9ea07c229d29249f8aa5305d44d899f4e069a239f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.4-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 57fb88eb9e8de78054b068835a5fd910cab64f69baebd2284c04be927e9b68a1
MD5 0ccb62b42ed9240f28c8bb49532eef21
BLAKE2b-256 2ac1c7f870ffdf5e159d24d9c8f419a84389a948a20adadde2744402cbdbfcaf

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.4-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6674b81875cafe20667c6265e9d2aa18a051ce307707bdf83adb84dc4f2cc116
MD5 71d3af6c6d8f13715c6a98afb802e162
BLAKE2b-256 7a0a89062ccf7e1159f0d55389b9862ee79a07065266838a3326c773728c1180

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd8404aabde24fda2c342328b9d7e059435b723e5e89686eb81e9701d8b7b077
MD5 5bb52990e86931e80f38222503b78a09
BLAKE2b-256 03cc67c71851f13b1bf8abef3e904e6cfbea989d031bf6a47a1164ce0605d440

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.4-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 503967c099b6fad02a60b19092ce307b17dfb0b00a180320a9c5b56e16d18e50
MD5 f02110ccb54a5183bc1a245a476711a7
BLAKE2b-256 4acbc1abf9b1d433fb5bc24662b891a2f782c5f043518b144520286c9d2cb581

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.4-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 0ede3135216cb88db2e6aa724bc3ce95b639b7f14dcfb7b25575be7e4c2b9fcc
MD5 813ab47f7eead1c0add591ab4e4738b1
BLAKE2b-256 d1db9135586d65eb5be9bbd5d4ffa603d957da419563ae75f36188d39c7864e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c368fbfc08065b3827cfa1d445552e8e9e13de73ae6d9de4a6cbcd2221a15ed
MD5 e893541cc3b37eca08de3dec03a98f35
BLAKE2b-256 c13e3c78295ca8f3d043d20a414399a740f9c695dfcf2096dce87b01547fa800

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.4-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e42857f4837c002f292f0d22c92d159b789a6c74fb5cdb28843014e8a776294c
MD5 21c30cf522cf4597f8294285287b2544
BLAKE2b-256 071eb4f516a51e7ba55c2e7d1d9abb1886ed9e88eb68ec4e4daac811b6ca0e1b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.4-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 889bdeb5ca0e64337d4864bdd717ba1f95c1a1240b3977ec413545ee700479f6
MD5 e8fdd345891e1e1ea1d28bc1af399e2e
BLAKE2b-256 7602273974e3b9859d07fc3c1aadd22c1f37c1e8ae4b707b1a342d96e8673f35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 905c767f0e9f5118fe4ca3cb63cac32086253f4bc0d75708e41a8f0f86c00f08
MD5 34932d41b8322ba63d90242a920b472c
BLAKE2b-256 b361b27bd380fadf9caea2c438d1f72790d050be8d462b77d7b679017536abfd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.4-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 c9668eae71ae6e570e4b489630c6a3884dfe862fd31af6a07c3628d4d21c9105
MD5 18519ebdfcb7b5491df615df02994834
BLAKE2b-256 88de2064f85922c9984672067d9092d4359a80cfaeb09087bb2407e5a3a13ab6

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