Contributions are welcome. Contact the maintainer for more information.
Source organization is already documented for users in the README. As of August 2023, the code base is slowly reaching 10k of lines of python code.
The core is the benchkit/
directory. It defines everything required to run
campaigns and benchmarks, with lots of utility functions and classes.
Supported benchmarks are placed in the examples/
directory.
When defining a class, the following order of functions should be respected:
__new__
(static) method__init__
method__post_init__
method- Properties (
@property
) - Static methods (
@staticmethod
) - Class methods (
@classmethod
) - Normal methods
- Protected or private methods (with the name starting with
_
)
- if the file is executable, the shebang must be the first line:
#!/usr/bin/env python3
- type hinting is correct & complete (to a reasonable extent)
- sorting imports:
isort --profile black .
- formatting:
black -l 100 .
- checking:
pylint
- checking:
flake8
All contributions require to be reviewed by the maintainer.