AminetAminet
Search:
85213 packages online
About
Recent
Browse
Search
Upload
Setup
Services

dev/lang/micropython.lha

Mirror:Random
Showing: m68k-amigaos iconppc-amigaos iconppc-morphos iconi386-aros iconi386-amithlon iconppc-warpup iconppc-powerup icongeneric iconother icon
No screenshot available
Short:MicroPython interpreter for Amiga68k
Author:Fabrice LABATUT
Uploader:fabrice labatut club-internet fr
Type:dev/lang
Version:1.27.0-build186
Architecture:m68k-amigaos >= 3.0
Date:2026-03-26
Requires:2 MB RAM (4 MB recommended for networking/TLS)
Replaces:dev/misc/micropython.lha
Distribution:Aminet
URL:https://github.com/OoZe1911/micropython-amiga-port
Download:dev/lang/micropython.lha - View contents
Readme:dev/lang/micropython.readme
Downloads:46

MicroPython for AmigaOS (m68k)
==============================

A port of MicroPython v1.27 (compatible Python 3.4) to AmigaOS,
targeting Motorola 68020+ processors. Runs on classic Amiga hardware
(A1200, A3000, A4000) and emulators (WinUAE, FS-UAE).

This port was developed by Fabrice with coding assistance from Claude
(Anthropic's AI), under Fabrice's direct supervision: architecture
decisions, implementation strategy, testing on real hardware/emulator,
and bug reports are all driven by Fabrice. Every change is reviewed
and validated before being committed.


Requirements
------------

  - AmigaOS 3.0 or higher
  - Motorola 68020 CPU or higher
  - 2 MB RAM minimum for simple scripts
  - 4 MB RAM recommended for networking and TLS
  - AmiSSL (optional, required for HTTPS/TLS support)


Usage
-----

  micropython                        ; interactive REPL
  micropython script.py              ; run a Python script
  micropython script.mpy             ; run precompiled bytecode
  micropython -c "print(2**32)"      ; run inline code
  micropython -m 512 script.py       ; run with 512 KB heap

The default heap size is 128 KB. Use -m to allocate more memory
(in KB). For example, downloading a web page may require 4 MB
of heap: micropython -m 4096 script.py

Press Ctrl-C at any time to interrupt a running script or a
time.sleep() call.


Features
--------

  - Full Python 3.4 compatibility (ROM_LEVEL_EVERYTHING):
    f-strings, set operations, OrderedDict, advanced slicing,
    descriptors, async/await, and more
  - Interactive REPL with readline support (cursor keys, history)
  - Script execution and inline code (-c option)
  - Configurable heap size (-m option)
  - Precompiled bytecode: import and execute .mpy files compiled
    with mpy-cross, either via import or directly from the command
    line (micropython script.mpy)
  - Ctrl-C (KeyboardInterrupt) support during script execution,
    loops, and time.sleep()

  Modules included:
    re, json, math, struct, binascii, base64, time, datetime,
    random, hashlib (sha256), errno, platform, socket, ssl,
    urequests, deflate, gzip, arexx, gc, sys, io

  File system support:
    Full open/read/write/close via VFS_POSIX. os.listdir,
    os.getcwd, os.chdir, os.mkdir, os.rmdir, os.remove,
    os.rename, os.stat, os.chmod, os.getprotect, os.makedirs,
    os.walk, os.path with AmigaOS volume:path conventions.

  Networking:
    TCP/UDP sockets, DNS resolution via bsdsocket.library.
    HTTP client (urequests) with HTTP/1.1, chunked transfer
    encoding, gzip decompression.

  TLS/SSL (requires AmiSSL):
    HTTPS support via AmiSSL. The amissl.library must be
    installed on the Amiga. 4 MB RAM minimum is recommended
    when using TLS.

  ARexx IPC:
    Inter-process communication with AmigaOS applications via
    ARexx message ports. arexx.send() for one-shot commands,
    arexx.exists() to check port availability, arexx.ports()
    to list active ports, and arexx.Port() persistent client
    with context manager for efficient multi-command sessions.

  Platform detection:
    platform.amiga_info() shows CPU, FPU, chipset, Kickstart
    version, and available memory.


AmigaOS Path Conventions
------------------------

AmigaOS uses ":" to separate volumes from paths and "/" for
subdirectories:

  >>> import os
  >>> os.getcwd()
  'DH0:Work'
  >>> os.path.join("DH0:", "work", "scripts")
  'DH0:work/scripts'
  >>> os.path.isabs("DH0:file.py")
  True


Changes since build 169
-----------------------

  - ARexx IPC module: send commands to and communicate with any
    ARexx-aware application (IBrowse, Directory Opus, etc.)
  - os.chmod(): set AmigaOS file protection flags
  - os.getprotect(): read AmigaOS file protection flags
  - Ctrl-C support: KeyboardInterrupt now works during script
    execution, loops, and time.sleep() calls
  - Direct .mpy execution: run precompiled bytecode files from
    the command line (micropython script.mpy)
  - Import .mpy files: precompiled bytecode modules can be
    imported alongside regular .py modules


Known Limitations
-----------------

  - time.ticks_ms() returns 0 (no high-res timer yet)
  - hashlib only supports SHA256
  - Sockets are always blocking
  - No multithreading


Source Code
-----------

The full source code is available on GitHub:
https://github.com/OoZe1911/micropython-amiga-port


License
-------

MicroPython is licensed under the MIT License.


Contents of dev/lang/micropython.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[Amiga]                   1171    1484  78.9% -lh5- 33e7 Mar 26 15:54 micropython.info
[Amiga]                 210497  395484  53.2% -lh5- 381e Mar 26 15:06 micropython/micropython
[Amiga]                   2271    4850  46.8% -lh5- 6019 Mar 26 15:44 micropython/micropython.readme
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total         3 files  213939  401818  53.2%            Mar 26 23:15
Page generated in 0.01 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>