Skip to main content

A Python library for reading/writing Minecraft's various save formats.

Project description

Amulet Core

Build Unittests Stylecheck Documentation

A Python 3 library to read and write data from Minecraft's various save formats.

This library provides the main world editing functionality for Amulet Map Editor

If you are looking for the actual editor it can be found at Amulet Map Editor

Documentation

Our online documentation can be found here: https://amulet-core.readthedocs.io

Installing

  1. Install Python 3.7
  2. We recommend setting up a python virtual environment so you don't run into issues with dependency conflicts.
  3. run pip install amulet-core to install the library and all its dependencies.

Dependencies

This library uses a number of other libraries. These will be automatically installed when running the command above.

Contributing

For Development

Download the code to your computer, install python and run the following command from the root directory. run pip install -e .[dev] This command will install the library in development mode with the libraries required for development.

  • Black (Required for formatting)
    • Must be run before pushing a Pull Request

For information about contributing to this project, please see the contribution section below

Code Formatting

For code formatting, we use the formatting utility black. To run it, run the following command from your favorite terminal after installing: black amulet tests

In order for your pull request to be accepted, this command must be run to format every file.

Building the Documentation

To build the documentation locally, run the following command: make html and then navigate to the generated directory docs_build/html in your favorite web browser

Branch Naming

Branches should be created when a certain bug or feature may take multiple attempts to fix. Naming them should follow the following convention (even for forked repositories when a pull request is being made):

  • For features, use: impl-<feature name>
  • For bug fixes, use: bug-<bug tracker ID>
  • For improvements/rewrites, use: improv-<feature name>
  • For prototyping, use: proto-<feature name>

Pull Requests

We ask that submitted Pull Requests give moderately detailed notes about the changes and explain any changes that were made to the program outside of those directly related to the feature/bug-fix. Make sure to run all tests and formatting otherwise we cannot accept your pull request.

Note: We will also re-run all tests before reviewing, this is to mitigate additional changes/commits needed to pass all tests.

Once a Pull Request is submitted, we will mark the request for review, once that is done, we will review the changes and provide any notes/things to change. Once all additional changes have been made, we will merge the request.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

amulet_core-2.0.4a1.post250728120751-cp312-cp312-macosx_10_15_universal2.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 10.15+ universal2 (ARM64, x86-64)

File details

Details for the file amulet_core-2.0.4a1.post250728120751-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for amulet_core-2.0.4a1.post250728120751-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2566569b43f71110aa6652936fcf945af5546986b52789a85b5b838e2ab2a857
MD5 eaee8d8f4247cc5eaf73255bfe1237c0
BLAKE2b-256 94356e48959a1218aa9d20b3c882f56ba4c6fcbe031c9a4464f33e928094f1f6

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