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

Uploaded Python 3

File details

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

File metadata

  • Download URL: packsmith-0.1.9.tar.gz
  • Upload date:
  • Size: 40.1 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.9.tar.gz
Algorithm Hash digest
SHA256 c6b664e508389acfbb73cdddc873cb791f95b8fb028b5c2150ae4955727ef325
MD5 d4a84c41acb59c2d455005b56b49674c
BLAKE2b-256 a32cf57cf22839569ebecb4ed8a2050f77244c292cd618e3a9400178171654db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: packsmith-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 23.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.9-py3-none-any.whl
Algorithm Hash digest
SHA256 73a0deadf3efa5275316cc9ac273557743c39605738761b930aa44f74cedbf9d
MD5 e6d847f847444857f3e3d6355cf5e80d
BLAKE2b-256 b64b141b57ba46cf25a2290db922ac37564cb6ff67951d3a0958f6238fb7ad7f

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