Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
447 commits
Select commit Hold shift + click to select a range
98c1ed4
Function in RobotCell to `compute_attach_objects_frames`
yck011522 Oct 31, 2024
a54e9cf
Remove robot_flange_frame from RobotCellState
yck011522 Oct 31, 2024
5486b14
Fix State constructor to have fewer arguments, pass test
yck011522 Oct 31, 2024
86b15a2
lint
yck011522 Oct 31, 2024
ef7c22d
Make some PyBulletClient functions private
yck011522 Nov 1, 2024
dca5679
More functions private in PyBulletClient
yck011522 Nov 1, 2024
8dee467
Changed all `scale` attribute to `native_scale` attribute
yck011522 Nov 1, 2024
7eeff81
Rhino visualization with Eto Form
yck011522 Nov 1, 2024
b35d624
release note and update changelog
yck011522 Nov 1, 2024
d4f4472
Refactored Pybullet Inverse Kinematic Function
yck011522 Nov 1, 2024
6c5431c
Change two internal iter_ik methods to private
yck011522 Nov 1, 2024
0e05d00
MoveIt Inverse Kinematics Checked
yck011522 Nov 1, 2024
8b4cf38
change log update
yck011522 Nov 1, 2024
9488711
Fix Moveit FK Example and Verbose print in the backend feature
yck011522 Nov 4, 2024
34074a1
Added some checks in the example file
yck011522 Nov 4, 2024
98dd481
ROS Error codes to compas_fab exceptions
yck011522 Nov 4, 2024
8529997
Move It IK returns configurations
yck011522 Nov 4, 2024
9a37950
Ros Plan Motion
yck011522 Nov 5, 2024
6546f4e
RobotCell.default_cell_state()
yck011522 Nov 5, 2024
2393472
Fix Iter IK bug
yck011522 Nov 6, 2024
84cbf3e
Fix incorrect Docstring in PlanMotion
yck011522 Nov 6, 2024
ccae36c
pybullet FK should not accept group
yck011522 Nov 8, 2024
db65fc6
Refactor check_max_jump
yck011522 Nov 9, 2024
7202b76
Tidy all three FK function to return based on WCF.
yck011522 Nov 16, 2024
4adc54e
Pretty print in Targets
yck011522 Nov 16, 2024
699ab14
Convert Validation Error to compasfab error.
yck011522 Nov 16, 2024
a3e6a77
Add InverseKinematicsError for NO_IK_SOLUTION response
yck011522 Nov 16, 2024
172464c
robot cell print info improvement
yck011522 Nov 17, 2024
627433e
Ros example 01 and 02
yck011522 Nov 17, 2024
946fd85
Add documentation and examples for forward kinematics with MoveIt! pl…
yck011522 Nov 18, 2024
0e11728
Add documentation and examples for planning groups in COMPAS FAB
yck011522 Nov 18, 2024
5732023
Add examples for inverse kinematics with various configurations and c…
yck011522 Nov 19, 2024
6ec8bb2
Add motion planning examples with obstacles, attachments, and toleran…
yck011522 Nov 19, 2024
a0f1b0d
Add documentation and examples for Cartesian motion planning with Mov…
yck011522 Nov 19, 2024
2426876
Add PyBullet examples for forward and inverse kinematics, including m…
yck011522 Nov 19, 2024
0c51ab8
Add new examples and documentation for basic concepts
yck011522 Nov 19, 2024
bee5ae2
bunch of bug fixes while fixing example files
yck011522 Nov 19, 2024
197b3fc
Enhance documentation structure by adding concepts and frontends sect…
yck011522 Nov 19, 2024
57c04d7
Unfinished doc migration
yck011522 Nov 19, 2024
8bc9c36
Pin compas_robots to have the model mesh features
yck011522 Nov 21, 2024
e61a831
Fix tool_state.attachment_frame can be None causing error
yck011522 Nov 21, 2024
70b7e9d
Fix Error in BaseRobotCellSceneObject not updateing the tool objects …
yck011522 Nov 23, 2024
901995d
Fixed incorrect transformation in compute_attach_objects_frames
yck011522 Nov 23, 2024
47c7679
caching function for SceneObject in GH
yck011522 Nov 26, 2024
5318c12
Refactor mesh handling in BaseRobotModelObject for improved performan…
yck011522 Nov 26, 2024
3169929
set_robot_cell keep reference instead of making copy
yck011522 Nov 27, 2024
c496fd6
updated to compas_invocations2
chenkasirer Mar 24, 2025
5564dd3
created cpython component definitions
chenkasirer Mar 24, 2025
4041295
fixed plan cartesian motion component
chenkasirer Mar 24, 2025
ae2ca08
fixed plan motion component
chenkasirer Mar 24, 2025
eed9fcb
removed components from an alternative future
chenkasirer Mar 24, 2025
1793d74
re-introduced current timeline components
chenkasirer Mar 24, 2025
6a1b92f
cpythonized remaining components
chenkasirer Mar 24, 2025
27bf75c
fixed calls to create_id
chenkasirer Mar 24, 2025
c861d65
argname and typing in collision mesh component
chenkasirer Mar 24, 2025
10e8a9e
some more typing fixes
chenkasirer Mar 24, 2025
010cca2
removed another component that snuck in from the future
chenkasirer Mar 24, 2025
7635086
added helper functions for GH message printing
chenkasirer Mar 24, 2025
342728d
updated components with new message helpers
chenkasirer Mar 24, 2025
3c7003c
function wants Sphere in primitive form
chenkasirer Mar 24, 2025
c6a8912
updated changelog
chenkasirer Mar 24, 2025
148678b
warning using the new helper function
chenkasirer Mar 24, 2025
1695cf0
added yak template and workflow
chenkasirer Mar 24, 2025
fcab390
run workflows on LTS branch as well
chenkasirer Mar 24, 2025
b5e0e24
fixed typo in requirements
chenkasirer Mar 24, 2025
51acb99
removed python 3.8 from workflow, added 3.11, 3.12, 3.13
chenkasirer Mar 24, 2025
4e42274
add ruff and make it happy
chenkasirer Mar 24, 2025
f5de604
make formatter happy
chenkasirer Mar 24, 2025
06d51fe
removed deprecated linting and formatting tools from requirements
chenkasirer Mar 24, 2025
bc496f1
updated integratino test
chenkasirer Mar 24, 2025
2f61c0b
pinned sybil version to fix integration test
chenkasirer Mar 25, 2025
cd92dc6
import create_id from compas_ghpython and remove local implementation
chenkasirer Mar 26, 2025
fbc7bdb
updated changelog
chenkasirer Mar 26, 2025
8392c8b
fixed scene object not properly created
chenkasirer Mar 27, 2025
51afadd
same SceneObject fix in a couple other places
chenkasirer Mar 27, 2025
1e90644
untar packages which cannot be installed with ironpip
chenkasirer Mar 28, 2025
fd7e005
linting
chenkasirer Mar 28, 2025
fb3d9b7
ironpython test
chenkasirer Mar 28, 2025
9f442e9
skip ros integration tests
chenkasirer Mar 28, 2025
af8f1f6
formatting
chenkasirer Mar 28, 2025
0ea8d3b
needs skip on every line
chenkasirer Mar 28, 2025
8bcf410
fixed some doctest skipping statements
chenkasirer Apr 2, 2025
3730ad5
Merge pull request #444 from compas-dev/gh-cpython
gonzalocasas Apr 15, 2025
4038279
Bump version to 1.0.3
gonzalocasas Apr 15, 2025
1034b52
Prepare changelog for next release
gonzalocasas Apr 15, 2025
5b3533b
Remove python 3.8, add newer pythons to the release workflow
gonzalocasas Apr 15, 2025
9e66e3b
Bump version to 1.0.4
gonzalocasas Apr 15, 2025
902cefb
Prepare changelog for next release
gonzalocasas Apr 15, 2025
b6d6dc0
Conditionally install pybullet if not in rhino
gonzalocasas Apr 17, 2025
09c7c75
Merge pull request #445 from compas-dev/lts-1.x/no-pybullet-rhino
gonzalocasas Apr 17, 2025
ce4eeee
Bump version to 1.0.5
gonzalocasas Apr 17, 2025
f406865
Prepare changelog for next release
gonzalocasas Apr 17, 2025
f60c0b8
pybullet as extra
gonzalocasas Apr 17, 2025
b05f3bc
doc note
gonzalocasas Apr 17, 2025
aa4dbf1
add to dev req so that tests work
gonzalocasas Apr 17, 2025
0f1e692
Merge pull request #446 from compas-dev/lts-1.x/pybullet-extra
gonzalocasas Apr 17, 2025
6397f0e
Bump version to 1.1.0
gonzalocasas Apr 17, 2025
97aca39
Prepare changelog for next release
gonzalocasas Apr 17, 2025
1071c25
Merge branch 'main' of https://github.com/compas-dev/compas_fab into …
gonzalocasas Jun 2, 2025
8496eb6
Merge branch 'LTS-main-1.x' of https://github.com/compas-dev/compas_f…
gonzalocasas Jun 2, 2025
13bdf9f
tiny fixes
gonzalocasas Jun 2, 2025
11de30c
rename branch name
gonzalocasas Jun 2, 2025
2bcc50b
stick to just one python build during this week of heavy refactoring
gonzalocasas Jun 2, 2025
bcf534a
bye bye ironpython, we won't miss you one bit
gonzalocasas Jun 2, 2025
aa3eaf9
typo
gonzalocasas Jun 2, 2025
dbf3ae3
move pybullet stubs
gonzalocasas Jun 3, 2025
9888645
typing stub
gonzalocasas Jun 3, 2025
6d97f24
fix bug (double fixed by Victor and Chen) about using sphere's primit…
gonzalocasas Jun 3, 2025
16567ae
Some tool State docs
yck011522 Jun 3, 2025
fb20bf8
Merge branch 'wip_process' of https://github.com/compas-dev/compas_fa…
gonzalocasas Jun 3, 2025
372c28f
Fix tbcf / tcf test
gonzalocasas Jun 3, 2025
56f1a82
sanity commit: type hints and adding back some tests for robot cell
gonzalocasas Jun 3, 2025
d2cb2bd
more tests
gonzalocasas Jun 3, 2025
841f373
less ipy
gonzalocasas Jun 3, 2025
e258da8
Remove the very outdated compas_fab.sensors module
gonzalocasas Jun 3, 2025
5690aac
forgotten removal of sensors
gonzalocasas Jun 4, 2025
1dd933d
Delete timing data
gonzalocasas Jun 4, 2025
5c64f2b
bye ipy
gonzalocasas Jun 4, 2025
f0b6e3c
remove reset planning scene feature entirely and keep removing ipy ev…
gonzalocasas Jun 4, 2025
394bcf4
less ipy
gonzalocasas Jun 4, 2025
ac49b7b
doc placeholder plage with heading
yck011522 Jun 4, 2025
059aa24
remove circular imports
gonzalocasas Jun 4, 2025
da81560
Merge branch 'wip_process' of https://github.com/compas-dev/compas_fa…
gonzalocasas Jun 4, 2025
b488f6c
remove IPY from tests
yck011522 Jun 4, 2025
f1e6936
More move to less ipy
gonzalocasas Jun 4, 2025
84026cc
lint
gonzalocasas Jun 4, 2025
81a91df
lint/format
gonzalocasas Jun 4, 2025
a75887d
less IPY
yck011522 Jun 4, 2025
ede5ae9
Merge branch 'wip_process' of https://github.com/compas-dev/compas_fa…
yck011522 Jun 4, 2025
ffb214d
trying to bring in free-space planning for pybullet
gonzalocasas Jun 4, 2025
9b2e945
Merge branch 'wip_process' of https://github.com/compas-dev/compas_fa…
gonzalocasas Jun 4, 2025
991985c
example file for pybullet plan motion with config
yck011522 Jun 4, 2025
45078e4
more type hint updates and ipy removal
gonzalocasas Jun 5, 2025
e078c3b
comment out PyBullet's incomplete plan_motion feature
gonzalocasas Jun 5, 2025
7a2f4ee
fix build
gonzalocasas Jun 5, 2025
4ac9a2d
update more type hints
gonzalocasas Jun 5, 2025
2db3be7
more type hint updates
gonzalocasas Jun 5, 2025
bde02b6
updated type hints
gonzalocasas Jun 5, 2025
531e845
update type hints
gonzalocasas Jun 5, 2025
a5331ef
remove future
gonzalocasas Jun 5, 2025
8d81274
some more docs
yck011522 Jun 5, 2025
365f7cd
Merge branch 'wip_process' of https://github.com/compas-dev/compas_fa…
yck011522 Jun 5, 2025
d4a17f5
remove ipy
gonzalocasas Jun 5, 2025
6eca6f5
Merge branch 'wip_process' of https://github.com/compas-dev/compas_fa…
gonzalocasas Jun 5, 2025
7e9d437
remove ipy
gonzalocasas Jun 5, 2025
8df948d
even less ipy
gonzalocasas Jun 5, 2025
66ed2fb
less ipy
gonzalocasas Jun 5, 2025
b4ceddb
bye bye ipy, you will not be missed
gonzalocasas Jun 5, 2025
b026a6a
Removed conditional PY3 code
gonzalocasas Jun 5, 2025
699c58e
old-style classes don't exist anymore
gonzalocasas Jun 5, 2025
f7d60b8
Change RosDistro to enum
gonzalocasas Jun 5, 2025
581a69e
convert TargetMode to enum
gonzalocasas Jun 5, 2025
4cfed9a
Remove duplicate
gonzalocasas Jun 5, 2025
68a9cd7
python 3.9 is unhappy about not using `Union`
gonzalocasas Jun 5, 2025
f7e2e8b
fix doctests
gonzalocasas Jun 5, 2025
9f84e86
Update default options for moveit free-space planner
gonzalocasas Jun 6, 2025
60ef710
Re-add reset planning scene on MoveIt startup
gonzalocasas Jun 6, 2025
0bc10e4
Raise exception on partial trajectories
gonzalocasas Jun 6, 2025
1b4bf7d
arrange imports on examples
gonzalocasas Jun 6, 2025
886316c
Massive update to changelog, huge kudos to @yck011522 👏🍻🚀
gonzalocasas Jun 6, 2025
9923735
Some more docs
yck011522 Jun 6, 2025
1f541a5
Fix a bunch of sphinx errors
yck011522 Jun 8, 2025
bebbf0f
Some GH Examples
yck011522 Jun 8, 2025
f1d1273
Passes client ID to PyBullet functions for Multi-client IK
yijiangh Jul 7, 2025
46f5c8d
Adds verbose option to PyBullet connection
yijiangh Jul 7, 2025
180681b
Updates robot base frame and tool configurations in setting robot cel…
yijiangh Aug 6, 2025
a3317ba
Enhances PyBullet client with debug GUI option
yijiangh Aug 11, 2025
ab444aa
Fixes index error in inverse kinematics
yijiangh Sep 2, 2025
edee1b0
Fix bug in cartesian planner: Merges trajectory point data into robot…
yijiangh Sep 4, 2025
dcfcafa
Merge branch 'main' of https://github.com/compas-dev/compas_fab into …
gonzalocasas Nov 10, 2025
758974b
pin roslibpy to 1.8.1
yijiangh Mar 16, 2026
2c8fa03
fix(pybullet): use live link frame for link-attached rigid bodies
yck011522 May 1, 2026
9e47793
Half way trying to add scene objects to compas_fab
yck011522 May 4, 2026
8db8a14
Finish adding Rhino.Scene Objects
yck011522 May 6, 2026
995122d
refactor(pybullet): improve handling of multiple meshes for rigid bodies
yck011522 May 6, 2026
4721af7
ignore mac crap
gonzalocasas May 15, 2026
d4f2c9d
Unpinned roslibpy to prep for ROS2 and remove outdated ur client module
gonzalocasas May 15, 2026
fa00c40
Migrate to pyproject.toml
gonzalocasas May 15, 2026
2875394
wtf is this file
gonzalocasas May 15, 2026
282f476
Bump `compas_robots` requirements to >= 1
gonzalocasas May 15, 2026
710c954
feat(backends): add ROS 2 / MoveIt 2 docker reference backend
gonzalocasas May 17, 2026
7b026f8
feat(backends): add HttpFileServerLoader for rosbridge URDF/SRDF
gonzalocasas May 17, 2026
a7c4ec1
chore(docs): switch invoke task and dev deps to MkDocs
gonzalocasas May 17, 2026
8c5a750
docs(mkdocs): add MkDocs config and theme assets
gonzalocasas May 17, 2026
e4357b9
docs(mkdocs): port top-level pages to Markdown
gonzalocasas May 17, 2026
8dc9410
docs(mkdocs): add backends and developer guide pages
gonzalocasas May 17, 2026
05f6a77
docs(mkdocs): add API reference pages via mkdocstrings
gonzalocasas May 17, 2026
51a0bb1
chore: strip Sphinx directives from module-level docstrings
gonzalocasas May 17, 2026
1008e94
chore: remove legacy Sphinx documentation sources
gonzalocasas May 17, 2026
1052263
fix(backends): align IK signatures and clear stale docstrings
gonzalocasas May 17, 2026
9f6aa19
docs(backends): add Analytical IK + PyBullet backend page
gonzalocasas May 17, 2026
284168e
docs(backends): standardize per-backend pages with embedded examples
gonzalocasas May 17, 2026
b88c367
docs(backends): rewrite Choosing a backend as a decision guide
gonzalocasas May 17, 2026
19d4cd0
docs: split installation page and add CAD front-ends page
gonzalocasas May 17, 2026
a40b6c4
docs: rebrand tutorial as concepts walkthrough
gonzalocasas May 17, 2026
32fed90
docs: reorient home page as a landing page and update nav
gonzalocasas May 17, 2026
de28ab1
fix(backends): yield collision-free configs in analytical+pybullet IK
gonzalocasas May 17, 2026
e57ac2b
docs(examples): fix broken examples and normalize analytical-backend …
gonzalocasas May 17, 2026
947f2bc
Delete these tests for now
gonzalocasas May 17, 2026
fb24211
Add proper ROS2 detection
gonzalocasas May 17, 2026
90b3e87
Fix tests
gonzalocasas May 17, 2026
bdcc320
Add some tests about ROS distro detection
gonzalocasas May 17, 2026
50153fa
feat(backends.ros): adapt MoveIt messages for ROS 2 over rosbridge
gonzalocasas May 18, 2026
3d1f727
fix(backends.ros): initialise ClientInterface attrs in RosClient
gonzalocasas May 18, 2026
5dc8182
chore(docker): align ros2-ur10e-demo MoveIt launch on UR5
gonzalocasas May 18, 2026
536ab0d
test(backends.ros): ROS 2 integration suite and message-format tests
gonzalocasas May 18, 2026
a6cd748
feat(backends.ros): route trajectory execution via ROS 2 actions
gonzalocasas May 18, 2026
fbdeb95
docs(backends.ros): update message-class doc URLs to Noetic + add ROS 2
gonzalocasas May 18, 2026
f2ec69e
chore(integration): non-colliding default ports for parallel ROS 1 / …
gonzalocasas May 18, 2026
5d42b99
Updates to the docs
gonzalocasas May 18, 2026
9b1dbb3
update
gonzalocasas May 18, 2026
489ed71
test(backends.ros): split live-stack fixtures into ros1_client and ro…
gonzalocasas May 18, 2026
be1a541
chore(integration): split ROS 2 compose into test stack and full demo
gonzalocasas May 18, 2026
5fa5fbf
fix(backends.pybullet): restore lazy import of pybullet C extension
gonzalocasas May 19, 2026
9a77e7d
We need the ur driver in this example
gonzalocasas May 19, 2026
a0ab49e
Default to UR5 because integration tests
gonzalocasas May 19, 2026
8db7101
lint
gonzalocasas May 19, 2026
93bc522
ci: refresh workflows for MkDocs migration and two-stack integration …
gonzalocasas May 19, 2026
82e6731
ci(integration): install the package with [dev] extra, not just dev t…
gonzalocasas May 19, 2026
fb2990b
ci: fixing build
gonzalocasas May 19, 2026
f34ec2a
test: switch pytest to --import-mode=importlib
gonzalocasas May 19, 2026
3ec325c
re-add pybullet in dev reqs
gonzalocasas May 19, 2026
a728c5b
Work around the problem with pybullet not installable on newer mac re…
gonzalocasas May 19, 2026
885a652
Integration tests, but not doctest-modules for now
gonzalocasas May 19, 2026
e49bbb4
Fix doctest and re-enable them in integration testing
gonzalocasas May 19, 2026
9badf61
Update AUTHORS list to markdown and add CITATION.cff
gonzalocasas May 25, 2026
b49c3c9
minor styling
gonzalocasas May 25, 2026
4493b42
ci: drop IronPython Grasshopper track and wire CPython components int…
gonzalocasas May 26, 2026
fcde501
feat(ghpython): redesign Grasshopper components for stateless plannin…
gonzalocasas May 26, 2026
a9bac5b
feat(ghpython): add ROS / MoveIt planning components (Phase 2)
gonzalocasas May 26, 2026
19f39e1
ci: add pythonnet to dev deps for CPython component build
gonzalocasas May 26, 2026
40e5cb8
fix(ghpython): Phase 1 follow-up from testing
gonzalocasas May 28, 2026
f8b2d8e
Avoid deep RobotCellState copy in set_robot_cell_state
yck011522 May 29, 2026
f693423
change(ros): move default HTTP file server port from 9091 to 9190
gonzalocasas May 29, 2026
2a95634
docs(changelog): consolidate Unreleased into single headings
gonzalocasas May 29, 2026
a71f5d6
docker: switch ROS 2 base image from osrf/ros:jazzy-desktop to ros:jazzy
gonzalocasas May 29, 2026
549e3b5
docs(authors): credit Begüm Saral in AUTHORS.md and CITATION.cff
gonzalocasas May 29, 2026
406eb2a
feat(ghpython): add cell construction builders and waypoints (Phase 3)
gonzalocasas May 29, 2026
2b8a588
Delete old tutorial
gonzalocasas May 29, 2026
4529d5a
docs: convert Sphinx/RST role syntax to MkDocs cross-references acros…
gonzalocasas May 29, 2026
98f31d7
docs: fix mkdocstrings cross-reference warnings in compas_fab.robots
gonzalocasas May 29, 2026
6703b00
lint
gonzalocasas May 29, 2026
6cc1c0d
lint
gonzalocasas May 29, 2026
2739ef5
fix(ghpython): default `group` to main planning group in Cf_AttachToo…
gonzalocasas May 29, 2026
ca0b936
fix(ghpython): let InverseKinematicsError propagate in Cf_InverseKine…
gonzalocasas May 29, 2026
cb33612
feat(ghpython): use compas_ghpython error/warning/remark across compo…
gonzalocasas May 29, 2026
261885a
lint
gonzalocasas May 29, 2026
cfd904b
doc corrections
gonzalocasas May 29, 2026
c7713f5
feat(ghpython): auto-dropdown + robust loading in Cf_LoadRobotCellFro…
gonzalocasas May 29, 2026
954ba80
fix(ghpython): schedule a follow-up solve after auto-wiring a Value List
gonzalocasas May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 1.0.2
current_version = 1.1.0
message = Bump version to {new_version}
commit = True
tag = True
Expand All @@ -21,6 +21,6 @@ replace = __version__ = "{new_version}"
search = Unreleased
replace = [{new_version}] {now:%Y-%m-%d}

[bumpversion:glob:src/compas_fab/ghpython/components/**/code.py]
[bumpversion:glob:src/compas_fab/ghpython/components_cpython/**/code.py]
search = v{current_version}
replace = v{new_version}
14 changes: 0 additions & 14 deletions .deepsource.toml

This file was deleted.

31 changes: 28 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,45 @@ on:
push:
branches:
- main
- wip
pull_request:
branches:
- main

jobs:
build:
if: "!contains(github.event.pull_request.labels.*.name, 'docs-only')"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: ['3.8', '3.9', '3.10']
python: ['3.9', '3.13']

steps:
- uses: compas-dev/compas-actions.build@v3
- uses: compas-dev/compas-actions.build@v5
env:
CFLAGS: ${{ startsWith(matrix.os, 'macos') && '-fno-define-target-os-macros' || '' }}
with:
python: ${{ matrix.python }}
invoke_lint: true

build-cpython-components:
runs-on: windows-latest

steps:
- name: Checkout repo
uses: actions/checkout@v6

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e .[dev]

- name: Create CPython Grasshopper user objects
run: |
invoke build-cpython-ghuser-components

- uses: actions/upload-artifact@v5
with:
name: compas_fab_components
path: src/compas_fab/ghpython/components_cpython/ghuser
7 changes: 6 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- LTS-main-1.x
tags:
- 'v*'
pull_request_review:
Expand All @@ -14,7 +15,11 @@ jobs:
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || (github.event_name == 'pull_request_review' && github.event.review.state == 'approved')
runs-on: ubuntu-latest
steps:
- uses: compas-dev/compas-actions.docs@v3
- uses: compas-dev/compas-actions.docs@v5
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
doc_url: https://compas.dev/compas_fab
# Site is built with MkDocs (via `invoke docs`); `v5` of the action
# added the `generator` switch so it can deploy MkDocs sites in
# addition to the original Sphinx flow.
generator: mkdocs
50 changes: 34 additions & 16 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,52 @@ on:
push:
branches:
- main
- wip
pull_request:
branches:
- main
- LTS-main-1.x

jobs:
build:
name: ubuntu-py38-integration
name: ubuntu-py39-integration
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
- uses: actions/checkout@v6
- name: Set up Python 3.9
uses: actions/setup-python@v5
with:
python-version: '3.8'
- name: Set up docker containers
python-version: '3.9'

- name: Bring up both ROS stacks
# Defaults: ROS 1 rosbridge on 9090, ROS 2 rosbridge on 9091, ROS 2
# HTTP assets on 9092. See `tests/integration_setup/README.md`.
run: |
docker-compose -f "tests/integration_setup/docker-compose.yml" up -d --build
docker compose -f tests/integration_setup/docker-compose.yml up -d --build
docker compose -f tests/integration_setup/docker-compose-ros2.yml up -d --build
docker ps -a

- name: Install dependencies
# `pip install -r requirements-dev.txt` alone installs the dev tools
# but NOT the package itself nor its runtime deps. The top-level
# `conftest.py` then crashes on `from twisted.internet import ...`
# because twisted only arrives transitively via `roslibpy` (a runtime
# dep). Installing the package with the `[dev]` extra pulls both.
run: |
python -m pip install --upgrade pip
python -m pip install wheel
- name: Install
run: |
python -m pip install --no-cache-dir -r requirements-dev.txt
- name: Run integration tests
python -m pip install --upgrade pip wheel
python -m pip install --no-cache-dir -e ".[dev]"

- name: Run tests + doctests
# `COMPAS_FAB_RUN_ROS_INTEGRATION_TESTS=1` opts the `ros1_client` /
# `ros2_client` fixtures into actually connecting (otherwise every
# integration test is skipped). `--doctest-modules` picks up
# doctests embedded in `src/compas_fab/` modules.
env:
COMPAS_FAB_RUN_ROS_INTEGRATION_TESTS: "1"
run: |
pytest --doctest-modules
pytest docs

- name: Tear down docker containers
if: always()
run: |
docker-compose -f "tests/integration_setup/docker-compose.yml" down
docker compose -f tests/integration_setup/docker-compose.yml down
docker compose -f tests/integration_setup/docker-compose-ros2.yml down
63 changes: 0 additions & 63 deletions .github/workflows/ironpython.yml

This file was deleted.

3 changes: 2 additions & 1 deletion .github/workflows/pr-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ on:
types: [assigned, opened, synchronize, reopened, labeled, unlabeled]
branches:
- main
- LTS-main-1.x

jobs:
build:
name: Check Actions
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v6
- name: Changelog check
uses: Zomzog/changelog-checker@v1.1.0
with:
Expand Down
28 changes: 2 additions & 26 deletions .github/workflows/publish_yak.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,41 +29,17 @@ jobs:
}

- name: Checkout repo
uses: actions/checkout@v4
uses: actions/checkout@v6

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements-dev.txt
pip install -e .[dev]

- name: Create CPython Grasshopper user objects
run: |
invoke build-cpython-ghuser-components

- name: Create IronPython Grasshopper user objects
run: |
choco install ironpython --version=2.7.8.1
invoke clean
invoke build-ghuser-components

- name: Create Rhino7 Yak package
shell: pwsh
run: |
invoke yakerize -m $Env:YAK_TEMPLATE\manifest.yml -l $Env:YAK_TEMPLATE\icon.png -g $Env:USER_OBJECTS -t rh7
env:
USER_OBJECTS: src\compas_fab\ghpython\components\ghuser
YAK_TEMPLATE: src\compas_fab\ghpython\yak_template

- name: Publish to Yak server (Rhino 7)
shell: pwsh
run: |
$test_flag = if ($Env:TEST_FLAG) { $Env:TEST_FLAG } else { "" }
$file = Get-ChildItem -Path dist\yak_package\*rh7*.yak -File | Select-Object -ExpandProperty Name
$command = "invoke publish-yak -y dist\yak_package\$file $test_flag".Trim()
Invoke-Expression $command
env:
YAK_TOKEN: ${{ secrets.YAK_DF_TOKEN }}

- name: Create Rhino8 Yak package
shell: pwsh
run: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python: ['3.8', '3.9', '3.10']
python: ['3.9', '3.10', '3.11', '3.12', '3.13']

steps:
- uses: compas-dev/compas-actions.build@v3
Expand All @@ -29,8 +29,8 @@ jobs:
pypi_token: ${{ secrets.PYPI_PASSWORD }}
github_token: ${{ secrets.GITHUB_TOKEN }}
build_ghpython_components: true
gh_source: src/compas_fab/ghpython/components
gh_target: src/compas_fab/ghpython/components/ghuser
gh_source: src/compas_fab/ghpython/components_cpython
gh_target: src/compas_fab/ghpython/components_cpython/ghuser
gh_prefix: "COMPAS FAB: "
gh_interpreter: "ironpython"
gh_interpreter: "cpython"
release_name_prefix: COMPAS FAB
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ docs/generated/*

temp/**
!temp/.gitkeep
.DS_Store

# Grasshopper generated objects
src/compas_fab/ghpython/components/ghuser/*.ghuser
src/compas_fab/ghpython/components_cpython/ghuser/*.ghuser
19 changes: 19 additions & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Authors

- Gramazio Kohler Research [@gramaziokohler](https://github.com/gramaziokohler)
- Romana Rust <<rust@arch.ethz.ch>> [@romanarust](https://github.com/romanarust)
- Gonzalo Casas <<casas@arch.ethz.ch>> [@gonzalocasas](https://github.com/gonzalocasas)
- Stefana Parascho <<parascho@arch.ethz.ch>> [@stefanaparascho](https://github.com/stefanaparascho)
- David Jenny <<jenny@arch.ethz.ch>> [@DavidJenny](https://github.com/DavidJenny)
- Kathrin Dörfler <<doerfler@arch.ethz.ch>> [@kathrindoerfler](https://github.com/kathrindoerfler)
- Matthias Helmreich <<helmreich@arch.ethz.ch>> [@mhelmrei](https://github.com/mhelmrei)
- Augusto Gandia <<gandia@arch.ethz.ch>> [@augustogandia](https://github.com/augustogandia)
- Zhao Ma <<ma@arch.ethz.ch>> [@xarthurx](https://github.com/xarthurx)
- Inés Ariza <<ariza@arch.ethz.ch>> [@inesariza](https://github.com/inesariza)
- Matteo Pacher <<pacher@arch.ethz.ch>> [@matteo-pacher](https://github.com/matteo-pacher)
- Beverly Lytle <<lytle@arch.ethz.ch>> [@beverlylytle](https://github.com/beverlylytle)
- Yijiang Huang <<yijiangh@mit.edu>> [@yijiangh](https://github.com/yijiangh)
- Chen Kasirer <<kasirer@arch.ethz.ch>> [@chenkasirer](https://github.com/chenkasirer)
- Edvard Bruun <<ebruun@princeton.edu>> [@ebruun](https://github.com/ebruun)
- Victor Pok Yin Leung <<leung@arch.ethz.ch>> [@yck011522](https://github.com/yck011522)
- Begüm Saral <<begum.saral@tum.de>> [@begums](https://github.com/begums)
53 changes: 0 additions & 53 deletions AUTHORS.rst

This file was deleted.

Loading
Loading