Catalog PyPI
Back to packageRELEASE DETAILS

0.3.1

PyPI

ai2-screen-renamer

Rename screens in MIT App Inventor 2 (.aia) projects

Published16 Mar 2026
Direct dependencies1
Transitive dependenciesNot calculated

README

Version 0.3.1 documentation

ai2-screen-renamer

A command-line tool to rename screens in MIT App Inventor 2 projects (.aia files).

App Inventor does not provide a built-in way to rename screens. This tool automates the process by editing the .aia file directly, updating all internal references consistently.

What it does

For a given screen rename (OldName → NewName), the tool updates:

  • OldName.scm → NewName.scm (Designer components file)
  • OldName.bky → NewName.bky (Blocks file)
  • $Name field inside the .scm file
  • main= and lastopened= entries in youngandroidproject/project.properties
  • Any open another screen block references in other screens' .bky files

Installation

Requires Python 3.10+.

pipx install ai2-screen-renamer

Or with pip:

pip install ai2-screen-renamer

Or install from source:

git clone https://github.com/fgimenez/ai2-screen-renamer.git
cd ai2-screen-renamer
pip install -e .

Usage

# Rename Screen2 to AgendaContactos, output to MyApp_AgendaContactos.aia
ai2-screen-renamer MyApp.aia Screen2 AgendaContactos

# Specify output file explicitly
ai2-screen-renamer MyApp.aia Screen2 AgendaContactos MyApp_renamed.aia

Or as a Python module:

python -m ai2_renamer MyApp.aia Screen2 AgendaContactos

Limitations

Screen1 cannot be renamed. App Inventor requires Screen1 to exist as the launch screen — renaming it would produce a project that fails to build.

Errors

The tool raises a descriptive error if:

  • The input file is not a valid .aia file
  • The screen to rename does not exist in the project
  • A screen with the new name already exists in the project
  • The screen to rename is Screen1

Development

pip install -e ".[dev]"
pytest -v

License

Apache 2.0

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 1

Native requirements
1 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest>=8; extra == "dev"runtime

Distribution files

2 collected
ai2_screen_renamer-0.3.1-py3-none-any.whl

bdist_wheel · 8 KB · Python py3

Source file
ai2_screen_renamer-0.3.1.tar.gz

sdist · 8.46 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 09:45 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:ae8f59e995021ab237dfd5e7dc06deeae6cb867057bd415135e65af607e0dd75

Other collected versions

View all collected versions →