sungwy commented on code in PR #1091:
URL: https://github.com/apache/iceberg-python/pull/1091#discussion_r1729651357


##########
Makefile:
##########
@@ -15,28 +15,37 @@
 # specific language governing permissions and limitations
 # under the License.
 
-install-poetry:
-       pip install poetry==1.8.3
 
-install-dependencies:
-       poetry install -E pyarrow -E hive -E s3fs -E glue -E adlfs -E duckdb -E 
ray -E sql-postgres -E gcsfs -E sql-sqlite -E daft
+help:  ## Display this help
+       @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n  make \033[36m\033[0m\n"} 
/^[a-zA-Z_-]+:.*?##/ { printf "  \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ 
{ printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)

Review Comment:
   nit:
   
   ```suggestion
        @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n  make \033[36m\033[0m\n"} 
/^[a-zA-Z_-]+:.*?##/ { printf "  \033[36m%-20s\033[0m %s\n", $$1, $$2 } /^##@/ 
{ printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
   ```
   
   so that we can vertically align the starting position of the help 
descriptions from
   
   ```
   Usage:
     make 
     help             Display this help
     install-poetry   Install poetry if the user has not done that yet.
     install-dependencies  Install dependencies including dev and all extras
     check-license    Check license headers
     lint             lint
     test             Run all unit tests, can add arguments with 
PYTEST_ARGS="-vv"
     test-integration  run all integration tests with potentially arguments 
like PYTEST_ARGS="-vv"
     test-adlfs       Run tests marked with adlfs, can add arguments with 
PYTEST_ARGS="-vv"
     test-gcs         Run tests marked with gcs, can add arguments with 
PYTEST_ARGS="-vv"
     test-coverage    Run all tests with coverage including unit and 
integration tests
     clean            clean up the project Python working environment
   ```
   
   to:
   
   ```
   Usage:
     make 
     help                  Display this help
     install-poetry        Install poetry if the user has not done that yet.
     install-dependencies  Install dependencies including dev and all extras
     check-license         Check license headers
     lint                  lint
     test                  Run all unit tests, can add arguments with 
PYTEST_ARGS="-vv"
     test-integration      run all integration tests with potentially arguments 
like PYTEST_ARGS="-vv"
     test-adlfs            Run tests marked with adlfs, can add arguments with 
PYTEST_ARGS="-vv"
     test-gcs              Run tests marked with gcs, can add arguments with 
PYTEST_ARGS="-vv"
     test-coverage         Run all tests with coverage including unit and 
integration tests
     clean                 clean up the project Python working environment
   ```



##########
Makefile:
##########
@@ -72,14 +81,14 @@ test-coverage-integration:
        docker compose -f dev/docker-compose-integration.yml exec -T 
spark-iceberg ipython ./provision.py
        poetry run coverage run --source=pyiceberg/ 
--data-file=.coverage.integration -m pytest tests/ -v -m integration 
${PYTEST_ARGS}
 
-test-coverage: | test-coverage-unit test-coverage-integration
+test-coverage: | test-coverage-unit test-coverage-integration ## Run all tests 
with coverage including unit and integration tests
        poetry run coverage combine .coverage.unit .coverage.integration
        poetry run coverage report -m --fail-under=90
        poetry run coverage html
        poetry run coverage xml
 
 
-clean:
+clean: ## clean up the project Python working environment

Review Comment:
   nit: capitalize
   
   ```suggestion
   clean: ## Clean up the project Python working environment
   ```



##########
Makefile:
##########
@@ -15,28 +15,37 @@
 # specific language governing permissions and limitations
 # under the License.
 
-install-poetry:
-       pip install poetry==1.8.3
 
-install-dependencies:
-       poetry install -E pyarrow -E hive -E s3fs -E glue -E adlfs -E duckdb -E 
ray -E sql-postgres -E gcsfs -E sql-sqlite -E daft
+help:  ## Display this help
+       @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n  make \033[36m\033[0m\n"} 
/^[a-zA-Z_-]+:.*?##/ { printf "  \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ 
{ printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
+
+install-poetry:  ## Install poetry if the user has not done that yet.
+        @if ! command -v poetry &> /dev/null; then \
+         echo "Poetry could not be found. Installing..."; \
+         pip install --user poetry==1.8.3; \
+     else \
+         echo "Poetry is already installed."; \
+     fi
+
+install-dependencies: ## Install dependencies including dev and all extras
+       poetry install --all-extras
 
 install: | install-poetry install-dependencies
 
-check-license:
+check-license: ## Check license headers
        ./dev/check-license
 
-lint:
+lint: ## lint
        poetry run pre-commit run --all-files
 
-test:
+test: ## Run all unit tests, can add arguments with PYTEST_ARGS="-vv"
        poetry run pytest tests/ -m "(unmarked or parametrize) and not 
integration" ${PYTEST_ARGS}
 
-test-s3:
+test-s3: # Run tests marked with s3, can add arguments with PYTEST_ARGS="-vv"
        sh ./dev/run-minio.sh
        poetry run pytest tests/ -m s3 ${PYTEST_ARGS}
 
-test-integration:
+test-integration: ## run all integration tests with potentially arguments like 
PYTEST_ARGS="-vv"

Review Comment:
   nit: capitalize, and unify `PYTEST_ARGS` usage description with the other 
comments
   
   ```suggestion
   test-integration: ## Run all integration tests, can add arguments with 
PYTEST_ARGS="-vv"
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to