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

Uploaded Source

Built Distributions

portmod-2.0rc5-cp39-cp39-win_amd64.whl (997.5 kB view details)

Uploaded CPython 3.9 Windows x86-64

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

Uploaded CPython 3.9

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

Uploaded CPython 3.9 macOS 10.15+ x86-64

portmod-2.0rc5-cp38-cp38-win_amd64.whl (997.5 kB view details)

Uploaded CPython 3.8 Windows x86-64

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

Uploaded CPython 3.8

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

Uploaded CPython 3.8 macOS 10.15+ x86-64

portmod-2.0rc5-cp37-cp37m-win_amd64.whl (997.2 kB view details)

Uploaded CPython 3.7m Windows x86-64

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

Uploaded CPython 3.7m

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

Uploaded CPython 3.7m macOS 10.15+ x86-64

portmod-2.0rc5-cp36-cp36m-win_amd64.whl (997.5 kB view details)

Uploaded CPython 3.6m Windows x86-64

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

Uploaded CPython 3.6m

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

File metadata

  • Download URL: portmod-2.0rc5.tar.gz
  • Upload date:
  • Size: 203.5 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.57.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc5.tar.gz
Algorithm Hash digest
SHA256 52d6031c7fc12cee3c0d8621aa71f9a4c83063da92b531de321ebc65e2dd11a6
MD5 2aaf65c97bda32a7bba632d2f56d4120
BLAKE2b-256 55db0cda78ea259173ad86416159785577f3a5590460662f1ed55277ea3bb969

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 997.5 kB
  • 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.57.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 f1aa3bc18d5b805b9196c07e17429e2822747ba87953fe963c4e51e40849bff3
MD5 0e64c5b42073343ee559120dd3d30442
BLAKE2b-256 b5f18040631527eef43900dc7cea8d55cb8757d6418d5baa2cec34480f6afd99

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-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.57.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc5-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 797991aa49da90629601653feae821fc9d3b0a9bc7b4775bbdb9a63e90f5cb1b
MD5 f02467c2486f4a3a54c3ee7d45bfc8a3
BLAKE2b-256 4bf186acfe9a82c64eebe44719e5db1ab1b15c2964e3a8e3f339262fbea184ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-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.0rc5-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dccebe169ec86ff64c55fc1aeb8a66573ab0f64ef1029c83837cf344551d047a
MD5 50b2cf7c7ee98dd02f50ee86b0bcb862
BLAKE2b-256 e046477478b07563c311d96e3608b3118306bb4d80cd65165d40617f84ef8ee7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 997.5 kB
  • 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.57.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6288a51603e43aaf0641a4cf4362a7bac6df8e8d5c16f09f573dd657f6827fe5
MD5 fea7717a5658061490e78bae7dba55da
BLAKE2b-256 a3df4b6d819473f1222c38d6b3b8c7054b654fcb63048830f769f9233e107ad4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-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.57.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc5-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f77e9a5ed5b6b44fcc1caaee2ebebf0f9b65e34e02d7e37ed6bef2517c0a2302
MD5 70a3e41d4ccb9953055509e62c680b8d
BLAKE2b-256 2912bcd737b9cc47accc116a5b476ccca5d1196c439af3adc04050cfc07e3d8d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-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.0rc5-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f384aec72d2fe109b3df66bfd59a4ad74b47675ca076638cf8f38f07d215ca90
MD5 4b03c8621e2d5c2a415c73d7ce8a29bd
BLAKE2b-256 92aa9b4b700e33eeff5d04cd0088a973ec579bc2b304c510acb6f712dcc58f3e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 997.2 kB
  • 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.57.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc5-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 440f09069715e04e7730f7b8c2997d556d211e9f430c3a8125b9dd0a4105aa09
MD5 3422057ef4cf692295ebfae8843b71af
BLAKE2b-256 fe361207745c64cda14613b2428e025275fb1369c697dd60adb9df139bed125b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-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.57.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc5-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6487b431e1b94e6cbcaa46836cfa2a8d2b6dde1078e8a54d716f4172b20aa522
MD5 f9bc8c4b703ea893630e9a13c138e644
BLAKE2b-256 85d5f00a9e7362562c83bcbabc8a15883b6e3d5c22bc692dd7e3352946efe6d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-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.0rc5-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 87b6c0009a91bcb98b31ff43c8098c9044f6907934dcbc1537a03470fa1361af
MD5 ae4160c70022b50dd87bab2b7fad8e6f
BLAKE2b-256 9536f656a701220c385b83dd5c9c3463057f5a9898e39762954b023de7424296

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 997.5 kB
  • 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.57.0 CPython/3.6.8

File hashes

Hashes for portmod-2.0rc5-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 1706c17b95e4e1244d3bd79b32e8d8b09bd3d40030263be3fef6c134f82a99f2
MD5 764cc2db82cf488bf34528af1b0da10f
BLAKE2b-256 53ce4fd17097f3ae64d925baa77b1c454534010b484c228b4654814eb582fd53

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-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.57.0 CPython/3.6.13

File hashes

Hashes for portmod-2.0rc5-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ac3e3d207f7ea977702137f0a58513fb66347569a84c9819aee721a22783ab2
MD5 92e4270d9223f56cd016086f3a68bf40
BLAKE2b-256 b50b3758efcfceb9462b41648dff7fbed1187d768457c791f9535f3c2c5f5aaf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: portmod-2.0rc5-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.0rc5-cp36-cp36m-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 77e8e8338aa30a78d656ca325b269a99447dbc0d9e3f79f691f6853b44da6e4d
MD5 1e8474f5b0052d1964b1560bbccca1cb
BLAKE2b-256 1833ce245f83af3c3bede3819af62225875b088b70ad2ab20c715c56c8afde1d

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