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
.rawto 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_tileeasily set a tile at (x, y), orset_tilesfor (x, y, w, h) placementencodeto 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
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 Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5bd20b03f268b774b77855e5dff3ee9c0d92decd241a4cd1e83fdf62dd2d19dd
|
|
| MD5 |
f1c9321f930ced20164a292005569295
|
|
| BLAKE2b-256 |
26df838cd9536b48af9fe0b1a5b3884a28244e3140677d67a52582a284caea17
|
Provenance
The following attestation bundles were made for piket-0.3.1.tar.gz:
Publisher:
publish.yml on plxl/piket
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
piket-0.3.1.tar.gz -
Subject digest:
5bd20b03f268b774b77855e5dff3ee9c0d92decd241a4cd1e83fdf62dd2d19dd - Sigstore transparency entry: 681409439
- Sigstore integration time:
-
Permalink:
plxl/piket@48a1e582e696a1cd0b3ea5e3f226108fa2b976cc -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/plxl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@48a1e582e696a1cd0b3ea5e3f226108fa2b976cc -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
979cc122fdb5f295532e5e94565ebb5a6b6756f020983f4b5a09cd1cae15b37e
|
|
| MD5 |
d9cc297fab8874052dfc5470826715f5
|
|
| BLAKE2b-256 |
4f8c66bfff43c6bc341de75e878e44307198644540a2911c2e55d4fdd15610df
|
Provenance
The following attestation bundles were made for piket-0.3.1-py3-none-any.whl:
Publisher:
publish.yml on plxl/piket
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
piket-0.3.1-py3-none-any.whl -
Subject digest:
979cc122fdb5f295532e5e94565ebb5a6b6756f020983f4b5a09cd1cae15b37e - Sigstore transparency entry: 681409441
- Sigstore integration time:
-
Permalink:
plxl/piket@48a1e582e696a1cd0b3ea5e3f226108fa2b976cc -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/plxl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@48a1e582e696a1cd0b3ea5e3f226108fa2b976cc -
Trigger Event:
release
-
Statement type: