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

Conversation

mikedh
Copy link
Owner

@mikedh mikedh commented Aug 23, 2023

I'll leave this open for a little while and release no earlier than October 1 2023. If merged earlier it will be as 4.0.0rcN which will only install with pip install --pre trimesh

  • Dropping Python 2.7 For 4.0.0 Release #1951
  • uses ruff upgrade rules with target Python 3.7, which automatically replaces .format with f-strings as well as other syntax updates.
  • changes version machinery to exclusively use a manually bumped version in pyproject.toml and __version__ is retrieved from metadata
  • removes setup.py in favor of just pyproject.toml aka PEP621
    • this makes the minimum supported version Python 3.7
    • PEP621 support was added after setuptools 59.6 which is the last version for Python 3.6 as far as I can tell
  • Added type hints to trimesh.Trimesh
  • switches sphinx theme to furo which pip, black and many other projects have switched to as it uses a post-webpack frontend stack. fixes jQuery error when using search function at https://trimsh.org/ #2011
  • applies the October 2023 deprecation, which includes removing mesh.crc, mesh.md5, in favor of hash(mesh) and mesh.identifer_md5 in favor of mesh.identifier_hash
  • fixes Voxel grid scale and points not updated after transform #2033
  • updates docs domain from trimsh.org -> trimesh.org and will set up a cloudflare forwarding rule for the old domain when this is merged.

Todo Blocking

  • figure out trimesh.typed.NDArray and trimesh.typed.ArrayLike
    • this may require backporting from numpy.typing to support 3.7+

Todo Nonblocking

  • Merge outstanding PR's
  • Switch all "dict with loose bag of keys" to dataclass objects (i.e. trimesh.path.arc.arc_center)
  • De-scope ray refactor and merge what we have
  • Cut down README and move some stuff into docs
  • if possible clean up load return types
    • trimesh.load -> trimesh.Scene
    • trimesh.load_mesh -> trimesh.Trimesh
      • will require concatenation operations
    • trimesh.load_path -> trimesh.path.Path

@mikedh mikedh merged commit 9380872 into release-candidate Sep 20, 2023
@mikedh mikedh deleted the drop/py2 branch September 20, 2023 00:39
@mikedh mikedh mentioned this pull request Sep 22, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

jQuery error when using search function at https://trimsh.org/ Dropping Python 2.7 For 4.0.0 Release
7 participants