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.1.tar.gz (492.1 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.1-py3-none-any.whl (500.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: piket-0.3.1.tar.gz
  • Upload date:
  • Size: 492.1 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.1.tar.gz
Algorithm Hash digest
SHA256 5bd20b03f268b774b77855e5dff3ee9c0d92decd241a4cd1e83fdf62dd2d19dd
MD5 f1c9321f930ced20164a292005569295
BLAKE2b-256 26df838cd9536b48af9fe0b1a5b3884a28244e3140677d67a52582a284caea17

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: piket-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 500.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 979cc122fdb5f295532e5e94565ebb5a6b6756f020983f4b5a09cd1cae15b37e
MD5 d9cc297fab8874052dfc5470826715f5
BLAKE2b-256 4f8c66bfff43c6bc341de75e878e44307198644540a2911c2e55d4fdd15610df

See more details on using hashes here.

Provenance

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