Skip to main content

A high-level fomod library written in Python.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfomod-1.2.1.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

pyfomod-1.2.1-py3-none-any.whl (23.7 kB view details)

Uploaded Python 3

File details

Details for the file pyfomod-1.2.1.tar.gz.

File metadata

  • Download URL: pyfomod-1.2.1.tar.gz
  • Upload date:
  • Size: 21.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.5 Linux/5.0.0-1023-azure

File hashes

Hashes for pyfomod-1.2.1.tar.gz
Algorithm Hash digest
SHA256 fd6da14fb75be2a10c9be9246267a9f5bf32d6f72e2cbfe4d0cf2cdea795523f
MD5 62ebc8bbfa7b35bd6c75d46a299bf5c8
BLAKE2b-256 5e67506e4c3696a14aa18812998b48ed1ff91127c93932ca8208fd690c5ea3ee

See more details on using hashes here.

File details

Details for the file pyfomod-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: pyfomod-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 23.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.5 Linux/5.0.0-1023-azure

File hashes

Hashes for pyfomod-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 de80572b1ae8f71ca2fa8644ea0571ad8d84feb3eb669fc9bd02960b7c09219e
MD5 b77c7b74de9d8b28ce7f2ea91c0d625a
BLAKE2b-256 4e0917911c7f29b9ebc6f5f1cccf3acb79e4962c46c1c3693dedfb3eab88e254

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