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.2.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.2-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: packsmith-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 cc7de2107cf11203d54e4f2d9bc78ceb5b0b727be2c7b692abc5e6ac2db2056f
MD5 22e26e9b21d0a7c1516867f815516590
BLAKE2b-256 3cde2cb3fc082aa26373a71ed903f4f5a95b6174c9ca6e38f802f1b91387ce2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: packsmith-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 99165f1e362211d65a3aeabff747ffd70a1506abaeb604ebee56362caa909f79
MD5 7e2952ac0b02781ea57062db8ec06057
BLAKE2b-256 f39402bbc7c84d34b5c5a4d9ed3fbb9fc1df9a2a23548498b53c0d0de5990bbd

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