Skip to content
Alexander Fabisch edited this page Aug 19, 2021 · 93 revisions

Welcome to the pytransform3d wiki!

Release Notes for 1.10.0

As of version 1.10.0 pytransform3d will use semantic versioning. New versions will be developed on the branch develop and each merge to the master branch will result in a new version.

  • Adds pytransform3d.rotations.plane_basis_from_normal
  • Adds plot_ellipsoid, plot_capsule, and plot_cone to pytransform3d.plot_utils
  • Adds visualization of capsule and cone
  • Adds pytransform.coordinates to convert between different coordinate systems (Cartesian, spherical, cylindrical)
  • Adds function to make batch conversions between scalar last and scalar first quaternions
  • Adds trajectories.concat_one_to_many to apply one transformation to multiple others

Notes

Release Checklist

  • Update version number
  • Make github release
  • Update documentation
cd doc
make clean
make html
git clone [email protected]:rock-learning/pytransform3d.git --branch gh-pages
cd pytransform3d
rm -rf *
cp -R ../build/html/* .
git add *
  • Publish on PYPI:
python setup.py sdist
twine upload dist/*
  • Test PyPI release in docker container:
docker run -it ubuntu:20.04
apt update
apt install python3 python3-pip git
pip3 install pytransform3d[test]
git clone https:/rock-learning/pytransform3d.git
cd pytransform3d/pytransform3d/test
nosetests
  • Update version in conda forge: 1 2

Tools

flake8 pytransform3d examples  --show-source --ignore E402,F401,W503,W504,W605,E303 --statistics --docstring-style numpy
pylint -d C0103,R1725,R0205 --extension-pkg-whitelist=numpy,open3d pytransform3d
mypy --check-untyped-defs pytransform3d
pytest -W ignore::DeprecationWarning --cov=pytransform3d pytransform3d  # dependencies: pytest pytest-cov
darglint --docstring-style numpy pytransform3d

Checklist for New Features

  • are there tests for every branch and special case?
  • does it have docstrings?
  • does it have type hints in the corresponding .pyi file?
  • is it included in the API documentation?
  • run flake8, pylint, and mypy
  • should it be part of the user documentation?
  • should it be included in any example script?
Clone this wiki locally