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.4.tar.gz (38.7 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.4-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: packsmith-0.1.4.tar.gz
  • Upload date:
  • Size: 38.7 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.4.tar.gz
Algorithm Hash digest
SHA256 93868b8d9ea7418accbcd87e3e967f5b89eec7e677a1874772dc1d532627f44e
MD5 26bcf778b38b07a5e8b397c19cde3ba7
BLAKE2b-256 c43dd50fb7800b912df3e5250d1edd625abbff2f0093571c0126effbbf407c1f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: packsmith-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 21.5 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5ca1629dc74aee5fca9b594d26a705c71bb4082ac04035d71335c6834d74b68c
MD5 858803b9b8c9028364b470911e78e8a7
BLAKE2b-256 0b761c9735fcf31fbe62bbca3848a9646f7f7b4bbeb9ab107125de863f8eaf31

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