Commit Graph
21 Commits
Author SHA1 Message Date
David McDonald 9f024cf0f4 Refactor: use builtin ast lib instead of treesitter
Instead of using the tree-sitter third party library, this uses Python's
`ast` module to parse the source code and traverse the tree with a
visitor pattern. This is preferred because it's native to the language
itself, and Python developers are more likely to be familiar with it.
The traversal also handles nested scopes better than the prior
implementation. For example, classes that are declared inside of other
classes can now be looked up even though they don't exist at the top
level of the module namespace, since any time a class definition is
entered, that class is pushed to the top of a stack that can be examined
when visiting inner classes.

This also adds lots of log messages at different levels, plus a command
line argument for specifying verbosity, which should help with debugging
down the line.
2025-03-28 13:22:01 -05:00
David McDonald 2ad1536b4e Testing: Verify VersionRequirements
This adds a script and GitHub action to the `test` directory that
dynamically imports all modules in `volatility3`, searches for usages of
`VersionableInterface` objects within classes that inherit from
`ConfigurableInterface` but don't enumerate the used component as a
requirement in `get_requirements()`, and returns -1 if any violations
are found.

Fixes
2025-03-28 13:21:10 -05:00
j-t-1andGitHub 2074b8fb23 Remove duplicate reference of capstone
The capstone dependency under test is not needed, because test references volatility3[dev] which references volatility3[full,cloud], and full has the capstone dependency.
2025-03-09 10:47:51 +00:00
ikelosandGitHub 4d50d1072f Merge pull request #1558 from volatilityfoundation/issues/issue1546
Issues/issue1546
2025-01-25 11:27:09 +00:00
Mike Auty 13a8c53f7b Core: There was no clear reason to stop supporting older versions of sphinx 2025-01-17 16:13:35 +00:00
Mike Auty c4430cda8d Core: Try to maintain python-3.8 support for the documentation 2025-01-17 16:09:35 +00:00
Mike Auty 1edb7a4a72 Core: Correct version dependencies to avoid conflicts
Fixes #1546
2025-01-17 16:03:50 +00:00
Mike Auty 21decf1370 Core: Put the dependencies back for jsonschema 2025-01-09 18:12:36 +00:00
Mike Auty 0860441c2f Core: Improve speed to JSONSchema validation 2025-01-09 17:12:27 +00:00
Abyss-W4tcherandGitHub 335bdba36c Merge branch 'develop' into fbdev_plugin 2024-12-21 13:26:23 +01:00
Abyss Watcher 88eb2aa886 switch pillow to pyproject.toml 2024-12-21 13:22:04 +01:00
TheMythologist e6e0754fa5 Remove mypy overrides section 2024-12-20 10:46:54 +08:00
TheMythologist d7f678879d Minor improvements for mypy 2024-12-18 15:18:33 +08:00
Arthur Deierlein 8e9b719a16 use ruff for linting and enforce linting via ci 2024-12-17 22:53:05 +01:00
Andrew Case 13eae6c3df Add capstone to test system requirements. Allow lazy type checks 2024-12-09 13:19:06 -06:00
lesander b739f8d067 revert 3.8 to 3.9 soft bump 2024-11-08 14:05:54 +01:00
lesander a04c04c4e3 fix ci 2024-11-08 14:03:08 +01:00
lesander 1fd5177260 move dependency definitions to pyproject.toml and bump minimal cpython version to 3.9.0 since 3.8.0 is EOL. 2024-11-08 12:31:59 +01:00
Davide Arcuri 10376a2687 use one class with flag 2024-08-07 10:38:29 +02:00
Mike Auty 61e3e894ee Core: Bump the version and minium python to support pip 2024-07-14 19:04:06 +01:00
Branch Vincent 693eebc34b migrate to pyproject.toml 2024-06-01 16:16:44 -07:00