slate3kへのプルリクエストを貰った。
https://github.com/TakesxiSximada/slate3k/pull/1
このパッケージはslateというパッケージをPython3対応したものだ。本家のslateはもう長らく保守されていなかったため、フォークしPyPIにslate3kという名前で新しくアップロードした。slate自体はPDFの解析用ライブラリなのだが、それのラッパーとして実装されている。コード分量も少なく、今考えると、slateを使用せずpdfminerを直接使うほうが良いように思う。pdfminerはPython2用だがpdfminer.sixというPython3対応したものが、保守され続けている。
slateは私が監訳した「PythonによるWebスクレイピング」という書籍で紹介されている。その作業を行っていた当時、書籍の内容をPython3対応しようとしてslateがPython3をサポートしていなかったため、苦肉の策でフォークし別名でPyPIにアップロードした。その書籍の内容と辻褄を合せるという意味でも、slate3kは保守したいと思う。
ただ、slate3k自体もいろいろと問題があり、またそれほど利用されてもいないだろうと思えることだ。Python2.7とPython3.6をサポートしていると記載はしているが、実際にはpdfminerのバージョンを固定していないため、最新のpdfminerを利用する状態では、動作しないことがわかった。あわせて、Python2.7とPython3.6という極めて古いバージョンのPythonをサポートするのは面倒でもある。テストも難しい。メジャーバージョンを1つインクリメントして、最新で正しく動作するように修正したほうが良いかもしれない。また私の認識違いでライセンスの不整合も発生している。
元々はGPLv3で配布されていたが、どこかのタイミングで作者自身が考えを変え、MITライセンスに変更した。ただしその時、GPLv3のライセンスファイルとコード内の記述をそのまま残した。MITライセンスで配布されることが作者の期待値のように思う。ただ、コード内にGPLv3の記述があるので、一部のコードはどこかからコピーしてきたものなのかもしれない。もはやよく分からない状態になってしまっている。このあたりも整理する必要がある。