- Preparation:
- Install the ackrep software:
- clone the ackrep_core repo
- run
pip install -e .in the root directory of that repo - confirm installation: the command
ackrep --helpshould print some help text of the ackrep command line utility
- Clone ackrep_data repo
- Install the ackrep software:
- Integration of new data:
- New
ProblemSpecification:- Create a new subirectory: like
ackrep_data/problem_specifications/<your_problem>. - Copy your problem-specification-file into the directory and change name to
problem.py. - Generate a new random key:
ackrep --key. - Copy the file
metadata.ymlfrom an existing entity of the same type and change its content beginning with the new key. - Ensure that the function
evaluate_solutionreturns an instance ofackrep_core.ResultContainersee examples.
- Create a new subirectory: like
- New
MethodPackage:- Create a new subirectory: like
ackrep_data/method_packages/<your_method>/src. - Copy your code into that directory.
- Generate a new random key:
ackrep --key. - Copy the file
metadata.ymlfrom an existing entity of the same type toackrep_data/method_packages/<your_method>and change its content beginning with the new key.
- Create a new subirectory: like
- New
ProblemSolution:- Create a new subirectory: like
ackrep_data/problem_solutions/<your_problem_solution>. - Copy your problem-solution-file into the directory and change name to
solution.py. - Generate a new random key:
ackrep --key. - Copy the file
metadata.ymlfrom an existing entity of the same type and change its content beginning with the new key. - Add all keys of solved problems and dependent packages.
- Create a new subirectory: like
- New
- Evaluate solution:
- Change working directory to
ackrep_data. - Run
ackrep --load-repo-to-db .in that directory. - Check a specific solution via
ackrep --check-solution problem_solutions/<your_problem_solution>/metadata.yml. - If an error occurs:
- Manually run
python execscript.pyand see the error messages. - Common issues:
- Forgot to run
ackrep --load-repo-to-db .after changing metadata. - ImportError due to missing package in the python_path (see
execscript.pywhat actually is inserted); Probable cause: missing or wrong key inmetadata.yml - Bad return-value of
evaluate_solution
- Forgot to run
- Manually run
- Change working directory to