33OpenTDF Python CLI
44
55A command-line interface for encrypting and decrypting files using OpenTDF.
6- Provides encrypt, decrypt, and inspect commands similar to the TypeScript CLI.
6+ Provides encrypt, decrypt, and inspect commands similar to the otdfctl CLI.
77"""
88
99import argparse
2222
2323
2424# Version - get from project metadata
25- __version__ = "0.3.0a5 "
25+ __version__ = "0.3.0a6 "
2626
2727
2828# Set up logging
@@ -146,7 +146,7 @@ def build_sdk(args) -> SDK:
146146 else :
147147 raise CLIError (
148148 "CRITICAL" ,
149- "Authentication required: provide --with-client-creds-file, --client-id and --client-secret, or --auth " ,
149+ "Authentication required: provide --with-client-creds-file OR --client-id and --client-secret" ,
150150 )
151151
152152 if hasattr (args , "plaintext" ) and args .plaintext :
@@ -307,7 +307,9 @@ def cmd_decrypt(args):
307307 # Regular TDF (ZIP format)
308308 logger .debug ("Decrypting TDF" )
309309 reader_config = TDFReaderConfig ()
310- tdf_reader = sdk .load_tdf (encrypted_data , reader_config )
310+ tdf_reader = sdk .load_tdf_with_config (
311+ encrypted_data , reader_config
312+ )
311313 # Access payload directly from TDFReader
312314 payload_bytes = tdf_reader .payload
313315 output_file .write (payload_bytes )
@@ -331,7 +333,7 @@ def cmd_decrypt(args):
331333 # Regular TDF (ZIP format)
332334 logger .debug ("Decrypting TDF" )
333335 reader_config = TDFReaderConfig ()
334- tdf_reader = sdk .load_tdf (encrypted_data , reader_config )
336+ tdf_reader = sdk .load_tdf_with_config (encrypted_data , reader_config )
335337 payload_bytes = tdf_reader .payload
336338 output_file .write (payload_bytes )
337339 logger .info ("Successfully decrypted TDF" )
@@ -384,7 +386,9 @@ def cmd_inspect(args):
384386 # Regular TDF
385387 logger .debug ("Inspecting TDF" )
386388 reader_config = TDFReaderConfig ()
387- tdf_reader = sdk .load_tdf (BytesIO (encrypted_data ), reader_config )
389+ tdf_reader = sdk .load_tdf_with_config (
390+ BytesIO (encrypted_data ), reader_config
391+ )
388392 manifest = tdf_reader .manifest
389393
390394 # Try to get data attributes
@@ -479,11 +483,6 @@ def create_parser() -> argparse.ArgumentParser:
479483 )
480484 auth_group .add_argument ("--client-id" , help = "OAuth client ID" )
481485 auth_group .add_argument ("--client-secret" , help = "OAuth client secret" )
482- # Keep --auth for backward compatibility
483- auth_group .add_argument (
484- "--auth" ,
485- help = "Combined OAuth credentials (clientId:clientSecret) - deprecated, use --with-client-creds-file" ,
486- )
487486
488487 # Security options
489488 security_group = parser .add_argument_group ("Security" )
0 commit comments