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

Uploaded Python 3

File details

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

File metadata

  • Download URL: packsmith-0.1.7.tar.gz
  • Upload date:
  • Size: 40.0 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.7.tar.gz
Algorithm Hash digest
SHA256 b2f3e8a4f90b243cb04d2744b93263b457985c4b5d8ef93e2c5b2f54ef72b2df
MD5 3e767edd9d96261ae1b457a51cd18814
BLAKE2b-256 2cc9497b1ef3fe88ef9dd9089a114cbc65887e6f53addcf9685fe7322eef54a6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: packsmith-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 23.6 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e6bb0cfca57154a649db45ff1eea0b899d9273d220ebe489caa2beeab5f18778
MD5 7b79e8b88be7aea9931ea3cbf4b8010f
BLAKE2b-256 13b8293f6d99dfad66b332bd8ddeeeb31f024ca2181ad3d1f2e3e0e2c52abfbb

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