Skip to content

Commit f6db48c

Browse files
committed
refactor(build): migrate from setup.py to pyproject.toml with src/ layout
- Replace multiple setup.py files with unified pyproject.toml - Implement src/ directory layout for better organization - Create robocompcli package with shared utilities (cli_helpers, logging_helpers) - Consolidate all dependencies and entry points in single location - Remove obsolete setup.py files from root and subdirectories - Update import statements across the codebase This change modernizes the packaging system following PEP 621, improves maintainability, and simplifies installation. Migration guide: - Install from root: `pip install -e .` - Update imports: `from cli_helpers` -> `from robocompcli` - All CLI tools now installed together
1 parent 2d4b3e7 commit f6db48c

644 files changed

Lines changed: 62 additions & 4242 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
__pycache__
22
cli/build/
3-
cli/robocompcli.egg-info/
3+
cli/src/robocompdsl.egg-info/
4+
.vscode
5+
.cache
File renamed without changes.

cli/pyproject.toml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
[build-system]
2+
requires = ["setuptools>=61.0", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "robocompdsl"
7+
version = "2026.2.10"
8+
description = "Robocompdsl application"
9+
readme = "README.md"
10+
requires-python = ">=3.11"
11+
license = {text = "GPL V3"}
12+
authors = [
13+
{name = "Esteban Martinena", email = "emartinena@unex.es"},
14+
{name = "Alejandro Torrejón", email = "atorrejon@unex.es"},
15+
]
16+
17+
dependencies = [
18+
"PySide6>=6.9.0",
19+
"zeroc-ice==3.7.10.1",
20+
"typer>=0.4.1",
21+
"docker>=7.1.0",
22+
"pyyaml>=6.0.2",
23+
"prompt_toolkit>=3.0.48",
24+
"ruamel.yaml>=0.18.6",
25+
"rich>=13.9.4",
26+
"termcolor>=2.5.0",
27+
"argcomplete>=3.5.1",
28+
"pyparsing>=3.2.3",
29+
]
30+
31+
[project.scripts]
32+
robocomp = "robocomp.main:app"
33+
rcbuild = "rcbuild.main:app"
34+
rccd = "rccd.main:app"
35+
rcconfig = "rcconfig.main:app"
36+
rcdocker = "rcdocker.main:app"
37+
rcportchecker = "rcportchecker.main:app"
38+
rcrun = "rcrun.main:app"
39+
rcworkspace = "rcworkspace.main:app"
40+
robocompdsl = "robocompdsl.main:app"
41+
42+
[tool.setuptools]
43+
packages.find = {where = ["src"]}
44+
py-modules = ["cli_helpers", "logging_helpers"]
45+
[tool.setuptools.package-dir]
46+
"" = "src"
47+
48+
[tool.setuptools.package-data]
49+
"robocompdsl" = [
50+
"common/*.py",
51+
"common/**/*.py",
52+
"templates/**/*",
53+
"dsl_parsers/*.py",
54+
"dsl_parsers/**/*.py",
55+
"*.md",
56+
]

cli/rcbuild/setup.py

Lines changed: 0 additions & 18 deletions
This file was deleted.

cli/rccd/LICENSE

Lines changed: 0 additions & 674 deletions
This file was deleted.

cli/rccd/setup.py

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)