A CLI package manager for mods
Project description
Portmod
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).
Basic Usage
There are a number of executables installed with Portmod, however for the most part you only need to use the omwmerge
executable.
Mods can be installed by passing the relevant atoms as command line arguments. E.g.:
omwmerge omwllf
You can search for mods using the --search
/-s
(searches name only) and --searchdesc
/-S
(searches name and description) options.
Specific versions of mods can be installed by including the version number: omwmerge abandoned-flat-2.0
Specified mods will be automatically be downloaded, configured and installed.
The -c
/--depclean
flag will remove the specified mods and all mods that depend on, or are dependencies of, the specified mods.
The -C
/--unmerge
flag will remove the specified mods, ignoring dependencies
You can view useful information about your current setup using omwmerge --info
.
You can update all installed mods (including dependencies and dependency changes) using the command omwmerge --update --deep --newuse @world
(or omwmerge -uDN @world
)
After updates, you should clean unneeded dependencies using omwmerge --depclean
(without any arguments). This can also be done during updates using the --auto-depclean
/-x
flag, however you should carefully examine the transaction list to make sure that it isn't removing anything you wanted to keep.
Future Plans
This list is updated infrequently. See the Issues for up-to-date information.
- Support for other game engines and multiple games: 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. There is also not yet a way to distinguish between mods installed for different game engines.
- 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:
- Matrix
- Mailing List - Page - Email
- GitLab, via the Issue Tracker and the email service desk
- OpenMW Forum Thread
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
Built Distributions
File details
Details for the file portmod-2.0b9.tar.gz
.
File metadata
- Download URL: portmod-2.0b9.tar.gz
- Upload date:
- Size: 166.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.6.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dde70f58e6eb99444942e0495da484ac642195d0d86a506ad867653a3deb10fa |
|
MD5 | b262f32f13ef38364eef15ce61889f0a |
|
BLAKE2b-256 | 0c3099ee2fb9176a1367053f653122d1a65e2c78c21a325e7d0ecb5686a34f21 |
File details
Details for the file portmod-2.0b9-cp38-cp38-win_amd64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp38-cp38-win_amd64.whl
- Upload date:
- Size: 859.4 kB
- Tags: CPython 3.8, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b9c639c009d967d8ca2b72334bd026f6dd1e8a1a144f855ea784a4c3873b941 |
|
MD5 | cc34af9d9e467c64686fdce3028f96c3 |
|
BLAKE2b-256 | 512752606e4ed4f6bdec0c776c67a8f4b45ac15369a4f74793b1e1a23b775dd7 |
File details
Details for the file portmod-2.0b9-cp38-cp38-manylinux1_x86_64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp38-cp38-manylinux1_x86_64.whl
- Upload date:
- Size: 939.9 kB
- Tags: CPython 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.6.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5543d746e88d0b918fcbbdb2a9ed4457caf3c224c8709aa706d83976f10caeb |
|
MD5 | a46967991201a243dcd687e37d70dbd9 |
|
BLAKE2b-256 | b5fedc34447785ad623b012f808d65cc1820c36ca2c0b3760983120cc9c16b66 |
File details
Details for the file portmod-2.0b9-cp38-cp38-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp38-cp38-macosx_10_15_x86_64.whl
- Upload date:
- Size: 894.5 kB
- Tags: CPython 3.8, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 959aed5788d10cae4784ad37b035931c71ab7cb293bd8f7a83c2cbac16130a86 |
|
MD5 | df2706b2174ffd6ac357a3e39530215d |
|
BLAKE2b-256 | f54046719eaa4a38a75075e2945d6db7575f5a142d12244199e47f27eaea35c5 |
File details
Details for the file portmod-2.0b9-cp37-cp37m-win_amd64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp37-cp37m-win_amd64.whl
- Upload date:
- Size: 859.3 kB
- Tags: CPython 3.7m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65bf81fc8a5f738ad3972f57845aecdcb64fb950d158fb7d635cc557bf423cda |
|
MD5 | 2bd8b1543cc722410c5f678b548cccd3 |
|
BLAKE2b-256 | 88ee0fc40a62c85e803951a5d1e78211d006ba37331bb53e189c5525ddafb0be |
File details
Details for the file portmod-2.0b9-cp37-cp37m-manylinux1_x86_64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp37-cp37m-manylinux1_x86_64.whl
- Upload date:
- Size: 939.8 kB
- Tags: CPython 3.7m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.6.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad4e02de22fa4be9450686f7572df528a573a2b8f9b244b52a801b3754a72847 |
|
MD5 | da6916fa27ca2fabc8702834c30ad435 |
|
BLAKE2b-256 | b423f0e22ded4acaa3fcd2f790e3f01f935504e768753e7a0ca43e0596ffb178 |
File details
Details for the file portmod-2.0b9-cp37-cp37m-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp37-cp37m-macosx_10_15_x86_64.whl
- Upload date:
- Size: 894.6 kB
- Tags: CPython 3.7m, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fedf292c8a14a0588987b413e6fbbafb6946a165888bfb68939db1a51f7ea81d |
|
MD5 | 31da97b64ab9fda270ce4d450f52a734 |
|
BLAKE2b-256 | 9cb225a10e472b58feac9072425cdf3b100f7403b3d6a74dbf4b140663686e54 |
File details
Details for the file portmod-2.0b9-cp36-cp36m-win_amd64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp36-cp36m-win_amd64.whl
- Upload date:
- Size: 859.7 kB
- Tags: CPython 3.6m, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | df4177b0ccca3e4efe506a04a78231996ea89e2a933b0e5ec4990500a103c90d |
|
MD5 | cbc079d1d2d16cafbfa628e71cd8e6b7 |
|
BLAKE2b-256 | a1c0f404b0a2791fa7e75afc821a67e6965d6287eba4eccbaa729c4930ef3543 |
File details
Details for the file portmod-2.0b9-cp36-cp36m-manylinux1_x86_64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp36-cp36m-manylinux1_x86_64.whl
- Upload date:
- Size: 940.0 kB
- Tags: CPython 3.6m
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.6.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d03e3465630baae1fd0f16523d0614a0fe43b260693c6e6013804d8ad1eebcf0 |
|
MD5 | cce9a936d741673af7d8000d447b04ec |
|
BLAKE2b-256 | 1c307bba5b308ddc59afb47f89a5cb6c2b42761cde0e9fd0c02c70c1f24e2d95 |
File details
Details for the file portmod-2.0b9-cp36-cp36m-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: portmod-2.0b9-cp36-cp36m-macosx_10_15_x86_64.whl
- Upload date:
- Size: 894.9 kB
- Tags: CPython 3.6m, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec6b74f43850941dc56ed8524416d4fb1eaa7bb942e7fe88283c70a3e42c36e6 |
|
MD5 | 1492702f25dd4c2827f3a087b95d83aa |
|
BLAKE2b-256 | cdc2f74243bfddb226d6fc4bc24a647a5678107890d49e4115df1cdaad511a83 |