zora-cli 0.1.3__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zora-cli
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Cryptographically secure generator of random keys with tons of options and customizations.
5
5
  Author: zscopuv
6
6
  License: ZORA SOURCE-AVAILABLE LICENSE
@@ -227,8 +227,8 @@ Requires-Dist: colorama==0.4.6
227
227
  Requires-Dist: packaging>=24.0
228
228
  Dynamic: license-file
229
229
 
230
- # ![Logo](zora.jpg)
231
- > **Early release (`v0.1.3`)**
230
+ # ![Logo](https://i.ibb.co/21JfnbBZ/zora.jpg)
231
+ > **Early release (`v0.1.4`)**
232
232
 
233
233
  Zora generates random keys using Python's cryptographically secure
234
234
  `secrets` module by default. It supports customizable character sets,
@@ -258,19 +258,32 @@ output, entropy estimation, and an optional deterministic PRNG mode.
258
258
  - 🤫 **Quiet mode** for scripting
259
259
  - 📋 **Charset preset listing**
260
260
 
261
+ ## Installation
262
+
263
+ ### Requirements
264
+
265
+ ```bash
266
+ pip install zora-cli
267
+ ````
268
+
269
+ Run Zora:
270
+
271
+ ```bash
272
+ zora 32
273
+ ```
261
274
 
262
275
  # Usage
263
276
 
264
277
  Basic usage:
265
278
 
266
279
  ```bash
267
- python zora.py LENGTH [OPTIONS]
280
+ zora LENGTH [OPTIONS]
268
281
  ```
269
282
 
270
283
  For example:
271
284
 
272
285
  ```bash
273
- python zora.py 32
286
+ zora 32
274
287
  ```
275
288
 
276
289
  Example output:
@@ -294,7 +307,7 @@ Generator: CSPRNG
294
307
  The length of the random portion of the generated key.
295
308
 
296
309
  ```bash
297
- python zora.py 32
310
+ zora 32
298
311
  ```
299
312
 
300
313
  The value must be greater than `0`.
@@ -306,7 +319,7 @@ The value must be greater than `0`.
306
319
  Select the character set used to generate keys.
307
320
 
308
321
  ```bash
309
- python zora.py 32 --charset @digits
322
+ zora 32 --charset @digits
310
323
  ```
311
324
 
312
325
  By default:
@@ -324,7 +337,7 @@ Zora supports both predefined charset presets and literal characters.
324
337
  Use `--charset-list` to display all available presets:
325
338
 
326
339
  ```bash
327
- python zora.py --charset-list
340
+ zora --charset-list
328
341
  ```
329
342
 
330
343
  Currently available presets:
@@ -347,7 +360,7 @@ Currently available presets:
347
360
  Presets can be combined:
348
361
 
349
362
  ```bash
350
- python zora.py 32 --charset @letters@digits
363
+ zora 32 --charset @letters@digits
351
364
  ```
352
365
 
353
366
  This creates an alphanumeric character set.
@@ -355,7 +368,7 @@ This creates an alphanumeric character set.
355
368
  Multiple presets can be combined:
356
369
 
357
370
  ```bash
358
- python zora.py 32 --charset @upper@lower@digits
371
+ zora 32 --charset @upper@lower@digits
359
372
  ```
360
373
 
361
374
  Duplicate characters are automatically removed.
@@ -377,7 +390,7 @@ Literal characters can be included alongside presets.
377
390
  For example:
378
391
 
379
392
  ```bash
380
- python zora.py 32 --charset @hexXYZ
393
+ zora 32 --charset @hexXYZ
381
394
  ```
382
395
 
383
396
  This means:
@@ -389,7 +402,7 @@ This means:
389
402
  Another example:
390
403
 
391
404
  ```bash
392
- python zora.py 32 --charset XYZ@hex
405
+ zora 32 --charset XYZ@hex
393
406
  ```
394
407
 
395
408
  means:
@@ -407,7 +420,7 @@ This allows arbitrary character sets without needing to add a new preset.
407
420
  Display the available charset presets:
408
421
 
409
422
  ```bash
410
- python zora.py --charset-list
423
+ zora --charset-list
411
424
  ```
412
425
 
413
426
  Example:
@@ -438,13 +451,13 @@ Use as:
438
451
  Use `-n` or `--count`:
439
452
 
440
453
  ```bash
441
- python zora.py 32 --count 10
454
+ zora 32 --count 10
442
455
  ```
443
456
 
444
457
  or:
445
458
 
446
459
  ```bash
447
- python zora.py 32 -n 10
460
+ zora 32 -n 10
448
461
  ```
449
462
 
450
463
  Zora generates each key independently.
@@ -459,7 +472,7 @@ cryptographically secure random generator.
459
472
  Add a prefix:
460
473
 
461
474
  ```bash
462
- python zora.py 32 --prefix "AUTH_"
475
+ zora 32 --prefix "AUTH_"
463
476
  ```
464
477
 
465
478
  Example:
@@ -471,13 +484,13 @@ AUTH_GxKqTnJpYwRzLhBcVfQmNsXeUaPkTdWr
471
484
  Add a suffix:
472
485
 
473
486
  ```bash
474
- python zora.py 32 --suffix "_KEY"
487
+ zora 32 --suffix "_KEY"
475
488
  ```
476
489
 
477
490
  Both can be used together:
478
491
 
479
492
  ```bash
480
- python zora.py 32 --prefix "AUTH_" --suffix "_KEY"
493
+ zora 32 --prefix "AUTH_" --suffix "_KEY"
481
494
  ```
482
495
 
483
496
  > Prefixes and suffixes are not random and therefore do not contribute to
@@ -492,7 +505,7 @@ Use `--group` to insert a separator every N characters.
492
505
  For example:
493
506
 
494
507
  ```bash
495
- python zora.py 32 --group 4
508
+ zora 32 --group 4
496
509
  ```
497
510
 
498
511
  Output:
@@ -510,7 +523,7 @@ The default separator is:
510
523
  Use `--sep` to change it:
511
524
 
512
525
  ```bash
513
- python zora.py 32 --group 4 --sep ":"
526
+ zora 32 --group 4 --sep ":"
514
527
  ```
515
528
 
516
529
  Output:
@@ -529,7 +542,7 @@ entropy.
529
542
  Use `-o` or `--output` to write generated keys to a file:
530
543
 
531
544
  ```bash
532
- python zora.py 32 -n 10 --output keys.txt
545
+ zora 32 -n 10 --output keys.txt
533
546
  ```
534
547
 
535
548
  The generated keys are written one per line.
@@ -552,7 +565,7 @@ This is the recommended mode when generating authentication tokens,
552
565
  API keys, secrets, or other security-sensitive random values.
553
566
 
554
567
  ```bash
555
- python zora.py 32
568
+ zora 32
556
569
  ```
557
570
 
558
571
  The output will report:
@@ -568,7 +581,7 @@ Generator: CSPRNG
568
581
  Use:
569
582
 
570
583
  ```bash
571
- python zora.py 32 --unsafe
584
+ zora 32 --unsafe
572
585
  ```
573
586
 
574
587
  to use Python's normal pseudo-random number generator instead of the
@@ -603,7 +616,7 @@ This is intentional.
603
616
  The following will fail:
604
617
 
605
618
  ```bash
606
- python zora.py 32 --seed example
619
+ zora 32 --seed example
607
620
  ```
608
621
 
609
622
  because Zora's secure generator should not be made deterministic through
@@ -612,7 +625,7 @@ the normal CLI.
612
625
  Instead:
613
626
 
614
627
  ```bash
615
- python zora.py 32 --unsafe --seed example
628
+ zora 32 --unsafe --seed example
616
629
  ```
617
630
 
618
631
  A seed can be useful for testing reproducibility.
@@ -620,7 +633,7 @@ A seed can be useful for testing reproducibility.
620
633
  For example:
621
634
 
622
635
  ```bash
623
- python zora.py 32 --unsafe --seed test
636
+ zora 32 --unsafe --seed test
624
637
  ```
625
638
 
626
639
  will produce the same deterministic sequence when run with the same
@@ -636,7 +649,7 @@ rather than being reseeded for every key.
636
649
  Use `-q` or `--quiet` to suppress non-essential output:
637
650
 
638
651
  ```bash
639
- python zora.py 32 --quiet
652
+ zora 32 --quiet
640
653
  ```
641
654
 
642
655
  This is useful when using Zora inside scripts or shell pipelines.
@@ -644,7 +657,7 @@ This is useful when using Zora inside scripts or shell pipelines.
644
657
  For example:
645
658
 
646
659
  ```bash
647
- python zora.py 32 --quiet > key.txt
660
+ zora 32 --quiet > key.txt
648
661
  ```
649
662
 
650
663
  ---
@@ -676,13 +689,13 @@ entropy.
676
689
  For example:
677
690
 
678
691
  ```bash
679
- python zora.py 32 --prefix "AUTH_"
692
+ zora 32 --prefix "AUTH_"
680
693
  ```
681
694
 
682
695
  has the same theoretical entropy as:
683
696
 
684
697
  ```bash
685
- python zora.py 32
698
+ zora 32
686
699
  ```
687
700
 
688
701
  assuming the same charset and length.
@@ -725,103 +738,103 @@ PRNG
725
738
  ### Basic key
726
739
 
727
740
  ```bash
728
- python zora.py 32
741
+ zora 32
729
742
  ```
730
743
 
731
744
  ### Digits only
732
745
 
733
746
  ```bash
734
- python zora.py 32 --charset @digits
747
+ zora 32 --charset @digits
735
748
  ```
736
749
 
737
750
  ### Lowercase only
738
751
 
739
752
  ```bash
740
- python zora.py 32 --charset @lower
753
+ zora 32 --charset @lower
741
754
  ```
742
755
 
743
756
  ### Uppercase only
744
757
 
745
758
  ```bash
746
- python zora.py 32 --charset @upper
759
+ zora 32 --charset @upper
747
760
  ```
748
761
 
749
762
  ### Alphanumeric
750
763
 
751
764
  ```bash
752
- python zora.py 32 --charset @letters@digits
765
+ zora 32 --charset @letters@digits
753
766
  ```
754
767
 
755
768
  ### Hexadecimal
756
769
 
757
770
  ```bash
758
- python zora.py 32 --charset @hex
771
+ zora 32 --charset @hex
759
772
  ```
760
773
 
761
774
  ### Hexadecimal plus custom characters
762
775
 
763
776
  ```bash
764
- python zora.py 32 --charset @hexXYZ
777
+ zora 32 --charset @hexXYZ
765
778
  ```
766
779
 
767
780
  ### Uppercase, lowercase and digits
768
781
 
769
782
  ```bash
770
- python zora.py 32 --charset @upper@lower@digits
783
+ zora 32 --charset @upper@lower@digits
771
784
  ```
772
785
 
773
786
  ### Symbols
774
787
 
775
788
  ```bash
776
- python zora.py 32 --charset @special
789
+ zora 32 --charset @special
777
790
  ```
778
791
 
779
792
  ### Group the output
780
793
 
781
794
  ```bash
782
- python zora.py 32 --group 4
795
+ zora 32 --group 4
783
796
  ```
784
797
 
785
798
  ### Custom separator
786
799
 
787
800
  ```bash
788
- python zora.py 32 --group 4 --sep ":"
801
+ zora 32 --group 4 --sep ":"
789
802
  ```
790
803
 
791
804
  ### Generate multiple keys
792
805
 
793
806
  ```bash
794
- python zora.py 32 -n 10
807
+ zora 32 -n 10
795
808
  ```
796
809
 
797
810
  ### Save to a file
798
811
 
799
812
  ```bash
800
- python zora.py 32 -n 100 -o keys.txt
813
+ zora 32 -n 100 -o keys.txt
801
814
  ```
802
815
 
803
816
  ### Prefix
804
817
 
805
818
  ```bash
806
- python zora.py 32 --prefix "AUTH_"
819
+ zora 32 --prefix "AUTH_"
807
820
  ```
808
821
 
809
822
  ### Secure generation
810
823
 
811
824
  ```bash
812
- python zora.py 32
825
+ zora 32
813
826
  ```
814
827
 
815
828
  ### Reproducible testing
816
829
 
817
830
  ```bash
818
- python zora.py 32 --unsafe --seed test
831
+ zora 32 --unsafe --seed test
819
832
  ```
820
833
 
821
834
  ### Quiet output
822
835
 
823
836
  ```bash
824
- python zora.py 32 --quiet
837
+ zora 32 --quiet
825
838
  ```
826
839
 
827
840
  ---
@@ -890,7 +903,7 @@ However, entropy alone does not prove that a generator is secure.
890
903
  For example:
891
904
 
892
905
  ```bash
893
- python zora.py 32 --unsafe
906
+ zora 32 --unsafe
894
907
  ```
895
908
 
896
909
  can still report a high entropy value because the theoretical output
@@ -925,42 +938,25 @@ pip install -r requirements.txt
925
938
  Run:
926
939
 
927
940
  ```bash
928
- python zora.py 32
941
+ zora 32
929
942
  ```
930
943
 
931
944
  ---
932
945
 
933
- # Project structure
934
-
935
- A minimal installation currently looks like:
936
-
937
- ```text
938
- Zora/
939
- ├── zora.py
940
- ├── zora.jpg
941
- ├── LICENSE
942
- ├── README.md
943
- └── requirements.txt
944
- ```
945
-
946
- Future versions may introduce a package structure and automated tests.
947
-
948
- ---
949
-
950
946
  # Roadmap
951
947
 
952
948
  Possible future improvements include:
953
949
 
950
+ * [x] More charset presets
951
+ * [x] Improved documentation
952
+ * [x] Installation through `pip`
953
+ * [x] Packaging with `pyproject.toml`
954
954
  * [ ] Automated test suite
955
- * [ ] More charset presets
956
955
  * [ ] Better charset parsing errors
957
956
  * [ ] Configuration files
958
- * [ ] Packaging with `pyproject.toml`
959
- * [ ] Installation through `pip`
960
957
  * [ ] Shell completion
961
958
  * [ ] More output formats
962
959
  * [ ] Benchmarking mode
963
- * [ ] Improved documentation
964
960
  * [ ] Cross-platform terminal improvements
965
961
  * [ ] API/library usage
966
962
  * [ ] More extensive security testing