Skip to main content

A CLI based minecraft mod pack creator/manager

Project description

Packsmith

Packsmith is a CLI tool for creating and managing Minecraft modpacks. It is designed to help you initialize a pack, add mods or other content, resolve dependencies from Modrinth, download the resolved files, and export a distributable modpack archive.

This project is a remake of ModForge-CLI, with a focus on a cleaner codebase and a more direct workflow for modern modpack creation.

What Packsmith does

Packsmith helps you:

  • create a new modpack structure with the expected folders
  • add mods, resourcepacks, and shaders to a pack manifest
  • resolve Modrinth dependencies into a lockfile
  • download the resolved files into the correct directories
  • export a modpack as an .mrpack-style archive for distribution

Installation

You can install the project locally with:

pip install -e .

Or with uv:

uv sync

Basic workflow

  1. Create a new pack:
packsmith init <pack-name> <game-version> <loader> <loader-version>
  1. Add content to the pack:
packsmith add <name> mod

You can also use other project types such as resourcepack or shader.

  1. Resolve dependencies:
packsmith resolve
  1. Download the resolved files:
packsmith download
  1. Export the pack:
packsmith export --client

or

packsmith export --server

by default it will export the pack with both server and client stuff

Project structure

When you initialize a pack, Packsmith creates a basic folder layout similar to this:

<pack-name>/
  meta.json
  lock.toml
  mods/
  overrides/
    config/
    resourcepacks/
    shaderpacks/

Notes

Packsmith is still being developed, and some features are still evolving. The current focus is on building a reliable workflow for modpack creation, dependency resolution, and export.

And i am planning on adding a command that takes in you minecraft version and loader and will give you back the latest most compatible loader for that version of the game

Mention

You can look at the test.sh file in the repos root the code in it makes a basic modpack and you can use it as reference

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

packsmith-0.1.1.tar.gz (37.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

packsmith-0.1.1-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file packsmith-0.1.1.tar.gz.

File metadata

  • Download URL: packsmith-0.1.1.tar.gz
  • Upload date:
  • Size: 37.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for packsmith-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7c1ee5dd7620c9d9c048f54354c229f2886260f496d78230247a8e5909341eb6
MD5 263f81c678dcc6e92996e58288dc3e0c
BLAKE2b-256 eef91c299f495a4089f8a771699bbbe129f59548308fdf67ca022fa95fa27ff9

See more details on using hashes here.

File details

Details for the file packsmith-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: packsmith-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for packsmith-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 184a2d6398cef37ac010648e117aeeaf0f60a8c597fac3c09a16946e744ca934
MD5 bbc8435c5375a8795368a4fcab307acb
BLAKE2b-256 b6e2dd295b02ab349abcf40ecf80ae4b90a36fd25536741a39cba8f1dcc405ad

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page