iceberg
iceberg copied to clipboard
Python: Add license checker to the source distribution
This adds a light version of the check-license script (without the exclusions), and a command in the makefile to easily run it
Why remove the exclusions? It seems like that's valuable and we'll probably want them in the future.
@rdblue It would be an empty list for now, so I figured it doesn't make any sense to add it. I can add it, but I think it would be best to avoid exclusions in general.
This would also mean that we would need to maintain two lists; one in the root dev/ and one in the python folder. Also, the source distribution does not contain all the files that are in the repo (for example, the poetry.lock is compiled into a setup.py).
Another option is to copy the script and exclusions from the root at release time. This would include filtering down the exclusion list to only include python/. This is a bit more involved but would remove the duplicates.
➜ python git:(fd-license-checker) poetry build
Building pyiceberg (0.1.0.dev0)
- Building sdist
- Built pyiceberg-0.1.0.dev0.tar.gz
- Building wheel
- Built pyiceberg-0.1.0.dev0-py3-none-any.whl
➜ python git:(fd-license-checker) cd dist
➜ dist git:(fd-license-checker) tar -xf pyiceberg-0.1.0.dev0.tar.gz
➜ dist git:(fd-license-checker) cd pyiceberg-0.1.0.dev0
➜ pyiceberg-0.1.0.dev0 git:(fd-license-checker) make check-license
./dev/check-license
Attempting to fetch rat
*****************************************************
Summary
-------
Generated at: 2022-09-23T23:13:12+02:00
Notes: 2
Binaries: 0
Archives: 1
Standards: 103
Apache Licensed: 103
Generated Documents: 0
JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.
0 Unknown Licenses
Archives:
+ /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/lib/apache-rat-0.12.jar
*****************************************************
Files with Apache License headers will be marked AL
Binary files (which do not require any license headers) will be marked B
Compressed archives will be marked A
Notices, licenses etc. will be marked N
N /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/LICENSE
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/Makefile
N /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/NOTICE
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/PKG-INFO
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/README.md
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyproject.toml
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/setup.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/dev/check-license
A /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/lib/apache-rat-0.12.jar
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/conversions.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/exceptions.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/files.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/manifest.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/schema.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/serializers.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/transforms.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/typedef.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/types.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/decoder.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/file.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/reader.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/resolver.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/codecs/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/codecs/bzip2.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/codecs/codec.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/codecs/deflate.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/codecs/snappy_codec.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/avro/codecs/zstandard_codec.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/catalog/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/catalog/hive.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/catalog/rest.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/cli/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/cli/console.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/cli/output.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/expressions/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/expressions/base.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/expressions/literals.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/io/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/io/fsspec.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/io/memory.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/io/pyarrow.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/table/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/table/metadata.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/table/partitioning.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/table/refs.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/table/snapshots.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/table/sorting.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/bin_packing.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/config.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/datetime.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/decimal.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/iceberg_base_model.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/parsing.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/schema_conversion.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/pyiceberg/utils/singleton.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/conftest.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/test_conversions.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/test_schema.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/test_transforms.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/test_typedef.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/test_types.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/test_version.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/avro/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/avro/test_decoder.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/avro/test_file.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/avro/test_reader.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/avro/test_resolver.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/catalog/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/catalog/test_base.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/catalog/test_hive.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/catalog/test_rest.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/cli/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/cli/test_console.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/cli/test_output.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/expressions/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/expressions/test_expressions_base.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/expressions/test_literals.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/io/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/io/test_fsspec.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/io/test_io.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/io/test_pyarrow.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/table/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/table/test_init.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/table/test_metadata.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/table/test_partitioning.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/table/test_refs.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/table/test_snapshots.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/table/test_sorting.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/utils/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/utils/test_bin_packing.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/utils/test_config.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/utils/test_manifest.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/utils/test_schema_conversion.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/tests/utils/test_singleton.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/vendor/fb303/FacebookService.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/vendor/fb303/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/vendor/fb303/constants.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/vendor/fb303/ttypes.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/vendor/hive_metastore/ThriftHiveMetastore.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/vendor/hive_metastore/__init__.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/vendor/hive_metastore/constants.py
AL /Users/fokkodriesprong/Desktop/iceberg/python/dist/pyiceberg-0.1.0.dev0/vendor/hive_metastore/ttypes.py
*****************************************************