Skip to main content

Pikmin e+ Card Tools, a library for manipulating Pikmin e+ cards

Project description

Piket: Pikmin e+ Card Tools

All-in-one package for converting and managing Pikmin e+ Cards, pronounced "picket".

Now with support for Windows, macOS (Apple Silicon), and Linux!

Current Capabilities

  • Decode .raw to editable level data
  • Encode editable level data to .raw
  • Built-in support for manipulating Plucking Pikmin, Connecting Pikmin, and Marching Pikmin levels, such as:
    • set_tile easily set a tile at (x, y), or set_tiles for (x, y, w, h) placement
    • encode to quickly and easily get your modified Card into raw format
  • Export and Import custom treasure sprites (both 16x16 and 32x32) for cards with Marching Pikmin levels

Installation

Easily include Piket in your projects with pip:

pip install piket

Quick Start Guide

Use Piket as a Level Editor:

# for Plucking Pikmin
from piket import Card, PluckingPikmin as P
from pathlib import Path

card = Card("12-A001.raw") # decode the card

if isinstance(card.levels[0], P.Level):
    lvl: P.Level = card.levels[0]
    lvl.clear_all() # sets all tiles and pikis to 0x0
    lvl.grid = (3, 3) # sets the level to a 3x3 grid, maximum 11x8
    lvl.start = (1, 1) # sets the starting position
    lvl.player = P.Player.LOUIE # sets the player character

    lvl.set_grid(P.Tile.GRASS) # sets all tiles in the grid (3x3) to grass
    lvl.set_tile(0, 0, P.Piki.RED) # places a red Pikmin at (0, 0)
    lvl.set_tile(2, 2, P.Tile.FIRE) # places a fire geyser at (2, 2)

Path("12-A001-New.raw").write_bytes(card.encode()) # encode the card and write

For more detailed usage, check the dedicated Usage Guide.

Demo

Try Piket now with the Drag-and-Drop Converter! This demo allows you to easily drag-and-drop .raw files and get decoded .bin files -- and then vice versa! This requires tkinterdnd2 which may not work on all platforms.

pip install "piket[demo]"
python -m piket.converter

Acknowledgements

  • Caitsith2: Original e-Reader Tools (nedclib)
  • Lymia: Cross-platform, open source version of Caitsith2's nedclib
  • breadbored: Maintainer of Lymia's now-archived nedclib
  • BlackShark: headerfix.c source code

Nintendo is the copyright and trademark holder for Pikmin, its designs and its characters. This project is free, and for educational purposes only.

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

piket-0.3.0.tar.gz (490.7 kB view details)

Uploaded Source

Built Distribution

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

piket-0.3.0-py3-none-any.whl (499.1 kB view details)

Uploaded Python 3

File details

Details for the file piket-0.3.0.tar.gz.

File metadata

  • Download URL: piket-0.3.0.tar.gz
  • Upload date:
  • Size: 490.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for piket-0.3.0.tar.gz
Algorithm Hash digest
SHA256 580bbf54bbc2c8068dabb2e0d2705d70121d98ab3ba67cab23ca722f02612240
MD5 bb0644dee2cc1585ccf512a1868e3c04
BLAKE2b-256 2942f6d152bda297fb83a336e507ba862dbd25512ea6e768fee410efb007171f

See more details on using hashes here.

Provenance

The following attestation bundles were made for piket-0.3.0.tar.gz:

Publisher: publish.yml on plxl/piket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file piket-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: piket-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 499.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for piket-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b198336fb5aa8e43dc69746f4c0ff3e0e6d7f88df6aa00925775d1b4f6b9f42b
MD5 2e2a349df6f8e9bf10c559ba0fe94188
BLAKE2b-256 d294cadfecc43b95af0642d61927f47b5cfc4c004bc6ec47ef68627eff89c703

See more details on using hashes here.

Provenance

The following attestation bundles were made for piket-0.3.0-py3-none-any.whl:

Publisher: publish.yml on plxl/piket

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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