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.2.tar.gz (492.2 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.2-py3-none-any.whl (501.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: piket-0.3.2.tar.gz
  • Upload date:
  • Size: 492.2 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.2.tar.gz
Algorithm Hash digest
SHA256 ff28d9d420919975ddf495eb06bc990d53e1c69b4c8eabfc9799c06fc4797093
MD5 25d5b41fa825ab6824f094bf089ca03e
BLAKE2b-256 3aeec778ca2ac6b4f73f51a16752fc46369e4aacdac49b7ca8eed054068df85e

See more details on using hashes here.

Provenance

The following attestation bundles were made for piket-0.3.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: piket-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 501.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d8e5f787e0531fa941f51a71a6eb87c54ba486e054e78fcddf430c9b321354e4
MD5 3d025b6ff9c3e2a67384237503c27fbc
BLAKE2b-256 0dde0e5fa3041191124a17762d69ba74ee12e58cc69f4512cf52f184b7b05980

See more details on using hashes here.

Provenance

The following attestation bundles were made for piket-0.3.2-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