planetcasio.programs – Program interactions

planetcasio.programs.ProgramID

Program identifier.

alias of Annotated[int, Ge(ge=1)]

class planetcasio.programs.ProgramCalculator(value)

Bases: IntEnum

Targeted calculator for programs.

GRAPH_35_100 = 1

Graph 35 to 100.

GRAPH_25 = 2

Graph 25+Pro / 25+E / 25+E II.

GRAPH_35 = 3

Graph 35+USB / 75(+E) / 85 / 95 SD.

GRAPH_100 = 4

Graph 100(+).

CLASSPAD_300 = 5

ClassPad 300 / 330 (+).

FXCG10 = 6

fx-CG 10/20 (Prizm).

CLASSPAD_400 = 7

ClassPad 400(+E).

GRAPH_90 = 8

Graph 90+E.

FX92 = 9

fx-92+ SC.

class planetcasio.programs.ProgramCategory(value)

Bases: StrEnum

Program category.

GAMES = 'a'

Games.

UTILITIES = 'b'

Utility programs.

CLASSES = 'c'

Programs for studies.

class planetcasio.programs.ProgramType(value)

Bases: StrEnum

Program type.

GAMES_ACTION_SPORT = 'a1'

Action/sport games.

GAMES_SHOOT = 'a2'

Shooting games.

GAMES_PUZZLES = 'a3'

Puzzle games.

GAMES_RPG = 'a4'

Role-playing games.

GAMES_STRATEGY = 'a5'

Strategy-based games.

GAMES_MISC = 'a6'

Miscellaneous games.

GAMES_ADDINS = 'a7'

Games that come as add-ins.

GAMES_PROJECTS = 'a8'

Game projects.

GAMES_CONTEST = 'a9'

Games made in the context of contests.

GAMES_BAZAR = 'a10'

Bric-a-brac games.

GAMES_MLC = 'a11'

Games made using MLC.

GAMES_LUA = 'a12'

Games made using LuaFX / CGLua.

UTILITIES_CONVERSION = 'b1'

Conversion utilities.

UTILITIES_GRAPHICS = 'b2'

Graphics utilities.

UTILITIES_ORGANISERS = 'b3'

Productive utilities.

UTILITIES_MISC = 'b4'

Miscellaneous utilities.

UTILITIES_ADDINS = 'b5'

Utilities that come as add-ins.

UTILITIES_MLC = 'b6'

Utilities made using MLC.

UTILITIES_LUA = 'b7'

Utilities made using LuaFX / CGLua.

CLASSES_MATH = 'c1'

Math programs.

CLASSES_PHYSICS = 'c2'

Physics programs.

CLASSES_CHEMISTRY = 'c3'

Chemistry programs.

CLASSES_ELEC = 'c4'

Electronics / S.I programs.

CLASSES_MISC = 'c5'

Miscellaneous programs for classes.

CLASSES_ADDINS = 'c6'

Programs for classes that come as add-ins.

class planetcasio.programs.ProgramFormat(value)

Bases: StrEnum

Program format.

G1R = 'g1r'
G2R = 'g2r'
G3R = 'g3r'
G1M = 'g1m'
G2M = 'g2m'
G3M = 'g3m'
G1S = 'g1s'
G2S = 'g2s'
G3S = 'g3s'
G1E = 'g1e'
G2E = 'g2e'
G3E = 'g3e'
LUA = 'lua'
ZIP = 'zip'
RAR = 'rar'
TXT = 'txt'
PDF = 'pdf'
FXI = 'fxi'
CAT = 'cat'
LC = 'lc'
MCS = 'mcs'
FLS = 'fls'
CPA = 'cpa'
PY = 'py'
class planetcasio.programs.ProgramLicense(value)

Bases: StrEnum

Program license.

NONE = 'none'
CC_BY = 'CC_2.0_BY'
CC_BY_SA = 'CC_2.0_BY-SA'
CC_BY_NC = 'CC_2.0_BY-NC'
CC_BY_ND = 'CC_2.0_BY-ND'
CC_BY_SA_NC = 'CC_2.0_BY-SA-NC'
CC_BY_NC_ND = 'CC_2.0_BY-NC-ND'
LGPL2 = 'LGPL_2.1'
LGPL3 = 'LGPL_3.0'
GPL2 = 'GPL_2.0'
GPL3 = 'GPL_3.0'
APACHE = 'Apache_2.0'
BSD = 'BSD'
MIT = 'MIT_X11'
ABANDONWARE = 'Abandonware'
CASIO = 'Casio_software'
INCLUDED = 'included'
PUBLIC = 'public'
class planetcasio.programs.ProgramOrder(value)

Bases: StrEnum

Program order.

RELEVANCE = 'perti'

Sort programs by relevance.

AVERAGE = 'moy'

Sort programs by marks average.

MARK_COUNT = 'nbrnotes'

Sort programs by number of marks.

DOWNLOADS = 'nbrdl'

Sort programs by number of downloads.

VISITS = 'visites'

Sort programs by visits.

CREATION_DATE = 'date'

Sort programs by creation date.

LAST_UPDATE_DATE = 'datemod'

Sort programs by last update date.

SIZE = 'taille'

Sort programs by size.

pydantic model planetcasio.programs.BaseProgram

Bases: BaseModel

Base program information.

field has_label: bool [Required]

Whether the program has the Planète Casio label.

field id: ProgramID [Required]

Program identifier.

Constraints:
  • ge = 1

field progrank: int [Required]

Current program rank.

field title: str [Required]

Title.

field uploader: str [Required]

User who has uploaded the program.

pydantic model planetcasio.programs.Program

Bases: BaseProgram

Program-related data.

field author: str [Required]

User who has made the program.

field created_at: AwareDatetime [Required]

Date and time of creation.

field description: str [Required]

Description.

field last_updated_at: AwareDatetime [Required]

Date and time of last update.

field size: Annotated[int, Ge(0)] [Required]

Size in bytes.

Constraints:
  • ge = 0

field version: str [Required]

Version.

field visits: Annotated[int, Ge(0)] [Required]

Number of visits on the program.

Constraints:
  • ge = 0

class planetcasio.programs.Programs(client: BaseClient, /)

Bases: Feature

Programs client.

async get(id: Annotated[int, Ge(ge=1)], /) Program

Get details regarding a program.

Parameters:

id – Identifier of the program to get.

Returns:

Program.

async search(*, calculator: ProgramCalculator | str | int | None = None, category: ProgramCategory | str | None = None, type: ProgramType | str | None = None, formats: set[ProgramFormat | str] | None = None, with_label: bool | None = None, order: ProgramOrder | str = ProgramOrder.RELEVANCE) AsyncIterator[Program]

Search for programs.

Parameters:
  • calculator – Targeted calculators to filter on.

  • category – Program category to filter on.

  • type – Program type to filter on.

  • formats – Program formats to filter on.

  • with_label – Whether filtered programs have a label.

  • order – Sorting order of the returned results.

Returns:

Program iterator.

async update(id: ProgramID, /, *, author: str | None = None, version: str | None = None, size: int | None = None, description: str | None = None, license: ProgramLicense | None = None, image: Path | tuple[Path | str, BytesIO | bytes] | NoValueType = NO_VALUE, file1: Path | tuple[Path | str, BytesIO | str | bytes] | NoValueType = NO_VALUE, file2: Path | tuple[Path | str, BytesIO | str | bytes] | NoValueType = NO_VALUE, file3: Path | tuple[Path | str, BytesIO | str | bytes] | NoValueType = NO_VALUE) None

Update a program with a given identifier.

Note

One can only replace a file or image on a program on Planète Casio, not remove it.

Parameters:
  • id – Identifier of the program to update.

  • author – New author to define on the program.

  • version – New version to define on the program.

  • size – New size to define on the program.

  • description – New description to define on the program.

  • license – New license to define on the program.

  • image – New image to define on the program.

  • file1 – File to add or replace in the first slot, with the path or file name and contents.

  • file2 – File to add or replace in the second slot, with the path or file name and contents.

  • file3 – File to add or replace in the third slot, with the path or file name and contents.

Raises:

Unauthorized – The operation was unauthorized.