Commit Graph
58 Commits
Author SHA1 Message Date
Mike Auty 48f2c78a7d Update versioning to support appropriate version checks. 2019-10-13 11:12:28 +01:00
Mike Auty e0b9d72c84 Update the license URL and LICENSE.txt 2019-09-25 21:44:05 +01:00
Mike Auty e922cef316 Improve docstrings for all plugins, and reformat all docstrings. 2019-09-07 22:59:54 +01:00
Mike Auty c47ead41b1 Move to the SemVer versioning scheme. 2019-08-31 13:03:51 +01:00
Mike Auty 9cde94bceb Change the license blurb on all files. 2019-08-27 23:11:00 +01:00
Mike Auty 11fc8654e3 Initial attempt at plugin versioning.
So this allows people to alter the APIs for their plugins and allows
plugins to verify the API is compatible with the one they expect.

It adds a version property to Plugin classes, and has a SemVer checking
method which can be called from other plugins to verify a plugin against
a particular version.
2019-08-27 21:08:29 +01:00
Mike Auty 91f1909a01 Add in more accurate generic typing for class_subclasses. 2019-05-11 23:20:16 +01:00
Mike Auty 84a1307c93 More minor typing fixes. 2019-05-11 23:10:39 +01:00
Mike Auty fdc6efc4ad Add in the LICENSE and the README. 2018-12-19 23:55:03 +00:00
Mike Auty 19572b6e1e Reformat all python files using yapf with custom volatility style. 2018-12-16 16:50:17 +00:00
Mike Auty 29d41470a4 Mass reformat of typing imports
Relented on the strict import of direct objects/classes for the typing
module only.  Typing module components can be directly imported because
it makes the code really painful to read and write otherwise.

This is still in-line with the python style guide adopted from Google at
http://google.github.io/styleguide/pyguide.html section 2.2.
2018-12-16 13:04:22 +00:00
Mike Auty 1f0888cf19 Remove the functools.wraps because we don't strictly wrap, just proxy. 2018-11-28 16:24:00 +00:00
Mike Auty 3d7dc1fb21 Add more debugging for plugin paths. 2018-10-31 00:03:39 +00:00
Mike Auty 3e176c8a50 Use the prefered method of dynamic importing. 2018-09-28 12:05:57 +01:00
Mike Auty 70abef1f46 Rework how we handle import errors. 2018-06-19 09:58:09 +01:00
Mike Auty 623180ddbd Make many typing fixes, based on mypy-0.590. 2018-04-22 20:45:59 +01:00
Mike Auty 66af2f16de Fix more typing issues. 2018-04-12 14:09:11 +01:00
Mike Auty 050b5539c0 Add missing import. 2018-03-25 18:20:22 +01:00
Mike Auty 19c3536afc Refactor the plugin listing code. 2018-03-25 18:15:22 +01:00
Mike Auty b730a24768 Hard dependency on 3.5.3 or above, due to broken 3.5.2 typing library. 2018-03-20 17:02:42 +00:00
Mike Auty 92dbfa7f12 Bump the micro version requirement for python
This is because typing.Type was only introduced in 3.5.2.
2018-03-19 22:31:12 +00:00
Mike Auty 942de5f166 Finish adding type-annotations thoughout the code. 2017-12-13 20:48:52 +00:00
Mike Auty ac12098317 Add type-annotations for reamining layer files. 2017-12-13 20:48:52 +00:00
Mike Auty f40fae197d Convert to python3.5 syntax (no local type-annotations). 2017-12-13 20:48:52 +00:00
Mike Auty d30daa5fd3 Bump to version 3.6 to ensure support for all type hinding (including local variables). 2017-12-13 20:48:52 +00:00
Mike Auty 8625343792 Add the ability to create 'hidden' classes.
These will not be returned as part of the subclasses of
their descendents when listed using the classes_subclasses function.
They can be inherited from and their descendents will be listed unless
they also specify the hidden property and mark it as True
(ideally, using the class decorator hide_from_subclasses).
2017-07-01 22:19:50 +01:00
Mike Auty 67015f3316 Fix up default logging levels. 2017-04-20 23:48:56 +01:00
Mike Auty c5cd3595de Fix up minor typo and hard depend on >= python 3.4. 2016-12-25 13:44:03 +00:00
Mike Auty 183ff67699 Attach the kernel virtual offset to intel spaces. 2016-12-07 16:00:31 +00:00
Mike Auty 282eaa7f00 Improve/remove unnecessary imports. 2016-11-07 12:26:06 +00:00
Mike Auty 2dba1bbddd Update wording to clarify the different between package version and interface version. 2016-11-04 17:56:58 +00:00
Mike Auty dc375024b2 Set the version back, given we're early enough to do so. 2016-11-01 00:41:20 +00:00
Mike Auty 667014a1fd Attempt to standardize error message display. 2016-10-30 17:51:45 +00:00
Mike Auty 4f17143fd3 Add in proper logging statements. 2016-07-29 02:35:07 +01:00
Mike Auty 25bbbe0937 Refactor the way that plugins are imported for use on other modules (such as the upcoming automagic). 2016-07-28 21:29:53 +01:00
Mike Auty b470ff3715 Recent changes affect the API (layer.mapping and InvalidAddressException) so get in the habit of bumping the version. 2016-07-02 16:30:44 +01:00
Mike Auty d37163d881 Add in python minimum requirement checks. 2016-02-10 07:35:04 +00:00
Mike Auty cf66d0b447 Start building a dependency resolver for translation layers. 2015-12-29 22:13:10 +00:00
Mike Auty d258c56991 Rerun pylint with pycharm-5 and fix pep8 issues as well. 2015-11-21 13:12:00 +00:00
Mike Auty 0ff820667f Refactor config to configuration so we can have variables called config. 2015-09-28 01:31:22 +01:00
Mike Auty 35506bb7d3 Allow SymbolSpaces to be uninitialized, and move context from framework to framework.contexts. 2015-04-09 16:22:25 -05:00
Mike Auty a85bcb9e58 Rework config system yet again, and start filling in some of the requirements. 2015-04-09 15:56:57 -05:00
Mike Auty 38d20199b3 Bulk out the config/inputs code. 2015-04-07 13:36:13 -05:00
Mike Auty e880dee5ab Provide a default NativeTable, now that natives can be updated. 2015-01-19 23:58:16 +00:00
Mike Auty f04122f640 Add in initial implementation of ContextFactories as classes. This is probably not the right way to do things, so I'll be trying out making them as objects with a function chain for applying modifications in a little while. 2015-01-16 11:29:12 +00:00
Mike Auty c163101e17 Correctly pass constructor arguments through the template's vol dictionary. 2015-01-05 18:39:59 +00:00
Mike Auty 15b2f6f717 Initial introduction of ObjectInformation class. 2015-01-04 03:41:37 +00:00
Mike Auty c29028dd30 Initial attempt at plugin importing. 2014-07-05 22:33:40 +01:00
Mike Auty 39c0b38f09 Add additional docstrings and refactor/rearrange the entire codebase. 2014-06-11 01:35:50 +01:00
Mike Auty a97bd19988 Reformat and optimize code, including trailing whitespace and end of file newline. 2014-06-10 15:40:50 +01:00