Skip to content

Commit 75752ea

Browse files
authored
Merge branch 'main' into tree
2 parents f13b2bd + c2516e9 commit 75752ea

File tree

341 files changed

+2354
-2502
lines changed

Some content is hidden

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

341 files changed

+2354
-2502
lines changed

.bumpversion.cfg

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

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ insert_final_newline = true
88
indent_style = space
99
indent_size = 4
1010
charset = utf-8
11-
max_line_length = 120
11+
max_line_length = 179
1212

1313
[*.{bat,cmd,ps1}]
1414
end_of_line = crlf

.github/workflows/build.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ jobs:
1515
strategy:
1616
matrix:
1717
os: [ubuntu-latest, macos-latest, windows-latest]
18-
python: ['3.8', '3.9', '3.10']
18+
python: ["3.9", "3.10", "3.11", "3.12"]
1919

2020
steps:
21-
- uses: compas-dev/compas-actions.build@v3
21+
- uses: compas-dev/compas-actions.build@v4
2222
with:
23+
invoke_lint: true
24+
invoke_test: true
2325
python: ${{ matrix.python }}
24-
invoke_lint: true

.github/workflows/ironpython.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
runs-on: windows-latest
1515
steps:
1616
- uses: actions/checkout@v2
17-
- name: "[RPC tests] Set up CPython 3.8"
17+
- name: "[RPC tests] Set up CPython 3.9"
1818
uses: actions/setup-python@v2
1919
with:
20-
python-version: 3.8
20+
python-version: 3.9
2121
- name: "[RPC tests] Install CPython dependencies"
2222
run: |
2323
python -m pip install --upgrade pip

.github/workflows/release.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
on:
22
push:
33
tags:
4-
- 'v*'
4+
- "v*"
55

66
name: Create Release
77

@@ -11,20 +11,21 @@ jobs:
1111
strategy:
1212
matrix:
1313
os: [ubuntu-latest, macos-latest, windows-latest]
14-
python: ['3.8', '3.9', '3.10']
14+
python: ["3.9", "3.10", "3.11", "3.12"]
1515

1616
steps:
17-
- uses: compas-dev/compas-actions.build@v3
17+
- uses: compas-dev/compas-actions.build@v4
1818
with:
19-
python: ${{ matrix.python }}
2019
invoke_lint: true
20+
invoke_test: true
21+
python: ${{ matrix.python }}
2122
check_import: true
2223

2324
publish:
2425
needs: build
2526
runs-on: windows-latest
2627
steps:
27-
- uses: compas-dev/compas-actions.publish@v2
28+
- uses: compas-dev/compas-actions.publish@v3
2829
with:
2930
pypi_token: ${{ secrets.PYPI }}
3031
github_token: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,5 @@ src/compas_blender/conversions/__temp/
148148
docs/reference/__old/
149149

150150
scripts/
151+
152+
.ruff_cache

CHANGELOG.md

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,20 +9,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111

12+
* Added `compas.geometry.Line.point_from_start` and `compas.geometry.Line.point_from_end`.
13+
* Added `compas.geometry.Line.flip` and `compas.geometry.Line.flipped`.
14+
* Added an `compas.geometry.Frame.interpolate_frame(s)` method
15+
* Added `compas.colors.Color.contrast`.
16+
* Added `compas.geometry.Brep.from_plane`.
17+
* Added `compas.tolerance.Tolerance.angulardeflection`.
18+
1219
### Changed
1320

21+
* Changed and update the `compas_view2` examples into `compas_viewer`.
1422
* Changed and updated the `compas_view2` examples into `compas_viewer`.
1523
* Changed `compas.scene.Scene` to inherent from `compas.datastructrues.Tree`.
1624
* Changed `compas.scene.SceneObject` to inherent from `compas.datastructrues.TreeNode`.
25+
* Changed `compas.geoemetry._core.predicates_3` bug fix in `is_coplanar` while loop when there are 4 points.
26+
* Changed to implementation of `Mesh.unify_cycles` to use the corresponding function of `compas.topology.orientation`.
27+
* Fixed bug in `compas.topology.orientation.unify_cycles`.
28+
* Fixed bug in `Mesh.thickened`.
29+
* Fixed various bugs in `compas.geometry.Quaternion`.
30+
* Changed repo config to `pyproject.toml`.
31+
* Fixed broken import in `copas.geometry.trimesh_smoothing_numpy`.
32+
* Changed `RhinoBrep.trimmed` to return single result or raise `BrepTrimmingError` instead of returning a list.
33+
* Changed order of imports according to `isort` and changed line length to `179`.
34+
* Changed use of `compas.geometry.allclose` to `compas.tolerance.TOL.is_allclose`.
35+
* Changed use of `compas.geometry.close` to `compas.tolerance.TOL.is_close`.
36+
* Changed imports of itertools to `compas.itertools` instead of `compas.utilities`.
1737
* Changed `compas.datastructures.Tree.print_hierarchy` to `compas.datastructures.Tree.__str__`.
1838

1939
### Removed
2040

2141
* Removed `compas.scene.SceneObjectNode`, functionalities merged into `compas.scene.SceneObject`.
2242
* Removed `compas.scene.SceneTree`, functionalities merged into `compas.scene.Scene`.
43+
* Removed default implementation of `compas.geometry.trimesh_geodistance` since nonexistent.
44+
* Removed `compas.utilities.geometric_key` and replaced it by `compas.tolerance.TOL.geometric_key`.
45+
* Removed `compas.utilities.geometric_key_xy` and replaced it by `compas.tolerance.TOL.geometric_key_xy`.
46+
* Removed indexed attribute access from all geometry classes except `Point`, `Vector`, `Line`, `Polygon`, `Polyline`.
2347
* Removed `compas.datastructures.Tree.print_hierarchy`.
2448

25-
2649
## [2.1.0] 2024-03-01
2750

2851
### Added
@@ -33,6 +56,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3356
* Added `compas.datastructures.Tree.to_graph()`.
3457

3558
### Changed
59+
3660
* Changed `compas.datastructures.TreeNode` to skip serialising `attributes`, `name` and `children` if being empty.
3761
* Changed `compas.datastructures.TreeNode.__repr__` to omit `name` if `None`.
3862
* Fix bug in `compas_rhino.geometry.NurbsCurve.from_parameters` and `compas_rhino.geometry.NurbsCurve.from_points` related to the value of the parameter `degree`.
@@ -43,7 +67,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
4367

4468
### Removed
4569

46-
4770
## [2.0.4] 2024-02-12
4871

4972
### Added
@@ -54,7 +77,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5477

5578
### Removed
5679

57-
5880
## [2.0.3] 2024-02-09
5981

6082
### Added

MANIFEST.in

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

README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,47 +21,47 @@ COMPAS has dedicated packages for working with Rhino, Grasshopper, and Blender,
2121

2222
We are working on a new major release of the framework, COMPAS 2.0!
2323
Therefore, be aware that the current version of the repository already contains some changes that are incompatible with the version 1 releases.
24-
The documentation of the latest stable version (COMPAS 1.17.6) [is available here](https://compas.dev/compas/1.17.6).
24+
The documentation of the latest stable version (COMPAS 1.17.9) [is available here](https://compas.dev/compas/1.17.9).
2525

2626
## Installation
2727

2828
The recommended way to install **COMPAS** is to use [Anaconda/conda](https://conda.io/docs/):
2929

3030
```bash
3131
conda config --add channels conda-forge
32-
conda install COMPAS
32+
conda install compas
3333
```
3434

35-
For other installation options, see <https://compas.dev/compas/latest/installation.html>
35+
For other installation options, [see the user guide](https://compas.dev/compas/latest/userguide/installation.html)
3636

3737
## First Steps
3838

39-
* <https://compas.dev/compas/latest/gettingstarted.html>
40-
* <https://compas.dev/compas/latest/tutorial.html>
41-
* <https://compas.dev/compas/latest/api.html>
39+
* [First steps](https://compas.dev/compas/latest/userguide/firststeps.html)
40+
* [Tutorials: geometry basics](https://compas.dev/compas/latest/userguide/basics.geometry.html)
41+
* [Tutorials: datastructures](https://compas.dev/compas/latest/userguide/basics.datastructures.html)
42+
* [API Reference](https://compas.dev/compas/latest/api/index.html)
4243

4344
## Questions and feedback
4445

45-
The **COMPAS** framework has a forum: <https://forum.compas-framework.org/>
46-
for questions and discussions.
46+
The **COMPAS** framework has a [forum for questions and discussions](https://forum.compas-framework.org/).
4747

4848
## Issue tracker
4949

5050
If you find a bug, please help us solve it by [filing a report](https://github.com/compas-dev/compas/issues).
5151

5252
## Contributing
5353

54-
If you want to contribute, check out the [contribution guidelines](https://compas.dev/compas/latest/devguide.html).
54+
If you want to contribute, check out the [contribution guidelines](https://compas.dev/compas/latest/devguide/index.html).
5555

5656
## Changelog
5757

58-
See changes between releases on the [changelog](https://compas.dev/compas/latest/changelog.html).
58+
See changes between releases on the [changelog](https://github.com/compas-dev/compas/blob/main/CHANGELOG.md).
5959

6060
## License
6161

62-
The main library of **COMPAS** is [released under the MIT license](https://compas.dev/compas/latest/license.html).
62+
The main library of **COMPAS** is [released under the MIT license](https://compas.dev/compas/latest/userguide/license.html).
6363

6464
## Credits
6565

6666
COMPAS is developed by a small team of core developers (`compas-dev`) and with the support of contributers from the open source community.
67-
See the [list of authors](AUTHORS.md) for a complete overview...
67+
See the [list of authors](https://github.com/compas-dev/compas/blob/main/AUTHORS.md) for a complete overview...

conftest.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import pytest
2-
import compas
31
import math
2+
43
import numpy
4+
import pytest
55

6+
import compas
67
from compas.geometry import allclose
78

89

@@ -16,9 +17,6 @@ def pytest_ignore_collect(path):
1617
if "ghpython" in str(path):
1718
return True
1819

19-
if "matlab" in str(path):
20-
return True
21-
2220
if str(path).endswith("_cli.py"):
2321
return True
2422

0 commit comments

Comments
 (0)