Collection of tools for use with AppThreat/atom.
Project description
atom-tools
Collection of tools for use with slices generated by AppThreat/atom.
Install atom
This program does not generate slices; its purpose is to manipulate slices generated by atom. The current documentation for atom is housed in the AppThreat/atom GitHub repository.
Atom can easily be installed from a
native image or via npm
npm install @appthreat/atom
.
Atom-tools installation
pip install atom-tools
CLI Usage
Atom-tools uses py-poetry/cleo to construct its command-line interface and therefore uses the same sorts of conventions as the package management utility poetry.
To access the commands help menu, enter atom-tools list
for a list of
available commands.
Individual command options can be accessed with atom help
and the command
name (e.g. atom help convert
).
Atom Tools (version 0.4.0)
Usage:
command [options] [arguments]
Options:
-h, --help Display help for the given command. When no command is given display help for the list command.
-q, --quiet Do not output any message.
-V, --version Display this application version.
--ansi Force ANSI output.
--no-ansi Disable ANSI output.
-n, --no-interaction Do not ask any interactive question.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
Available commands:
convert Convert an atom slice to a different format
help Displays help for a command.
list Lists commands.
validate-lines Check the accuracy of the line numbers in an atom slice.
Features
Convert
The convert command can be used to output an atom slice in a different format. The current capabilities are limited to processing usages in order to generate endpoints for an openapi 3.x paths object. Future iterations will populate the path item objects with more details based on atom slices.
Description:
Convert an atom slice to a different format
Usage:
convert [options]
Options:
-f, --format=FORMAT Destination format [default: "openapi3.0.1"]
-i, --input-slice=INPUT-SLICE Usages slice file
-t, --type=TYPE Origin type of source on which the atom slice was generated. [default: "java"]
-o, --output-file=OUTPUT-FILE Output file [default: "openapi_from_slice.json"]
-s, --server=SERVER The server url to be included in the server object.
-h, --help Display help for the given command. When no command is given display help for the list command.
-q, --quiet Do not output any message.
-V, --version Display this application version.
--ansi Force ANSI output.
--no-ansi Disable ANSI output.
-n, --no-interaction Do not ask any interactive question.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
Help:
The convert command converts an atom slice to a different format.
Currently supports outputting an OpenAPI 3.x document based on a usages
slice.
Example
atom-tools convert -i usages.slices.json -f openapi3.0.1 -o openapi_usages.json -t java -s https://myserver.com
Validate Lines
The validate-lines command checks the accuracy of the line numbers reported by atom against your source files.
Description:
Check the accuracy of the line numbers in an atom slice.
Usage:
validate-lines [options]
Options:
-i, --input-slice=INPUT-SLICE Slice file to validate. [default: "slices.json"]
-t, --type=TYPE Origin type of source on which the atom slice was generated. [default: "java"]
-d, --base-path=BASE-PATH This should be the same path that was used by atom when the slice was generated.
-l, --interval=INTERVAL Try matching within a range. Ex. slice has line number 567, with interval of 5, we check lines 562-572. Use 0 for exact matching. [default: 5]
-r, --report=REPORT Output summary to file. [default: "output.txt"]
-j, --export-json=EXPORT-JSON JSON report file to store invalid lines. Include valid lines as well using -v flag.
-h, --help Display help for the given command. When no command is given display help for the list command.
-q, --quiet Do not output any message.
-V, --version Display this application version.
--ansi Force ANSI output.
--no-ansi Disable ANSI output.
-n, --no-interaction Do not ask any interactive question.
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug.
Help:
Validate source file line numbers in an atom usages or reachables slice.
Example
atom-tools -v validate-lines -t java -j project_json_report.json -i usages.slices.json -d /home/my_project_dir
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file atom-tools-0.4.2.tar.gz
.
File metadata
- Download URL: atom-tools-0.4.2.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d28ed407a8bf2627a2216743914a909c57bb93bfc56a531c0fdb75c6caf2484f |
|
MD5 | ed92c8e0f1a4c7e6a7654fe92a622940 |
|
BLAKE2b-256 | d166aec3cfedae7fbd8e3dca92dbf2ec4c19703fc37d9501e1c5f4abf0584dd5 |
File details
Details for the file atom_tools-0.4.2-py3-none-any.whl
.
File metadata
- Download URL: atom_tools-0.4.2-py3-none-any.whl
- Upload date:
- Size: 30.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59f6e08e295ee2629050f6d3e9504566665c0adf30c633d7839f7cccfd6e2067 |
|
MD5 | 85aa7a3b99ab3be8169d3767e2b7814e |
|
BLAKE2b-256 | 1335dcafe1ff0d2a45da540e6cc51e44966220f1ed7c7031e25f3dddc56d7731 |