Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into merge-latest-master
Browse files Browse the repository at this point in the history
  • Loading branch information
Kaapp committed Sep 18, 2024
2 parents 30d7388 + 4f5e04a commit db0d181
Show file tree
Hide file tree
Showing 325 changed files with 1,835,547 additions and 4,167 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/deploy_manylinux2010_x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
Linux-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build manylinux2010_x86_64 wheels
uses: pypa/cibuildwheel@v2.16
env:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy_manylinux2014_aarch64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ jobs:
Linux-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
uses: docker/setup-qemu-action@v3
- name: Build manylinux2014_aarch64 wheels
uses: pypa/cibuildwheel@v2.16
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy_manylinux2014_x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
Linux-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build manylinux2014_x86_64 wheels
uses: pypa/cibuildwheel@v2.16
env:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy_pure_python_wheel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@ jobs:
Source-dist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: pypy-3.9
- name: create pure Python wheel
run: |
pypy -m pip install setuptools wheel
pypy -m pip install "setuptools>69.0.0" wheel
pypy setup.py bdist_wheel
- name: Upload pure Python wheel to PyPI
env:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/deploy_source.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ jobs:
Source-dist:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.11
python-version: 3.12
- name: Create source distribution
run: |
python -m pip install setuptools
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy_win_macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ jobs:
os: [windows-latest, macos-latest]
steps:
- name: Check out repository
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install Python 3.x
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: 3.x
- name: Build wheels
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,18 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python 3.11
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install wheel mypy pyparsing numpy fonttools
python -m pip install wheel "mypy>=1.11" pyparsing numpy fonttools
- name: Install without C-extensions
run: |
python setup.py install
python -m pip install .
- name: Check type annotations by mypy
run: |
python -m mypy --ignore-missing-imports -p ezdxf
9 changes: 5 additions & 4 deletions .github/workflows/testcext.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,19 @@ jobs:
python-version: ['3.9', '3.10', '3.11', '3.12']

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install setuptools wheel pytest pyparsing fonttools numpy Pillow
- name: Install with C-extensions
run: |
python setup.py install
python -m pip install .
- name: Test with C-extensions
run: |
# install test dependencies
python -m pip install pytest Pillow
python -m pytest tests integration_tests
15 changes: 10 additions & 5 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,34 @@ on:
branches: [ master ]
pull_request:
branches: [ master ]
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12', 'pypy-3.9']
# doesn't work with CPython 3.9
python-version: ['3.10', '3.11', '3.12', 'pypy-3.9']

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
# Excluding Cython to test the pure Python version.
python -m pip install setuptools wheel pytest pyparsing fonttools numpy Pillow
python -m pip install "setuptools>69.0.0" wheel
- name: Install without C-extensions
run: |
python setup.py install
python -m pip install --no-build-isolation .
- name: Test without C-extensions
run: |
# install test dependencies
python -m pip install pytest Pillow
python -m pytest tests integration_tests
32 changes: 32 additions & 0 deletions .github/workflows/testpypy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Test pypy without C-extensions

on:
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['pypy-3.9']

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pypy -m pip install --upgrade pip
# Excluding Cython to test the pure Python version.
pypy -m pip install "setuptools>69.0.0" wheel
- name: Install without C-extensions
run: |
pypy -m pip install --no-build-isolation .
- name: Test pypy without C-extensions
run: |
# install test dependencies
pypy -m pip install pytest Pillow
pypy -m pytest tests integration_tests
29 changes: 10 additions & 19 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,26 +1,17 @@
.tox
.cache
.coverage
.eggs
.idea
.tox
.vscode
.coverage
.pylintrc
DXFResearch
build
dist
venv
src/ezdxf.egg-info
docs/build
tools/plotstyles
tools/ltype/
__pycache__
newctb.ctb
makefile
tox.ini
tox-all.ini
/profiling/logs/
/wheels/*.whl
/src/mypy-reports/
/examples_hpgl2_private
/fonts/shapefiles
/fonts/*.json
build
dist
docs/build
fonts/*.json
fonts/shapefiles
profiling/logs
venv
wheels
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
include README.md LICENSE
include requirements.txt
include src/ezdxf/py.typed
include src/ezdxf/resources/*.png
recursive-include src/ezdxf/acc *.hpp *.cpp *.h *.c *.pxd *.pyx
recursive-include tests *.py
recursive-include tests/data *
Expand Down
6 changes: 4 additions & 2 deletions docs/source/tools/acis.rst → docs/source/acis.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ The following images show the limitations of the :func:`mesh_from_body`
function. The first image shows the source ``3DSOLID`` entities with
subtraction of entities with flat and curved faces:

.. image:: gfx/solids-acis.png
.. figure:: gfx/solids-acis.png

Example script to extracts all flat polygonal faces as meshes:

Expand All @@ -114,13 +114,15 @@ Example script to extracts all flat polygonal faces as meshes:
The second image shows the flat faces extracted from the ``3DSOLID`` entities
and exported as :class:`~ezdxf.entities.Mesh` entities:

.. image:: gfx/solids-mesh.png
.. figure:: gfx/solids-mesh.png

As you can see all faces which do not have straight lines as boundaries are
lost.

.. autofunction:: body_from_mesh

.. autofunction:: vertices_from_body

Exceptions
~~~~~~~~~~

Expand Down
25 changes: 24 additions & 1 deletion docs/source/addons/drawing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ Common Limitations to all Backends
- 3D entities are projected into the xy-plane and 3D text is not supported
- only top view rendering of the modelspace
- VIEWPORTS are always rendered as top view
- no visual style support
- no VISUALSTYLE support

- only basic support for:

Expand Down Expand Up @@ -183,6 +183,10 @@ The :class:`Layout` class uses following classes and enums for configuration:

.. autoproperty:: is_portrait

.. automethod:: from_dxf_layout

.. automethod:: get_margin_rect

.. automethod:: to_landscape

.. automethod:: to_portrait
Expand Down Expand Up @@ -335,6 +339,21 @@ Render a paperspace layout into modelspace:
output_doc.saveas("layout1_in_modelspace.dxf")
GeoJSONBackend
--------------
.. versionadded:: 1.3.0
.. autoclass:: ezdxf.addons.drawing.json.GeoJSONBackend
CustomJSONBackend
-----------------
.. versionadded:: 1.3.0
.. autoclass:: ezdxf.addons.drawing.json.CustomJSONBackend
Configuration
-------------
Expand Down Expand Up @@ -533,6 +552,10 @@ Frontend
.. automethod:: override_properties
.. automethod:: push_property_override_function
.. automethod:: pop_property_override_function
.. automethod:: draw_layout
Expand Down
Loading

0 comments on commit db0d181

Please sign in to comment.