CSV2PSKC(1)
π csv2pskc β the "turn your spreadsheet into a PSKC file" page π
okay bestie, listen up, because this one is genuinely a little bop. it's csv2pskc, from the python-pskc crew, living in section 1 of your manual. she takes a CSV and hands you back a PSKC. that's the whole vibe. let's go π
β¨ NAME β¨
csv2pskc β Convert a CSV file to PSKC πΈ
π¦ SYNOPSIS π¦
csv2pskc [options] [<FILE>]
that's it. that's the whole summoning ritual. <FILE> is optional, and if you don't give her one she'll read from stdin, main character behaviour honestly β¨
π DESCRIPTION π
csv2pskc reads a CSV file where the first line contains column labels, and the following lines contain key information, one key per line. so likeβ¦ header row up top, one key per row below. simple. iconic. no cap π
π OPTIONS π
-h,--helpβ Display usage summary. the "help meee" flag, she's got you π«Ά-V,--versionβ Display version information. for when you need to know exactly which queen you're talking to π-o FILE,--output FILEβ By defaultcsv2pskcwrites a PSKC file to stdout. This option can be used to save to a file instead. so if you don't wanna see her thoughts on your terminal, give her a file to write into πΎ-c COL,COL,..,--columns COL,COL,..β Specify the meaning of the columns in the CSV file. By default the first row of the CSV file is expected to list the names of the columns. lowkey the most powerful flag here, ngl.
Any property of Key <#pskc.key.Key> instances can be used as well as Policy <#pskc.policy.Policy> properties via policy. For example: serial, secret, counter, time_offset, time_interval, interval, time_drift, issuer, manufacturer, response_length, policy.pin_min_length. that list is giving "menu at a fancy restaurant" and i'm obsessed π
This option can either specify a list of columns or a COL:KEY mapping where COL refers to the value found in the first line of the CSV file and KEY refers to a property as described above.
It is possible to map a single column in the CSV file to multiple PSKC properties (e.g. use of id+serial sets both the ID and device serial number to the value found in that column). one column, two jobs, she's multitasking, we love a hustler π
--skip-rows Nβ By default the first row is treated as a header which contains labels. This option can be used to either skip more row (the first row of the CSV file will still be treated as a header) or to indicate that there is no header row.
In the latter case the --columns option is required. β οΈ so if you're like "there's no header here bestie", you MUST tell her what the columns mean. she's not a mind reader (she is many things, but not that).
-x COL=VALUE,--set COL=VALUEβ Specify properties that are added to all keys in the generated PSKC file. Accepted labels are the same as for the--columnsoption.
This can be useful for setting the issuer, manufacturer or other common properties globally. one -x and every single key gets the same drip. matching outfits fr fr π―
-p PASS/FILE,--password PASS/FILE,--passwd PASS/FILEβ Encrypt the PSKC file with the specified password. If the argument refers to a file the password is read from the file instead. π three names, one queen. very "i go by several aliases" of her.-s KEY/FILE,--secret KEY/FILEβ A hex encoded encryption key or a file containing the binary key (raw data, not encoded). note that: raw data, not encoded. don't hand her a pretty base64 string and expect it to work, that's not the vibe π«β¨-e ENCODING,--secret-encoding ENCODINGβ Specify the encoding to use for reading key material from the CSV file. By defaultHEXencoding is used. Valid encodings are:base32,base64orhex. that's the whole list, don't invent more, she said what she said π
π Author π
Arthur de Jong
π Copyright π
2014-2025 Arthur de Jong
okay and finally, the receipts: this is version 1.4, dated Dec 30, 2025, and it ships as part of python-pskc in section 1 of the manual. that's the whole page bestie, go convert some spreadsheets, you're gonna ate πβ¨ππ¦πΈπ
π«Ά
π¦ where this page comes from
- ubuntu resolute: pskc-utils 1.4-1 Β· LGPL-2.1-or-later
- ubuntu stonking: pskc-utils 1.4-1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms