Skip to content

Commit

Permalink
Merge branch 'main' into tree
Browse files Browse the repository at this point in the history
  • Loading branch information
Licini committed Apr 29, 2024
2 parents f13b2bd + c2516e9 commit 75752ea
Show file tree
Hide file tree
Showing 341 changed files with 2,354 additions and 2,502 deletions.
29 changes: 0 additions & 29 deletions .bumpversion.cfg

This file was deleted.

2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ insert_final_newline = true
indent_style = space
indent_size = 4
charset = utf-8
max_line_length = 120
max_line_length = 179

[*.{bat,cmd,ps1}]
end_of_line = crlf
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ 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"]

steps:
- uses: compas-dev/compas-actions.build@v3
- uses: compas-dev/compas-actions.build@v4
with:
invoke_lint: true
invoke_test: true
python: ${{ matrix.python }}
invoke_lint: true
4 changes: 2 additions & 2 deletions .github/workflows/ironpython.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: "[RPC tests] Set up CPython 3.8"
- name: "[RPC tests] Set up CPython 3.9"
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9
- name: "[RPC tests] Install CPython dependencies"
run: |
python -m pip install --upgrade pip
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
on:
push:
tags:
- 'v*'
- "v*"

name: Create Release

Expand All @@ -11,20 +11,21 @@ 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"]

steps:
- uses: compas-dev/compas-actions.build@v3
- uses: compas-dev/compas-actions.build@v4
with:
python: ${{ matrix.python }}
invoke_lint: true
invoke_test: true
python: ${{ matrix.python }}
check_import: true

publish:
needs: build
runs-on: windows-latest
steps:
- uses: compas-dev/compas-actions.publish@v2
- uses: compas-dev/compas-actions.publish@v3
with:
pypi_token: ${{ secrets.PYPI }}
github_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -148,3 +148,5 @@ src/compas_blender/conversions/__temp/
docs/reference/__old/

scripts/

.ruff_cache
28 changes: 25 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

* Added `compas.geometry.Line.point_from_start` and `compas.geometry.Line.point_from_end`.
* Added `compas.geometry.Line.flip` and `compas.geometry.Line.flipped`.
* Added an `compas.geometry.Frame.interpolate_frame(s)` method
* Added `compas.colors.Color.contrast`.
* Added `compas.geometry.Brep.from_plane`.
* Added `compas.tolerance.Tolerance.angulardeflection`.

### Changed

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

### Removed

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


## [2.1.0] 2024-03-01

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

### Changed

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

### Removed


## [2.0.4] 2024-02-12

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

### Removed


## [2.0.3] 2024-02-09

### Added
Expand Down
24 changes: 0 additions & 24 deletions MANIFEST.in

This file was deleted.

24 changes: 12 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,47 +21,47 @@ COMPAS has dedicated packages for working with Rhino, Grasshopper, and Blender,

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

## Installation

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

```bash
conda config --add channels conda-forge
conda install COMPAS
conda install compas
```

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

## First Steps

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

## Questions and feedback

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

## Issue tracker

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

## Contributing

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

## Changelog

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

## License

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

## Credits

COMPAS is developed by a small team of core developers (`compas-dev`) and with the support of contributers from the open source community.
See the [list of authors](AUTHORS.md) for a complete overview...
See the [list of authors](https://github.com/compas-dev/compas/blob/main/AUTHORS.md) for a complete overview...
8 changes: 3 additions & 5 deletions conftest.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import pytest
import compas
import math

import numpy
import pytest

import compas
from compas.geometry import allclose


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

if "matlab" in str(path):
return True

if str(path).endswith("_cli.py"):
return True

Expand Down
3 changes: 1 addition & 2 deletions docs/devguide/code.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ Naming conventions
Line length
-----------

**COMPAS uses a line length of 120 characters**. While longer than the 80 characters recommended by ``PEP8``, it is in our opinion a more reasonable limit for modern displays.
This is enforced and can be automatically set using ``black -l 120``.
**COMPAS uses a line length of 180 characters**. While longer than the 80 characters recommended by ``PEP8``, it is in our opinion a more reasonable limit for modern displays.

**Indentations are 4 spaces**. Tab to spaces setting can be set in ``.editorconfig`` which is respected by most editors. For more information see `EditorConfig <https://editorconfig.org/>`_.

Expand Down
2 changes: 1 addition & 1 deletion docs/devguide/workflow.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ To set up a developer environment
.. code-block:: bash
cd path/to/compas
pip install -r requirements-dev.txt
pip install -e ".[dev]"
4. Make sure all tests pass and the code is free of lint:

Expand Down
Loading

0 comments on commit 75752ea

Please sign in to comment.