Skip to main content

A dead simple CLI-based launcher for Cosmic Reach and Cosmic Quilt

Project description

Cosmix

A dead simple CLI-based launcher for Cosmic Reach and Cosmic Quilt.

Installation

# From PyPI (recommended)
python3 -m pip install cosmix-launcher

# From source
git clone https://codeberg.org/emmathemartian/cosmix && cd cosmix
python3 -m pip install -r requirements.txt
python3 -m build
python3 -m pip install ./dist/*.whl

To makes sure it's installed, run cosmix version. You should see [info]: Cosmix <some version> in the console.

If the command is not found, make sure your ~/.local/bin/ is on your $PATH.

Updating

python3 -m pip install --upgrade cosmix-launcher

Uninstallation

python3 -m pip uninstall cosmix-launcher

Troubleshooting

Arch Linux:

Arch Linux and its derivatives may complain with error: externally-managed-environment. To get around this, use the --user --break-system-packages options with pip install.

Obviously this has a chance of breaking something, but in my testing I have yet to have that happen. Though be aware and know that I am not responsible if you break your system.

Maven:

You may also need to install Maven. On Arch Linux this is just pacman -S maven.

Maven is used to download and resolve all of Cosmic Quilt's dependencies automatically, hence why it is required.

Dependencies

hjson tqdm requests crm1 Send2Trash click java-manifest

To install and/or upgrade all of them at once, just run:

python3 -m pip install --upgrade hjson tqdm requests crm1 Send2Trash click java-manifest

Usage

global options:
    --work-dir -w               specify a working directory for Cosmix to use.

cosmix version
    prints the current installed cosmix version

cosmix debug
    prints a lot of debug information related to cosmix

cosmix add [instance]
    adds and downloads a new instance
    options:
    --version -v VERSION        specify a Cosmic Reach version to use. defaults to "latest"
    --quilt-version -q VERSION  specify a Cosmic Quilt version to use. defaults to "none"
    --display-name -n NAME      optionally specify a display name for the instance

cosmix update [instance]
    updates an existing version
    options:
    --version -v VERSION        specify a Cosimc Reach version to use. defaults to "latest"
    --quilt-version -q VERSION  specify a Cosmic Quilt version to use. defaults to "none"

cosmix instances
    lists all instances

cosmix launch [instance]
    launches an instance

cosmix info [instance]
    prints info about an instance

cosmix add-mod [instance] [path to mod jar]
    adds a mod jar to an instance

cosmix add-crm1-mod [instance] [mod id]
    adds a mod to an instance via CRM-1. To add repos, see ~/.local/share/cosmix/config.hjson

cosmix add-data-mod [instance] [mod path]
    adds a data mod to an instance

cosmic whereis [instance]
    prints the path to a given instance

cosmix trash [instance]
    moves an instance to the system's trash folder

Examples

# Create an unmodded instance named `vanilla` on the latest CR version
cosmix add vanilla
# Create a Cosmic Quilt instance named `my-quilt` on the latest CR version with Cosmic Quilt 1.2.7
cosmix add my-quilt --quilt-version 1.2.7
# Create a vanilla instance named `old-version` on CR 0.0.1
cosmix add old-version -v 0.0.1
# Install the latest version of Flux API available on JoJoJux's autorepo to the instance `test`
cosmix add-crm1-mod test dev.crmodders.flux
# Update the `latest` instance to the latest available versions of Cosmic Reach and Cosmic Quilt
cosmix update latest -v latest -q latest

File Structure

Cosmix stores all of its data in your $XDG_DATA_HOME (typically ~/.local/share/) on Linux and %appdata% on Windows and in the cosmix folder.

This folder will contain the following extra folders:

cosmix/
    config.hjson - Configs for Cosmix

    deps/
        cosmic-reach/
            Contains JARs for each downloaded Cosmic Reach version.
        cosmic-quilt/
            Contains the JAR dependencies for each downloaded Cosmic Quilt version.

    instances/
        example-instance/
            config.hjson - Configs for the instance.
            deps/
                If the instance is modded, this folder is used to store extra dependencies for the classpath. Typically this will be unused.

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

cosmix_launcher-1.0.9.tar.gz (10.7 kB view details)

Uploaded Source

Built Distribution

cosmix_launcher-1.0.9-py3-none-any.whl (12.8 kB view details)

Uploaded Python 3

File details

Details for the file cosmix_launcher-1.0.9.tar.gz.

File metadata

  • Download URL: cosmix_launcher-1.0.9.tar.gz
  • Upload date:
  • Size: 10.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.1

File hashes

Hashes for cosmix_launcher-1.0.9.tar.gz
Algorithm Hash digest
SHA256 dd3dcbdbacfd071d5b1d453a63255a960893b4b5eb9a5c88c14c9f68d7524f2b
MD5 aee38ff04cbb8ff28a69ef92144687e0
BLAKE2b-256 e690d24e0b3a642f1fb1c3e85d4c2841378146d1b94ed9a6c3fdb22b4cad2f77

See more details on using hashes here.

File details

Details for the file cosmix_launcher-1.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for cosmix_launcher-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 b52b19ef520266152d776f3049fe2ab4aa772c744991c781c9a4b421504e5675
MD5 2c5de355dc26ac3d7f87012d3e25f587
BLAKE2b-256 9c1bb9a5298813d43572997b4364911b4ebf4f3c0135032dbd7f07a81c75d27d

See more details on using hashes here.

Supported by

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