Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- uses: ros-tooling/action-ros-ci@v0.4
with:
target-ros2-distro: ${{ matrix.ros }}
package-name: launch_py
package-name: launch_frontend_py
- uses: actions/upload-artifact@v4
with:
name: colcon-logs-${{ matrix.ros }}
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 3.22)

project(launch_py)
project(launch_frontend_py)

find_package(ament_cmake REQUIRED)
find_package(ament_cmake_python REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ That is, they are the intended user-facing API.
However, much of the community got hooked on Python launchfiles due to early adoption when the frontends were incomplete.
With that in mind, and the extensive explicit use of exact filenames and `PythonLaunchDescriptionSource`, migration to these frontends is difficult for packages with downstream consumers.

Enter `launch_py` - this package provides a Python-language frontend to `launch`, with identical usage to the XML and YAML versions.
Enter `launch_frontend_py` - this package provides a Python-language frontend to `launch`, with identical usage to the XML and YAML versions.
It provides the same benefits of conciseness, declarative style, while allowing launchfiles to stay in Python.


Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion launch_py/actions.py → launch_frontend_py/actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def make_action_factory(action_name: str, **kwargs) -> Callable[..., Any]:
def fn(*args, **kwargs):
return Entity(action_name, *args, **kwargs)

fn.__doc__ = f'launch_py action: {action_name} (dynamically generated)'
fn.__doc__ = f'launch_frontend_py action: {action_name} (dynamically generated)'
fn.__name__ = action_name
fn.__qualname__ = action_name
fn.__module__ = __name__
Expand Down
2 changes: 1 addition & 1 deletion launch_py/entity.py → launch_frontend_py/entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

"""Module for launch_py Entity class."""
"""Module for launch_frontend_py Entity class."""
import builtins
from collections.abc import Iterable
import keyword
Expand Down
2 changes: 1 addition & 1 deletion launch_py/mypy.ini → launch_frontend_py/mypy.ini
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[mypy-launch_py]
[mypy-launch_frontend_py]
disable_error_code = attr-defined
2 changes: 1 addition & 1 deletion package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>launch_py</name>
<name>launch_frontend_py</name>
<version>0.1.0</version>
<description>Python frontend for writing ROS 2 launch files</description>
<maintainer email="me@emersonknapp.com">Emerson Knapp</maintainer>
Expand Down
6 changes: 3 additions & 3 deletions test/basic_launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@
# limitations under the License.
from pathlib import Path

from launch_py import launch
from launch_py.actions import arg, executable, group, include, let, log, set_env
from launch_frontend_py import launch
from launch_frontend_py.actions import arg, executable, group, include, let, log, set_env

THIS_DIR = Path(__file__).parent

Expand All @@ -24,7 +24,7 @@ def generate_launch_description():
arg(name='arg1', default='arg1_value'),
let(name='arg2', value='let_$(var arg1)'),
executable(
cmd='echo hello launch_py executable',
cmd='echo hello launch_frontend_py executable',
output='screen',
),
log(level='INFO', message='Log warning: arg1=$(var arg1), arg2=$(var arg2)'),
Expand Down
4 changes: 2 additions & 2 deletions test/include_launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from launch_py import launch
from launch_py.actions import arg, log
from launch_frontend_py import launch
from launch_frontend_py.actions import arg, log


def generate_launch_description():
Expand Down
4 changes: 2 additions & 2 deletions test/test_action_list_preseed.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.

import launch_py
import launch_frontend_py


def test_action_list_preseed():
# We can construct entities on the fly, but we want to make sure the list is
# already filled where possible without explicit access
# picking a representative subset of actions (that are present in Humble+)
for x in ['arg', 'timer', 'executable', 'let', 'group', 'include', 'set_env']:
assert x in launch_py.actions.__all__
assert x in launch_frontend_py.actions.__all__
2 changes: 1 addition & 1 deletion test/test_dynamic_attrs.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

from launch.action import Action
from launch.frontend import expose_action
from launch_py import actions
from launch_frontend_py import actions
import pytest


Expand Down
2 changes: 1 addition & 1 deletion test/test_entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from launch_py.actions import group, log
from launch_frontend_py.actions import group, log
import pytest


Expand Down