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

Uploaded Source

Built Distributions

portmod-2.0.0-cp39-cp39-win_amd64.whl (969.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

portmod-2.0.0-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.0-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.0-cp38-cp38-win_amd64.whl (980.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

portmod-2.0.0-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.0-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.0-cp37-cp37m-win_amd64.whl (980.6 kB view details)

Uploaded CPython 3.7m Windows x86-64

portmod-2.0.0-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.0-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.0-cp36-cp36m-win_amd64.whl (980.7 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

File metadata

  • Download URL: portmod-2.0.0.tar.gz
  • Upload date:
  • Size: 225.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.6.13

File hashes

Hashes for portmod-2.0.0.tar.gz
Algorithm Hash digest
SHA256 02dcddf50a7a8518f3df4a8bae735639610dbf321dee47b2ec50f512f9089158
MD5 8f6de5236561957af641ad87b627c5ae
BLAKE2b-256 3888d92c2cc96a060eb91557288f3e0e86b8c89bec6afa9c57c8208c6c002afa

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 93749da474574103a15edee5624e1a7fec1269d340a96969e68e0aefa11acd21
MD5 04ca065242ebdaae67fd45ece088c152
BLAKE2b-256 ece0cb7e029c9f9761d4754a9da10042c34f307884885c3603e871cb6aeb4d71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5b39fd29662e8cbd5ddf506e732befb60acb3de1bcc57f55686dea7086a391de
MD5 ff5905d90c0e5f2433d9544f9ab9919a
BLAKE2b-256 87a899df898de73b07c78ef2391cc82eafbf675f070d583b2b27872a619517b4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.0-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 56eba8b362ead9913b280136585b4a6b9703aa986f2d626d18298a611d64eb2a
MD5 2754b8f2920df31259bf375e46c2a8d1
BLAKE2b-256 21b28be3aa7cf6912990b897e1510340d88dc41c5bd11e337cfd7e7c56044354

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 79c87e865f19834c0e48d5de9634801eb75fba5a41fb927391035423b792f817
MD5 29e066695ce1babb2f3c0a477d56ebdd
BLAKE2b-256 8c2e45adc326ca2390b6f4a49cad971bd398a54b7acec4ae02ad83b3f01543cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1dbcca0961489ceb71916fb861dc4f1161130bbde93f510fed32385d4703a9b5
MD5 7bdc4779c81bec1c1b2f376e88ae5469
BLAKE2b-256 8cd76c346f5e3286fadde30be3c82e4b68ae0eabe0592fbde540008de04dd089

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fb358e1f4bcec1679b950b7bcd48841b9dfaa9b9fa8e36fe770934434f856b3b
MD5 8599ee71ebb220ffa9abba2b15a1784d
BLAKE2b-256 74f0d7b6064850af5ef429f80e3673f23e1340d809a1bbed6bdabeb5c6a1ec70

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.0-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9880bd428e0ce38d6aa5307aa0b1ba791a676b29d8cfcf876df7a49dffe39e77
MD5 859912248a5aefed86ada5db8c48ef1c
BLAKE2b-256 a30322c747f2b0d441c65920481cf4956141e8aab32093d03927b5f4b6f67f52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 828a4bfdc058130e6a03cc75e6f8f0993ad5fd82e89a24ed5533b64ce66198c7
MD5 f23d35c24227109212d634bc66bc35fd
BLAKE2b-256 a092cff18fdb11c12ae623fa86a9ea0bdfebfcace421d603427e5e9a4466ebf9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ca857e4968b01dee429e4db58ef12e18209c5a66a85f4caaa7a972a32070649b
MD5 54145e32c06c07c30a103c6c837ea263
BLAKE2b-256 13b22a56c23c0fff67dc56f5cacfc22c180bfbbbc8ec5574b7cadb4d9af61ed2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.0-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 b4d6d0aff20ff679da9bd627fb2b2913fce29890d9a1bcac8f1136d18fdccf63
MD5 a89e37856fd213265b6ca8ce60d3c728
BLAKE2b-256 0670acbf4ba22295b7a848782c146ff44bfcd8f7a3b6dc4191d0fb4babd0950c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for portmod-2.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c170a6daa8df1d34b16daf0c53f07133b6302b492d7783f0407fe486f943502
MD5 cd16c92b33f32fe6aa9d682e104b0923
BLAKE2b-256 5e0d7bab4a34638f3b4f92b8a5d3e5abc57aaa3304a900cdf048cc37834786be

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for portmod-2.0.0-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f078e05bd656233ef628dc85bda1349871438fb5147d63542354287ed22c8e76
MD5 bb629f5c8fca874197448bdd6ae63ac9
BLAKE2b-256 e268bd27ae0f384130ff9351f3a3ad946e5592838588bb6aecbef2dc36f00526

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