Skip to main content

pyfomod

PyPi Python Versions Build Status

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)

Source distribution for pyfomod 1.2.1
File Size Uploaded
pyfomod-1.2.1.tar.gz 21.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyfomod 1.2.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.2.1 This release

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page