Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release Candidate: 4.0.0rc0 Dropping Python 2 #2010

Merged
merged 97 commits into from
Sep 20, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
8064f2f
ruff
mikedh Aug 23, 2023
63affb2
passing ruff with upgrades
mikedh Aug 23, 2023
004a192
remove all extra and switch docs to furo
mikedh Aug 23, 2023
afa0a3a
pyproject update
mikedh Aug 25, 2023
37039c0
use manual setuptools discovery
mikedh Aug 25, 2023
831d769
better error message for test_minimal
mikedh Aug 25, 2023
42815ec
edit test_minimal
mikedh Aug 25, 2023
2e077ff
prevent division by zero
YuanWenqing Aug 28, 2023
e4d51e5
add prerelease warning to readme and test on 3.6
mikedh Aug 28, 2023
bb9213b
Merge branch 'drop/py2' of github.com:mikedh/trimesh into drop/py2
mikedh Aug 28, 2023
b3acf7c
try old python on 20.04
mikedh Aug 28, 2023
2cd4d8f
try last 3.6 version of setuptools
mikedh Aug 28, 2023
d3fc18e
see if 3.6 can work
mikedh Aug 28, 2023
88a688c
setuptools version
mikedh Aug 28, 2023
a3c4edf
use pkg_resources on older python
mikedh Aug 28, 2023
6675fee
use target-version for ruff
mikedh Aug 28, 2023
917c8b5
deprecate hash entry points
mikedh Aug 28, 2023
098ebd4
fix test_repair
mikedh Aug 28, 2023
fe7ceec
convert trimesh.transformations to be numpy-only
mikedh Aug 28, 2023
76be3a9
fix docs
mikedh Aug 28, 2023
473a2f7
ruff
mikedh Aug 28, 2023
ac9d093
force np.inf in t to zero
YuanWenqing Aug 30, 2023
2b8548c
nonzero mask
YuanWenqing Aug 30, 2023
d52b6da
fixed perceived brightness calculation
dabeschte Aug 30, 2023
f27e8ed
keep vertex normals when fusing meshes
dabeschte Aug 30, 2023
b15b216
ci release changes
mikedh Aug 30, 2023
d57c974
Add torus
clemense Aug 31, 2023
f21d3ad
Add test for torus
clemense Aug 31, 2023
41870b2
Merge pull request #2012 from YuanWenqing/bugfix/divide_zero
mikedh Aug 31, 2023
2b549f0
Fix test
clemense Sep 1, 2023
f8652b5
Vectorize code
clemense Sep 1, 2023
e4f4db3
Fix formatting issues
clemense Sep 1, 2023
3952443
Merge pull request #2015 from dabeschte/spec-gloss-met-rough-fix
mikedh Sep 1, 2023
aa99d92
Comment: Updated a module name to allow import without type errors.
munahaf Sep 1, 2023
0c1afc9
Create torus using revolve()
clemense Sep 1, 2023
7420d50
Merge pull request #2020 from munahaf/Security_Misconfiguration_Issue…
mikedh Sep 2, 2023
5c8432b
Merge pull request #2019 from clemense/clemense/add_torus
mikedh Sep 2, 2023
69c2d95
ruff
mikedh Sep 2, 2023
9a6e5f9
Set gmsh options before opening the file
OliverLengwinat Sep 4, 2023
e3b0bf4
Merge pull request #2023 from OliverLengwinat/fix_args_before_loading
mikedh Sep 4, 2023
729dfbf
type hints
mikedh Sep 5, 2023
1a19958
base importing with type hints
mikedh Sep 5, 2023
5c3d0b1
sigh take kwargs again
mikedh Sep 5, 2023
bd33e2e
use string annotations
mikedh Sep 6, 2023
0796b7a
import in base
mikedh Sep 6, 2023
d99d1af
play with generics
mikedh Sep 7, 2023
8e7eacf
add base typed
mikedh Sep 7, 2023
2e0c841
ruff
mikedh Sep 8, 2023
891dbcd
support for glTF WebP extension
xiaoxiae Sep 9, 2023
548a9e0
change polygon_hash to identifier
mikedh Sep 10, 2023
3fe80c5
apply deprecation
mikedh Sep 11, 2023
3dd27b0
ruff
mikedh Sep 11, 2023
fb1aa09
add back int64
mikedh Sep 11, 2023
3f93c09
not everyone has float128
mikedh Sep 11, 2023
6287418
remove missed embed
mikedh Sep 11, 2023
f260439
update renamed field
mikedh Sep 12, 2023
6f394e6
Merge branch 'drop/py2' of github.com:mikedh/trimesh into drop/py2
mikedh Sep 12, 2023
c36c586
release candidates
mikedh Sep 12, 2023
8846c65
glTF WebP test
xiaoxiae Sep 13, 2023
0b9b77e
add WebP to used/required glTF extensions
xiaoxiae Sep 13, 2023
b7338a0
fixed gltf export when using paths instead of only file name
dabeschte Sep 14, 2023
97b7b20
fix and test #2033
mikedh Sep 14, 2023
5cffea1
fix import
mikedh Sep 14, 2023
f5185d9
Merge branch 'drop/py2' into main
mikedh Sep 14, 2023
06149e3
Merge pull request #2031 from xiaoxiae/main
mikedh Sep 14, 2023
7cac99e
skip broken extensions
mikedh Sep 14, 2023
f5cc44b
make extension optional
mikedh Sep 14, 2023
18fbbf4
add second moments to polygon identifier
mikedh Sep 14, 2023
15b9b77
convert constants to dataclasses
mikedh Sep 14, 2023
a1697ca
change arc_center to dataclass
mikedh Sep 14, 2023
9d76697
wrap getitem
mikedh Sep 14, 2023
d2d236b
use typed List
mikedh Sep 15, 2023
d523c3b
Merge pull request #2035 from dabeschte/fix-gltf-export-path
mikedh Sep 15, 2023
5824483
add meta-extra
mikedh Sep 15, 2023
aca6617
add test for #2035
mikedh Sep 15, 2023
f5c9dc8
fix #1970
mikedh Sep 15, 2023
ad28bd0
voxel caching still weird
mikedh Sep 15, 2023
49518e1
fix test_obj
mikedh Sep 17, 2023
49ec9aa
fix formatting
mikedh Sep 17, 2023
af19e8b
update domain trimsh.org->trimesh.org
mikedh Sep 18, 2023
ba4857a
attempt
mikedh Sep 19, 2023
b8ca1bb
revert broken voxel changes
mikedh Sep 19, 2023
8034888
Merge pull request #2016 from dabeschte/fuse-mesh-vertex-normals
mikedh Sep 19, 2023
0dc7411
add a test for #2016
mikedh Sep 19, 2023
a393abb
add in-process check
mikedh Sep 19, 2023
f7121ca
fix subtle caching bug
mikedh Sep 19, 2023
a222223
run black on trimesh-setup
mikedh Sep 19, 2023
40b4689
simplify arraylike
mikedh Sep 19, 2023
e95ccad
fix test_bounds
mikedh Sep 19, 2023
19a7301
update points
mikedh Sep 19, 2023
7c251e0
remove floatlike
mikedh Sep 19, 2023
3efcbf1
try embed
mikedh Sep 19, 2023
befc4c1
partially revert #1895
mikedh Sep 19, 2023
2ef582a
remove stub temporarydirectory
mikedh Sep 19, 2023
6210b25
remove unused import
mikedh Sep 19, 2023
ab6d61e
use built-in temporarydirectory
mikedh Sep 19, 2023
7c1c45d
exit temporary directory for windows
mikedh Sep 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- main
- release-candidate

jobs:
formatting:
Expand All @@ -26,13 +27,10 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [3.6, 3.7, 3.8, 3.9, "3.10", "3.11"]
os: [ubuntu-20.04, macos-latest, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"]
os: [ubuntu-latest, macos-latest, windows-latest]
exclude:
# windows runners have gotten very flaky
# exclude all windows test runs except for one
- os: windows-latest
python-version: 3.6
# windows runners have gotten flaky
- os: windows-latest
python-version: 3.8
- os: windows-latest
Expand Down Expand Up @@ -63,7 +61,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
python-version: '3.11'
- name: Install publishing dependencies
run: |
python -m pip install --upgrade pip
Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,19 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install Formatting
run: pip install ruff
- name: Check Formatting
- name: Install
run: pip install ruff black
- name: Run Ruff
run: ruff .
# - name: Run Black
# run: black --check .

tests:
name: Run Unit Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.11"]
python-version: ["3.7", "3.11"]
os: [ubuntu-latest, windows-latest, macos-latest]
steps:
- uses: actions/checkout@v3
Expand Down
7 changes: 3 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ RUN trimesh-setup --install build

# copy in essential files
COPY --chown=499 trimesh/ /home/user/trimesh
COPY --chown=499 setup.py /home/user/
COPY --chown=499 pyproject.toml /home/user/

# switch to non-root user
USER user

# install trimesh into .local
# then delete any included test directories
# and remove Cython after all the building is complete
RUN pip install /home/user[all] && \
RUN pip install --user /home/user[easy] && \
find /home/user/.local -type d -name tests -prune -exec rm -rf {} \; && \
pip uninstall -y cython

Expand Down Expand Up @@ -58,7 +58,6 @@ FROM output AS tests
COPY --chown=499 tests ./tests/
COPY --chown=499 trimesh ./trimesh/
COPY --chown=499 models ./models/
COPY --chown=499 setup.py .
COPY --chown=499 pyproject.toml .

# codecov looks at the git history
Expand All @@ -69,7 +68,7 @@ RUN trimesh-setup --install=test,gltf_validator,llvmpipe,binvox
USER user

# install things like pytest
RUN pip install -e .[all,easy,recommends,test]
RUN pip install -e .[all,easy,recommend,test]

# run pytest wrapped with xvfb for simple viewer tests
RUN xvfb-run pytest --cov=trimesh \
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2019 Michael Dawson-Haggerty
Copyright (c) 2023 Michael Dawson-Haggerty

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
3 changes: 0 additions & 3 deletions MANIFEST.in

This file was deleted.

13 changes: 10 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
[![trimesh](https://trimsh.org/images/logotype-a.svg)](http://trimsh.org)
[![trimesh](https://trimesh.org/images/logotype-a.svg)](http://trimesh.org)

-----------
[![Github Actions](https://github.com/mikedh/trimesh/workflows/Release%20Trimesh/badge.svg)](https://github.com/mikedh/trimesh/actions) [![PyPI version](https://badge.fury.io/py/trimesh.svg)](https://badge.fury.io/py/trimesh) [![codecov](https://codecov.io/gh/mikedh/trimesh/branch/main/graph/badge.svg?token=4PVRQXyl2h)](https://codecov.io/gh/mikedh/trimesh) [![Docker Image Version (latest by date)](https://img.shields.io/docker/v/trimesh/trimesh?label=docker&sort=semver)](https://hub.docker.com/r/trimesh/trimesh/tags)
[![Github Actions](https://github.com/mikedh/trimesh/workflows/Release%20Trimesh/badge.svg)](https://github.com/mikedh/trimesh/actions) [![codecov](https://codecov.io/gh/mikedh/trimesh/branch/main/graph/badge.svg?token=4PVRQXyl2h)](https://codecov.io/gh/mikedh/trimesh) [![Docker Image Version (latest by date)](https://img.shields.io/docker/v/trimesh/trimesh?label=docker&sort=semver)](https://hub.docker.com/r/trimesh/trimesh/tags) [![PyPI version](https://badge.fury.io/py/trimesh.svg)](https://badge.fury.io/py/trimesh)



Trimesh is a pure Python (2.7-3.5+) library for loading and using [triangular meshes](https://en.wikipedia.org/wiki/Triangle_mesh) with an emphasis on watertight surfaces. The goal of the library is to provide a full featured and well tested Trimesh object which allows for easy manipulation and analysis, in the style of the Polygon object in the [Shapely library](https://github.com/Toblerity/Shapely).
| :warning: WARNING |
|---------------------------|
| `trimesh >= 4.0.0` on `main` makes minimum Python 3.7 and is in pre-release |
| Testing with `pip install --pre trimesh` would be much appreciated! |
| Projects that support Python<3.7 should update requirement to `trimesh<4` |


Trimesh is a pure Python 3.7+ library for loading and using [triangular meshes](https://en.wikipedia.org/wiki/Triangle_mesh) with an emphasis on watertight surfaces. The goal of the library is to provide a full featured and well tested Trimesh object which allows for easy manipulation and analysis, in the style of the Polygon object in the [Shapely library](https://github.com/Toblerity/Shapely).

The API is mostly stable, but this should not be relied on and is not guaranteed: install a specific version if you plan on deploying something using trimesh.

Expand Down
8 changes: 0 additions & 8 deletions codecov.yml

This file was deleted.

Loading