pyfomod
A high-level fomod library written in Python.
:warning: Note: This is a mature library with all planned features added and no known bugs - do not be alarmed by the lack of commits.
pyfomod makes it easy to work on fomod installers:
- Pythonic data struture
- Easy data extraction and modification
- No need to deal with complex xml schemas or trial and error changes
pyfomod automatically ignores any schema errors in an installer and corrects them when writing - you can fix most schema errors simply by parsing then writing the installer with pyfomod.
Installation
To install pyfomod, use pip:
pip install pyfomod
Quick Examples
Use an existing installer:
>>> root = pyfomod.parse("path/to/package")
Get the installer metadata::
>>> root.name
'Example Name'
>>> root.author
'Example Author'
>>> root.description
'This is an example of metadata!'
>>> root.version
'1.0.0'
>>> root.website
'https://www.nexusmods.com/example/mods/1337'
Create a new installer:
>>> root = pyfomod.Root()
Save the installer:
>>> pyfomod.write(root, "path/to/package")
Documentation
For more information check out pyfomod's documentation at pyfomod.rtfd.io
Issues
Please use the GitHub issue tracker to submit bugs or request features.
What Is Fomod Anyway?
Fomod is a package format for mod installers. It's game-agnostic, meaning it works on any game. It follows a specific package struture with a mandatory xml file in a subfolder that follows a specific xml schema and an optional xml file that does not. For more information visit the fomod documentation.
Development
pyfomod uses poetry to manage package versions:
path/to/python.exe -m pip install poetry
path/to/python.exe -m poetry install
Ensure that everything is correct before committing:
path/to/python.exe -m poetry run check
path/to/python.exe -m poetry run test
When you're done with a feature/fix, bump the version:
path/to/python.exe -m poetry run bump2version {major|minor|patch}
To finally publish to PYPI:
path/to/python.exe -m poetry publish --build -u $PYPI_USER -p $PYPI_PASS
Metadata
Release files for pyfomod 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyfomod-1.2.1.tar.gz | 21.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyfomod-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.4 kB
Release files / pyfomod-1.2.1.tar.gz
| Download URL | pyfomod-1.2.1.tar.gz |
|---|---|
| Size | 21.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd6da14fb75be2a10c9be9246267a9f5bf32d6f72e2cbfe4d0cf2cdea795523f
|
|
BLAKE2b-256 checksum How to use checksums |
5e67506e4c3696a14aa18812998b48ed1ff91127c93932ca8208fd690c5ea3ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/0.12.17 CPython/3.7.5 Linux/5.0.0-1023-azure
|
Release files / pyfomod-1.2.1-py3-none-any.whl
| Download URL | pyfomod-1.2.1-py3-none-any.whl |
|---|---|
| Size | 23.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
de80572b1ae8f71ca2fa8644ea0571ad8d84feb3eb669fc9bd02960b7c09219e
|
|
BLAKE2b-256 checksum How to use checksums |
4e0917911c7f29b9ebc6f5f1cccf3acb79e4962c46c1c3693dedfb3eab88e254
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/0.12.17 CPython/3.7.5 Linux/5.0.0-1023-azure
|