reait 0.0.19__tar.gz → 1.0.0__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.1
2
2
  Name: reait
3
- Version: 0.0.19
3
+ Version: 1.0.0
4
4
  Home-page: https://github.com/RevEng-AI/reait
5
5
  Author: James Patrick-Evans
6
6
  Author-email: James Patrick-Evans <james@reveng.ai>
@@ -685,13 +685,13 @@ Project-URL: Bug Tracker, https://github.com/RevEng-AI/reait/issues
685
685
  Project-URL: Organisation Homepage, https://reveng.ai
686
686
  Project-URL: Documentation, https://docs.reveng.ai
687
687
  Keywords: reverse,engineering,reveng.ai,reveng,machine,learning,binary,analysis,ml,ai,vector,embedding
688
+ Platform: Cross Platform
688
689
  Classifier: Programming Language :: Python :: 3
689
690
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
690
691
  Classifier: Operating System :: OS Independent
691
692
  Requires-Python: >=3.7
692
693
  Description-Content-Type: text/markdown
693
694
  License-File: LICENSE
694
- Requires-Dist: tqdm
695
695
  Requires-Dist: requests
696
696
  Requires-Dist: rich
697
697
  Requires-Dist: argparse
@@ -713,20 +713,22 @@ Analyse compiled executable binaries using the RevEng.AI API. This tool allows y
713
713
  NB: We are in Alpha. We support GNU/Linux ELF and Windows PE executables for x86_64, and focus our support for x86_64 Linux ELF executables.
714
714
 
715
715
  ## Installation
716
+ Install the latest stable version using `pip3`.
716
717
 
717
- Install the latest stable version using pip.
718
-
719
- `pip install reait`
718
+ ```shell
719
+ pip3 install reait
720
+ ```
720
721
 
721
722
  ### Latest development version
722
-
723
- `pip install -e .`
723
+ ```shell
724
+ pip3 install -e .
725
+ ```
724
726
 
725
727
  or
726
728
 
727
- ```
729
+ ```shell
728
730
  python3 -m build .
729
- pip install -U dist/reait-*.whl
731
+ pip3 install -U dist/reait-*.whl
730
732
  ```
731
733
 
732
734
  ## Using reait
@@ -734,7 +736,9 @@ pip install -U dist/reait-*.whl
734
736
  ### Analysing binaries
735
737
  To submit a binary for analysis, run `reait` with the `-a` flag:
736
738
 
737
- `reait -b /usr/bin/true -a`
739
+ ```shell
740
+ reait -b /usr/bin/true -a
741
+ ```
738
742
 
739
743
  This uploads the binary specified by `-b` to RevEng.AI servers for analysis. Depending on the size of the binary, it may take several hours. You may check an analysis jobs progress with the `-l` flag e.g. `reait -b /usr/bin/true -l`.
740
744
 
@@ -742,30 +746,36 @@ This uploads the binary specified by `-b` to RevEng.AI servers for analysis. Dep
742
746
  Symbol embeddings are numerical vector representations of each component that capture their semantic understanding. Similar functions should be similar to each other in our embedded vector space. They can be thought of as *advanced* AI-based IDA FLIRT signatures or Radare2 Zignatures.
743
747
  Once an analysis is complete, you may access RevEng.AI's BinNet embeddings for all symbols extracted with the `-x` flag.
744
748
 
745
- `reait -b /usr/bin/true -x > embeddings.json`
746
-
747
- #### Extract embedding for symbol at vaddr 0x19f0
748
- `reait -b /usr/bin/true -x | jq ".[] | select(.vaddr==$((0x19f0))).embedding" > embedding.json`
749
-
749
+ ```shell
750
+ reait -b /usr/bin/true -x > embeddings.json
751
+ ```
750
752
 
751
753
  ### Search for similar symbols using an embedding
752
754
  To query our database of similar symbols based on an embedding, use `-n` to search using Approximate Nearest Neighbours. The `--nns` allows you to specify the number of results returned. A list of symbols with their names, distance (similarity), RevEng.AI collection set, source code filename, source code line number, and file creation timestamp is returned.
753
755
 
754
- `reait -e embedding.json -n`
756
+ ```shell
757
+ reait --embedding embedding.json -n
758
+ ```
755
759
 
756
- The following command searches for the top 10 most similar symbols found in md5sum.gcc.og.dynamic to the symbol starting at 0x4037e0 in md5sum.clang.og.dynamic. You may need to pass `--image-base` to ensure virtual addresses are mapped correctly.
760
+ The following command searches for the top 10 most similar symbols found in md5sum.gcc.og.dynamic to the symbol starting at _0x33E6_ in md5sum.clang.og.dynamic. You may need to pass `--image-base` to ensure virtual addresses are mapped correctly.
757
761
 
758
- `reait -b md5sum.gcc.og.dynamic -n --start-vaddr 0x33e6 --found-in md5sum.gcc.o2.dynamic --nns 10 --base-address 0x100000`
762
+ ```shell
763
+ reait -b md5sum.gcc.og.dynamic -n --start-vaddr 0x33E6 --found-in md5sum.gcc.o2.dynamic --nns 10 --base-address 0x100000
764
+ ```
759
765
 
760
766
  Search NN by symbol name.
761
- `reait -b md5sum.gcc.og.dynamic -n --symbol md5_buffer --found-in md5sum.gcc.o2.dynamic --nns 5`
767
+ ```shell
768
+ reait -b md5sum.gcc.og.dynamic -n --symbol md5_buffer --found-in md5sum.gcc.o2.dynamic --nns 5
769
+ ```
762
770
 
763
771
  NB: A smaller distance indicates a higher degree of similarity.
764
772
 
765
773
  #### Specific Search
766
774
  To search for the most similar symbols found in a specific binary, use the `--found-in` option with a path to the executable to search from.
767
775
 
768
- `reait -n --embedding /tmp/sha256_init.json --found-in ~/malware.exe --nns 5`
776
+ ```shell
777
+ reait -n --embedding /tmp/sha256_init.json --found-in ~/malware.exe --nns 5
778
+ ```
769
779
 
770
780
  This downloads embeddings from `malware.exe` and computes the cosine similarity between all symbols and `sha256_init.json`. The returned results lists the most similar symbol locations by cosine similarity score (1.0 most similar, -1.0 dissimilar).
771
781
 
@@ -775,7 +785,9 @@ The `--from-file` option may also be used to limit the search to a custom file c
775
785
  #### Limited Search
776
786
  To search for most similar symbols from a set of RevEng.AI collections, use the `--collections` options with a RegEx to match collection names. For example:
777
787
 
778
- `reait -n --embedding my_func.json --collections "(libc.*|lib.*crypt.*)"`
788
+ ```shell
789
+ reait -n --embedding my_func.json --collections "(libc.*|lib.*crypt.*)"
790
+ ```
779
791
 
780
792
  RevEng.AI collections are sets of pre-analysed executable objects. To create custom collection sets e.g., malware collections, please create a RevEng.AI account.
781
793
 
@@ -786,47 +798,25 @@ Find common components between binaries, RevEng.AI collections, or global search
786
798
 
787
799
  Example usage:
788
800
 
789
- ```
801
+ ```shell
790
802
  reait -M -b 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe --from-file 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.embeddings.json --confidence high
791
803
  ```
792
804
 
793
805
  ### RevEng.AI embedding models
794
806
  To use specific RevEng.AI AI models, or for training custom models, use `-m` to specify the model. The default option is to use the latest development model. Available models are `binnet-0.1` and `dexter`.
795
807
 
796
- `reait -b /usr/bin/true -m dexter -a`
808
+ ```shell
809
+ reait -b /usr/bin/true -m dexter -a
810
+ ```
797
811
 
798
812
  ### Software Composition Analysis
799
813
  To identify known open source software components embedded inside a binary, use the `-C` flag.
800
814
 
801
- #### Stripped Binary CVE Checker
802
- To check for known vulnerabilities found with embedded software components, use `-c` or `--cves`.
803
-
804
-
805
- ### REAI Signatures
806
- To generate an AI functional description of an entire binary file, use the `-s` flag. This will return the REAI signature of the file.
807
-
808
- REAI signatures can be used to compute the binary similarity between entire executables with the `-S` flag. For example:
809
-
810
- ```
811
- reait -b d24ccf73aabca4192d33a07b4a238c8d40ac97a550c2e65b8074f03455a981ca.exe -S -t 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c.exe,438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476.exe,755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.exe,05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe
812
- Computing Binary Similarity... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:01
813
- Binary Similarity to RedlineInfoStealer/d24ccf73aabca4192d33a07b4a238c8d40ac97a550c2e65b8074f03455a981ca.exe
814
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
815
- ┃ Binary ┃ SHA3-256 ┃ Similarity ┃
816
- ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
817
- │ 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c.exe │ 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c │ 0.99907 │
818
- │ 438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476.exe │ 438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476 │ 1.00000 │
819
- │ 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.exe │ 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63 │ 0.80522 │
820
- │ 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe │ 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2 │ 0.94701 │
821
- └──────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────┴────────────┘
822
- ```
823
-
824
815
 
825
816
  ### Binary ANN Search
826
-
827
817
  To perform binary ANN search, pass in `-n` and `-s` flag at the same time. For example:
828
818
 
829
- ```
819
+ ```shell
830
820
  reait -b /usr/bin/true -s -n
831
821
  Found /usr/bin/true:elf-x86_64
832
822
  [
@@ -855,13 +845,12 @@ Found /usr/bin/true:elf-x86_64
855
845
 
856
846
 
857
847
  ## Configuration
858
-
859
848
  `reait` reads the config file stored at `~/.reait.toml`. An example config file looks like:
860
849
 
861
- ```
850
+ ```shell
862
851
  apikey = "l1br3"
863
852
  host = "https://api.reveng.ai"
864
- model = "binnet-0.1"
853
+ model = "binnet-0.3-x86"
865
854
  ```
866
855
 
867
856
  ## Contact
@@ -9,20 +9,22 @@ Analyse compiled executable binaries using the RevEng.AI API. This tool allows y
9
9
  NB: We are in Alpha. We support GNU/Linux ELF and Windows PE executables for x86_64, and focus our support for x86_64 Linux ELF executables.
10
10
 
11
11
  ## Installation
12
+ Install the latest stable version using `pip3`.
12
13
 
13
- Install the latest stable version using pip.
14
-
15
- `pip install reait`
14
+ ```shell
15
+ pip3 install reait
16
+ ```
16
17
 
17
18
  ### Latest development version
18
-
19
- `pip install -e .`
19
+ ```shell
20
+ pip3 install -e .
21
+ ```
20
22
 
21
23
  or
22
24
 
23
- ```
25
+ ```shell
24
26
  python3 -m build .
25
- pip install -U dist/reait-*.whl
27
+ pip3 install -U dist/reait-*.whl
26
28
  ```
27
29
 
28
30
  ## Using reait
@@ -30,7 +32,9 @@ pip install -U dist/reait-*.whl
30
32
  ### Analysing binaries
31
33
  To submit a binary for analysis, run `reait` with the `-a` flag:
32
34
 
33
- `reait -b /usr/bin/true -a`
35
+ ```shell
36
+ reait -b /usr/bin/true -a
37
+ ```
34
38
 
35
39
  This uploads the binary specified by `-b` to RevEng.AI servers for analysis. Depending on the size of the binary, it may take several hours. You may check an analysis jobs progress with the `-l` flag e.g. `reait -b /usr/bin/true -l`.
36
40
 
@@ -38,30 +42,36 @@ This uploads the binary specified by `-b` to RevEng.AI servers for analysis. Dep
38
42
  Symbol embeddings are numerical vector representations of each component that capture their semantic understanding. Similar functions should be similar to each other in our embedded vector space. They can be thought of as *advanced* AI-based IDA FLIRT signatures or Radare2 Zignatures.
39
43
  Once an analysis is complete, you may access RevEng.AI's BinNet embeddings for all symbols extracted with the `-x` flag.
40
44
 
41
- `reait -b /usr/bin/true -x > embeddings.json`
42
-
43
- #### Extract embedding for symbol at vaddr 0x19f0
44
- `reait -b /usr/bin/true -x | jq ".[] | select(.vaddr==$((0x19f0))).embedding" > embedding.json`
45
-
45
+ ```shell
46
+ reait -b /usr/bin/true -x > embeddings.json
47
+ ```
46
48
 
47
49
  ### Search for similar symbols using an embedding
48
50
  To query our database of similar symbols based on an embedding, use `-n` to search using Approximate Nearest Neighbours. The `--nns` allows you to specify the number of results returned. A list of symbols with their names, distance (similarity), RevEng.AI collection set, source code filename, source code line number, and file creation timestamp is returned.
49
51
 
50
- `reait -e embedding.json -n`
52
+ ```shell
53
+ reait --embedding embedding.json -n
54
+ ```
51
55
 
52
- The following command searches for the top 10 most similar symbols found in md5sum.gcc.og.dynamic to the symbol starting at 0x4037e0 in md5sum.clang.og.dynamic. You may need to pass `--image-base` to ensure virtual addresses are mapped correctly.
56
+ The following command searches for the top 10 most similar symbols found in md5sum.gcc.og.dynamic to the symbol starting at _0x33E6_ in md5sum.clang.og.dynamic. You may need to pass `--image-base` to ensure virtual addresses are mapped correctly.
53
57
 
54
- `reait -b md5sum.gcc.og.dynamic -n --start-vaddr 0x33e6 --found-in md5sum.gcc.o2.dynamic --nns 10 --base-address 0x100000`
58
+ ```shell
59
+ reait -b md5sum.gcc.og.dynamic -n --start-vaddr 0x33E6 --found-in md5sum.gcc.o2.dynamic --nns 10 --base-address 0x100000
60
+ ```
55
61
 
56
62
  Search NN by symbol name.
57
- `reait -b md5sum.gcc.og.dynamic -n --symbol md5_buffer --found-in md5sum.gcc.o2.dynamic --nns 5`
63
+ ```shell
64
+ reait -b md5sum.gcc.og.dynamic -n --symbol md5_buffer --found-in md5sum.gcc.o2.dynamic --nns 5
65
+ ```
58
66
 
59
67
  NB: A smaller distance indicates a higher degree of similarity.
60
68
 
61
69
  #### Specific Search
62
70
  To search for the most similar symbols found in a specific binary, use the `--found-in` option with a path to the executable to search from.
63
71
 
64
- `reait -n --embedding /tmp/sha256_init.json --found-in ~/malware.exe --nns 5`
72
+ ```shell
73
+ reait -n --embedding /tmp/sha256_init.json --found-in ~/malware.exe --nns 5
74
+ ```
65
75
 
66
76
  This downloads embeddings from `malware.exe` and computes the cosine similarity between all symbols and `sha256_init.json`. The returned results lists the most similar symbol locations by cosine similarity score (1.0 most similar, -1.0 dissimilar).
67
77
 
@@ -71,7 +81,9 @@ The `--from-file` option may also be used to limit the search to a custom file c
71
81
  #### Limited Search
72
82
  To search for most similar symbols from a set of RevEng.AI collections, use the `--collections` options with a RegEx to match collection names. For example:
73
83
 
74
- `reait -n --embedding my_func.json --collections "(libc.*|lib.*crypt.*)"`
84
+ ```shell
85
+ reait -n --embedding my_func.json --collections "(libc.*|lib.*crypt.*)"
86
+ ```
75
87
 
76
88
  RevEng.AI collections are sets of pre-analysed executable objects. To create custom collection sets e.g., malware collections, please create a RevEng.AI account.
77
89
 
@@ -82,47 +94,25 @@ Find common components between binaries, RevEng.AI collections, or global search
82
94
 
83
95
  Example usage:
84
96
 
85
- ```
97
+ ```shell
86
98
  reait -M -b 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe --from-file 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.embeddings.json --confidence high
87
99
  ```
88
100
 
89
101
  ### RevEng.AI embedding models
90
102
  To use specific RevEng.AI AI models, or for training custom models, use `-m` to specify the model. The default option is to use the latest development model. Available models are `binnet-0.1` and `dexter`.
91
103
 
92
- `reait -b /usr/bin/true -m dexter -a`
104
+ ```shell
105
+ reait -b /usr/bin/true -m dexter -a
106
+ ```
93
107
 
94
108
  ### Software Composition Analysis
95
109
  To identify known open source software components embedded inside a binary, use the `-C` flag.
96
110
 
97
- #### Stripped Binary CVE Checker
98
- To check for known vulnerabilities found with embedded software components, use `-c` or `--cves`.
99
-
100
-
101
- ### REAI Signatures
102
- To generate an AI functional description of an entire binary file, use the `-s` flag. This will return the REAI signature of the file.
103
-
104
- REAI signatures can be used to compute the binary similarity between entire executables with the `-S` flag. For example:
105
-
106
- ```
107
- reait -b d24ccf73aabca4192d33a07b4a238c8d40ac97a550c2e65b8074f03455a981ca.exe -S -t 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c.exe,438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476.exe,755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.exe,05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe
108
- Computing Binary Similarity... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:01
109
- Binary Similarity to RedlineInfoStealer/d24ccf73aabca4192d33a07b4a238c8d40ac97a550c2e65b8074f03455a981ca.exe
110
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
111
- ┃ Binary ┃ SHA3-256 ┃ Similarity ┃
112
- ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
113
- │ 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c.exe │ 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c │ 0.99907 │
114
- │ 438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476.exe │ 438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476 │ 1.00000 │
115
- │ 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.exe │ 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63 │ 0.80522 │
116
- │ 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe │ 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2 │ 0.94701 │
117
- └──────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────┴────────────┘
118
- ```
119
-
120
111
 
121
112
  ### Binary ANN Search
122
-
123
113
  To perform binary ANN search, pass in `-n` and `-s` flag at the same time. For example:
124
114
 
125
- ```
115
+ ```shell
126
116
  reait -b /usr/bin/true -s -n
127
117
  Found /usr/bin/true:elf-x86_64
128
118
  [
@@ -151,13 +141,12 @@ Found /usr/bin/true:elf-x86_64
151
141
 
152
142
 
153
143
  ## Configuration
154
-
155
144
  `reait` reads the config file stored at `~/.reait.toml`. An example config file looks like:
156
145
 
157
- ```
146
+ ```shell
158
147
  apikey = "l1br3"
159
148
  host = "https://api.reveng.ai"
160
- model = "binnet-0.1"
149
+ model = "binnet-0.3-x86"
161
150
  ```
162
151
 
163
152
  ## Contact
@@ -1,10 +1,10 @@
1
1
  [build-system]
2
- requires = ["setuptools >= 40.9.0", "tqdm", "argparse", "requests", "rich", "tomli", "pandas", "numpy", "scipy", "lief", "scikit-learn"]
2
+ requires = ["setuptools >= 40.9.0", "argparse", "requests", "rich", "tomli", "pandas", "numpy", "scipy", "lief", "scikit-learn"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "reait"
7
- version = "0.0.19"
7
+ version = "1.0.0"
8
8
  readme = "README.md"
9
9
  classifiers=[
10
10
  "Programming Language :: Python :: 3",
@@ -12,7 +12,6 @@ classifiers=[
12
12
  "Operating System :: OS Independent"
13
13
  ]
14
14
  dependencies = [
15
- "tqdm",
16
15
  "requests",
17
16
  "rich",
18
17
  "argparse",
@@ -39,7 +38,5 @@ maintainers = [
39
38
  "Organisation Homepage" = "https://reveng.ai"
40
39
  "Documentation" = "https://docs.reveng.ai"
41
40
 
42
-
43
-
44
41
  [project.scripts]
45
42
  reait = "reait.main:main"
reait-1.0.0/setup.py ADDED
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ from setuptools import setup, find_packages
4
+
5
+
6
+ with open("requirements.txt") as fd:
7
+ required = fd.read().splitlines()
8
+
9
+ with open("README.md", encoding="utf-8") as fd:
10
+ long_description = fd.read()
11
+
12
+
13
+ setup(
14
+ name="reait",
15
+ long_description=long_description,
16
+ long_description_content_type="text/markdown",
17
+ url="https://github.com/RevEng-AI/reait",
18
+ author="James Patrick-Evans",
19
+ author_email="james@reveng.ai",
20
+ platforms="Cross Platform",
21
+ packages=find_packages(where="src", exclude=["tests",]),
22
+ package_dir={
23
+ "": "src",
24
+ },
25
+ classifiers=[
26
+ "Operating System :: OS Independent",
27
+ "Programming Language :: Python :: 3",
28
+ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
29
+ ],
30
+ install_requires=required,
31
+ )
@@ -1,2 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  from reait import api
3
+
2
4
  api.parse_config()