libefiling
This library targets electronic filing data provided by the Japan Patent Office (JPO). Detailed documentation is written in Japanese, as the primary users are Japanese.
概要
libefiling は インターネット出願ソフトのアーカイブを扱う python パッケージです。
- インターネット出願ソフト: 日本国特許庁に特許など出願する際に使うアプリ
- アーカイブ: インターネット出願ソフトの「データ出力」で保存されるようなJWX(JPC,JWX)を本パッケージではそう呼んでる。
- データ出力でアーカイブと一緒に出力されるXMLを手続XMLと呼ぶことにする。
機能
- アーカイブの展開 -> XML, 画像ファイルが得られる
- XMLファイルの文字コード変換
- manifest.json の生成
- いまのところ 特許願(A163) だけが処理対象。
動作環境
- ubuntu bookworm
- python 3.14
必要アプリのインストール
apt-get update
apt-get install -y python3.14
libefiling パッケージのインストール
pip install libefiling
使い方
from libefiling import parse_archive, Source
SRC = "202501010000123456_A163_____XXXXXXXXXX__99999999999_____AAA.JWX"
PROC = "202501010000123456_A163_____XXXXXXXXXX__99999999999_____AFM.XML"
OUT = "output"
# src のハッシュ値や文書コードを生成して、処理するか判定する例
source = Source.create(SRC)
document_code = source.get_document_code()
if document_code not in ["A163", "A151"]:
raise ValueError(f"Unsupported document code: {document_code}")
if source.sha256 == "...":
print("Already processed")
else:
parse_archive(SRC, PROC, OUT)
- generate_sha256 はアーカイブの内容に応じたハッシュ値を生成し、再処理判定用に使える。
- parse_archive は SRC, PROC を OUT に展開する。
- source = Source.create(SRC) の source は、manifest.json の sources フィールドと同じ形式。parse_archive するまえに、source.sha256 を得られるということ。
出力ファイル
- manifest.json : 展開後のファイルの情報
- raw/ : SRC に含まれてたファイルが展開されてる。
- xml/ : raw/*.xml と PROC を文字コード変換した xml が保存されてる。
注意事項
- テストは十分でないので、いろいろバグあるとおもう。
- 読み取り元のファイル(SRC,PROCに指定したファイル)や展開後のファイルは、どこかに送信されることはありません。ソースみてもらえば。
- 本アプリで何らかの損害を被っても本アプリ作者は責任を負いません。
ライセンス
MIT ライセンス
Reference
特許庁 日本国特許庁電子文書交換標準仕様XML編 (抜粋版) https://www.jpo.go.jp/system/patent/gaiyo/sesaku/document/touroku_jyohou_kikan/shomen-entry-02jpo-shiyosho.pdf
変更履歴
0.1.40
- manifest の形式変更
- xml, image の path を filename にした。
0.1.49
- manifest の形式変更
- xml_files の kind を追加
- get_document_code 関数を追加
0.1.51
- get_doc_id 関数を追加
0.1.54
- 画像リサイズをスレッド化した。
0.1.55
- 画像リサイズのために cykooze_resizer を選択できるようにした。
0.1.56
- 画像リサイズのために pillow-simd を選択できるようにした。
0.1.60
- get_document_code 関数は、manifest.jsonだけでなく、アーカイブパス・手続ファイルを与えても文書コードを返すようにした。
- manifest.json に 文書コードを含めた
0.2.0
- manifest.json の documents フィールドを sources フィールドに変更した。
- sources の子要素は配列でなく archive, procedure とした。
- sources.document_code フィールドは、文書コードを表す
- get_document_code 廃止,Source クラスの get_document_code で代替
- get_doc_id, generate_sha256 関数廃止, Source クラスの sha256 で代替
- xml/sources.xml をはき出すようにした. manifest.json の sources フィールドと同じ内容を表す。
0.2.1
- xml/images-information.xml をはき出すようにした. manifest.json の images フィールドと同じ内容 + ocr テキストを含んだxml
0.3.0 ** API互換性がなくなっています。
- 画像変換、OCR、xml/sources.xml、xml/images-information.xml の出力を廃止した。
- 出力は manifest.json, xml/, raw/ のみとした。
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file libefiling-0.3.0.tar.gz.
File metadata
- Download URL: libefiling-0.3.0.tar.gz
- Upload date:
- Size: 71.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be49e982a6639d8918fb8c430c72a0ed0b8da957668420163528fdf129d5af05
|
|
| MD5 |
9499f0a918d42401e99a2ef09295d5c7
|
|
| BLAKE2b-256 |
1272d43eda2220388c447b4fc05044e5473f96bc9c2a79f9fad1cac35e28c386
|
Provenance
The following attestation bundles were made for libefiling-0.3.0.tar.gz:
Publisher:
publish-pypi.yml on hyperion13th144m/libefiling
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
libefiling-0.3.0.tar.gz -
Subject digest:
be49e982a6639d8918fb8c430c72a0ed0b8da957668420163528fdf129d5af05 - Sigstore transparency entry: 2319416326
- Sigstore integration time:
-
Permalink:
hyperion13th144m/libefiling@9b6b72f13e007fae34b099f7ab9a61841c197657 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/hyperion13th144m
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@9b6b72f13e007fae34b099f7ab9a61841c197657 -
Trigger Event:
release
-
Statement type:
File details
Details for the file libefiling-0.3.0-py3-none-any.whl.
File metadata
- Download URL: libefiling-0.3.0-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
486dff4a4178909e8323b6866ee856cdc346878dea1fc792320b4b80bf636426
|
|
| MD5 |
3df1341d03697a84d0caf3dbbbd0c90b
|
|
| BLAKE2b-256 |
3fa466fb55cbd4fd96a20f2b9fdb223129dbb82a13072f3628920780214aa68f
|
Provenance
The following attestation bundles were made for libefiling-0.3.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on hyperion13th144m/libefiling
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
libefiling-0.3.0-py3-none-any.whl -
Subject digest:
486dff4a4178909e8323b6866ee856cdc346878dea1fc792320b4b80bf636426 - Sigstore transparency entry: 2319416615
- Sigstore integration time:
-
Permalink:
hyperion13th144m/libefiling@9b6b72f13e007fae34b099f7ab9a61841c197657 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/hyperion13th144m
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@9b6b72f13e007fae34b099f7ab9a61841c197657 -
Trigger Event:
release
-
Statement type: