From 61671310ad05c71e79bd8da592fc90e507f59b67 Mon Sep 17 00:00:00 2001
From: Sameer Sheorey <41028320+ssheorey@users.noreply.github.com>
Date: Thu, 2 Nov 2023 21:33:55 +0530
Subject: [PATCH] Google Bucket hold and docs building fix (#6460)
* Put holds on latest artifacts in google bucket to prevent deletion. Minor fixes to docs for typos.
* Prevent overwriting pinned JInja2 version during `make install-pip-package`. Update build docs instructions
---
.github/workflows/documentation.yml | 4 +++
.github/workflows/macos.yml | 4 +++
.github/workflows/ubuntu-wheel.yml | 4 +++
.github/workflows/windows.yml | 4 +++
README.md | 40 ++++++++++++------------
docs/builddocs.rst | 47 ++++++++++++++++++++---------
docs/getting_started.in.rst | 2 +-
util/ci_utils.sh | 9 +++---
8 files changed, 75 insertions(+), 39 deletions(-)
diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml
index d48d5815971..6ee88b1abc1 100644
--- a/.github/workflows/documentation.yml
+++ b/.github/workflows/documentation.yml
@@ -123,6 +123,10 @@ jobs:
# Rename docs archive:
gsutil mv gs://open3d-docs/${{ github.sha }}_ready.tar.gz \
gs://open3d-docs/${{ github.sha }}.tar.gz
+ # Set holds on new artifacts, release on old
+ gsutil retention temp release gs://open3d-releases-master/*
+ gsutil retention temp set gs://open3d-releases-master/python-wheels/*${GITHUB_SHA:0:7}*.whl
+ gsutil retention temp set gs://open3d-releases-master/devel/*${GITHUB_SHA:0:7}*
else
echo "All wheels / docs not available yet."
fi
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index bfd53f70547..e24f231f2d6 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -311,6 +311,10 @@ jobs:
# Rename docs archive:
gsutil mv gs://open3d-docs/${{ github.sha }}_ready.tar.gz \
gs://open3d-docs/${{ github.sha }}.tar.gz
+ # Set holds on new artifacts, release on old
+ gsutil retention temp release gs://open3d-releases-master/*
+ gsutil retention temp set gs://open3d-releases-master/python-wheels/*${GITHUB_SHA:0:7}*.whl
+ gsutil retention temp set gs://open3d-releases-master/devel/*${GITHUB_SHA:0:7}*
else
echo "All wheels / docs not available yet. Docs not ready."
fi
diff --git a/.github/workflows/ubuntu-wheel.yml b/.github/workflows/ubuntu-wheel.yml
index 16cce0b8272..218b8052ea8 100644
--- a/.github/workflows/ubuntu-wheel.yml
+++ b/.github/workflows/ubuntu-wheel.yml
@@ -202,6 +202,10 @@ jobs:
# Rename docs archive:
gsutil mv gs://open3d-docs/${{ github.sha }}_ready.tar.gz \
gs://open3d-docs/${{ github.sha }}.tar.gz
+ # Set holds on new artifacts, release on old
+ gsutil retention temp release gs://open3d-releases-master/*
+ gsutil retention temp set gs://open3d-releases-master/python-wheels/*${GITHUB_SHA:0:7}*.whl
+ gsutil retention temp set gs://open3d-releases-master/devel/*${GITHUB_SHA:0:7}*
else
echo "All wheels / docs not available yet."
fi
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index 66c7e5ba084..430ebd73c60 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -439,6 +439,10 @@ jobs:
# Rename docs archive:
gsutil mv gs://open3d-docs/${{ github.sha }}_ready.tar.gz \
gs://open3d-docs/${{ github.sha }}.tar.gz
+ # Set holds on new artifacts, release on old
+ gsutil retention temp release gs://open3d-releases-master/*
+ gsutil retention temp set gs://open3d-releases-master/python-wheels/*${GITHUB_SHA:0:7}*.whl
+ gsutil retention temp set gs://open3d-releases-master/devel/*${GITHUB_SHA:0:7}*
else
echo "All wheels / docs not available yet."
fi
diff --git a/README.md b/README.md
index d3c583ee94f..ea43c38ffca 100644
--- a/README.md
+++ b/README.md
@@ -30,22 +30,22 @@ the open-source community.
**Core features of Open3D include:**
-* 3D data structures
-* 3D data processing algorithms
-* Scene reconstruction
-* Surface alignment
-* 3D visualization
-* Physically based rendering (PBR)
-* 3D machine learning support with PyTorch and TensorFlow
-* GPU acceleration for core 3D operations
-* Available in C++ and Python
+- 3D data structures
+- 3D data processing algorithms
+- Scene reconstruction
+- Surface alignment
+- 3D visualization
+- Physically based rendering (PBR)
+- 3D machine learning support with PyTorch and TensorFlow
+- GPU acceleration for core 3D operations
+- Available in C++ and Python
For more, please visit the [Open3D documentation](http://www.open3d.org/docs).
## Python quick start
Pre-built pip packages support Ubuntu 18.04+, macOS 10.15+ and Windows 10+
-(64-bit) with Python 3.7-3.10.
+(64-bit) with Python 3.8-3.11.
```bash
# Install
@@ -74,14 +74,14 @@ To compile Open3D from source, refer to
Checkout the following links to get started with Open3D C++ API
-* Download Open3D binary package: [Release](https://github.com/isl-org/Open3D/releases) or [latest development version](http://www.open3d.org/docs/latest/getting_started.html#c)
-* [Compiling Open3D from source](http://www.open3d.org/docs/release/compilation.html)
-* [Open3D C++ API](http://www.open3d.org/docs/release/cpp_api.html)
+- Download Open3D binary package: [Release](https://github.com/isl-org/Open3D/releases) or [latest development version](http://www.open3d.org/docs/latest/getting_started.html#c)
+- [Compiling Open3D from source](http://www.open3d.org/docs/release/compilation.html)
+- [Open3D C++ API](http://www.open3d.org/docs/release/cpp_api.html)
To use Open3D in your C++ project, checkout the following examples
-* [Find Pre-Installed Open3D Package in CMake](https://github.com/isl-org/open3d-cmake-find-package)
-* [Use Open3D as a CMake External Project](https://github.com/isl-org/open3d-cmake-external-project)
+- [Find Pre-Installed Open3D Package in CMake](https://github.com/isl-org/open3d-cmake-find-package)
+- [Use Open3D as a CMake External Project](https://github.com/isl-org/open3d-cmake-external-project)
## Open3D-Viewer app
@@ -102,11 +102,11 @@ top of the Open3D core library and extends it with machine learning tools for
## Communication channels
-* [GitHub Issue](https://github.com/isl-org/Open3D/issues): bug reports,
- feature requests, etc.
-* [Forum](https://github.com/isl-org/Open3D/discussions): discussion on the usage of Open3D.
-* [Discord Chat](https://discord.gg/D35BGvn): online chats, discussions,
- and collaboration with other users and developers.
+- [GitHub Issue](https://github.com/isl-org/Open3D/issues): bug reports,
+ feature requests, etc.
+- [Forum](https://github.com/isl-org/Open3D/discussions): discussion on the usage of Open3D.
+- [Discord Chat](https://discord.gg/D35BGvn): online chats, discussions,
+ and collaboration with other users and developers.
## Citation
diff --git a/docs/builddocs.rst b/docs/builddocs.rst
index 5e0d39f8b77..2f8e9539957 100644
--- a/docs/builddocs.rst
+++ b/docs/builddocs.rst
@@ -9,16 +9,14 @@ generated by `sphinx `_. The C++ API documentation
is generated by `Doxygen `_.
Documentation can be built on Ubuntu or macOS. Building documentation on Windows
-may also be possible but it is not officially tested.
+may also be possible but is not officially tested.
If you're building documentation on a computer without a display, please use
:ref:`headless_rendering`, otherwise the Jupyter tutorials will fail to execute.
-Prerequisites
--------------
-1. Install system dependencies
-``````````````````````````````
+Install system dependencies
+---------------------------
**Ubuntu**
@@ -34,23 +32,44 @@ First, install a TeX distribution such as `MacTeX `_
brew install ghostscript pandoc doxygen
-2. Install Python dependencies
-``````````````````````````````
+
+Building C++ documentation
+--------------------------
+
+If you only want to build C++ API documentation, clone the Open3D repo and run
+doxygen.
.. code-block:: bash
- pip install -r docs/requirements.txt
+ git clone https://github.com/isl-org/open3d
+ cd open3d/docs
+ doxygen Doxyfile.in
+
+Start browsing the generated C++ API documentation from the file
+``docs/doxygen/html/index.html``. Read on if you want to build the full
+documentation (including Python API and tutorials).
-Build
------
-First, clone and build Open3D from source and install the Open3D Python package.
-Visit :ref:`compilation` for details. After configuration, install the Open3D
-Python package with:
+Install or Build Open3D
+-----------------------
.. code-block:: bash
- make install-pip-package -j$(nproc)
+ pip install open3d
+
+To instead build Open3D from source, see :ref:`compilation`.
+
+
+Install Python dependencies
+---------------------------
+
+.. code-block:: bash
+
+ pip install -r docs/requirements.txt
+
+Build docs
+----------
+
.. code-block:: bash
diff --git a/docs/getting_started.in.rst b/docs/getting_started.in.rst
index 93fe8605a2c..d3ffdc21956 100644
--- a/docs/getting_started.in.rst
+++ b/docs/getting_started.in.rst
@@ -83,7 +83,7 @@ version (``HEAD`` of ``master`` branch):
- `Python 3.8 `__
- `Python 3.9 `__
- `Python 3.10 `__
- - `Python 3.11 `__
+ - `Python 3.11 `__
* - Windows
- `Python 3.8 `__
diff --git a/util/ci_utils.sh b/util/ci_utils.sh
index 3d9416d1f46..1487cf193ca 100644
--- a/util/ci_utils.sh
+++ b/util/ci_utils.sh
@@ -70,9 +70,9 @@ install_python_dependencies() {
if [ "$BUILD_TENSORFLOW_OPS" == "ON" ]; then
# TF happily installs both CPU and GPU versions at the same time, so remove the other
python -m pip uninstall --yes "$TF_ARCH_DISABLE_NAME"
- python -m pip install -U "$TF_ARCH_NAME"=="$TENSORFLOW_VER" # ML/requirements-tensorflow.txt
+ python -m pip install -U "$TF_ARCH_NAME"=="$TENSORFLOW_VER" # ML/requirements-tensorflow.txt
fi
- if [ "$BUILD_PYTORCH_OPS" == "ON" ]; then # ML/requirements-torch.txt
+ if [ "$BUILD_PYTORCH_OPS" == "ON" ]; then # ML/requirements-torch.txt
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
python -m pip install -U "${TORCH_GLNX}" -f "$TORCH_REPO_URL" tensorboard
@@ -414,9 +414,10 @@ build_docs() {
-DBUILD_WEBRTC=OFF \
-DBUILD_JUPYTER_EXTENSION=OFF \
..
- make install-pip-package -j$NPROC
+ make python-package -j$NPROC
make -j$NPROC
bin/GLInfo
+ export PYTHONPATH="${PYTHONPATH:+${PYTHONPATH}:}:$PWD/lib/python_package"
python -c "from open3d import *; import open3d; print(open3d)"
cd ../docs # To Open3D/docs
python make_docs.py $DOC_ARGS --clean_notebooks --execute_notebooks=always --py_api_rst=never
@@ -434,7 +435,7 @@ build_docs() {
-DBUILD_WEBRTC=ON \
-DBUILD_JUPYTER_EXTENSION=OFF \
..
- make install-pip-package -j$NPROC
+ make python-package -j$NPROC
make -j$NPROC
bin/GLInfo || echo "Expect failure since HEADLESS_RENDERING=OFF"
python -c "from open3d import *; import open3d; print(open3d)"