{"id":5842,"library":"akracer","title":"akracer","description":"akracer is a Python library that serves as an extension for py_mini_racer, specifically designed to address dynamic link library (DLL) calling issues on 64-bit ARM operating systems. It facilitates a one-click installation of py_mini_racer by providing pre-compiled dynamic link libraries for environments like Apple M-series chips, Ubuntu (18.04, 20.04, 22.04), and Raspberry Pi 64-bit OS. The current version is 0.0.14. It is actively maintained with a beta development status.","status":"active","version":"0.0.14","language":"en","source_language":"en","source_url":"https://github.com/akfamily/akracer","tags":["javascript-runtime","arm64","py_mini_racer","binary-fix","cpython","js-engine"],"install":[{"cmd":"pip install akracer","lang":"bash","label":"Install akracer"}],"dependencies":[{"reason":"akracer is an extension library designed to provide necessary binaries for py_mini_racer, especially on ARM architectures. py_mini_racer is the primary interface users interact with.","package":"py_mini_racer"},{"reason":"Used for project management and building, as seen in requirements.txt.","package":"hatch"},{"reason":"Used for making HTTP requests, as seen in requirements.txt.","package":"requests"},{"reason":"Used for data manipulation, as seen in requirements.txt and example usage.","package":"pandas"},{"reason":"Numerical computing dependency, as seen in requirements.txt.","package":"numpy"}],"imports":[{"note":"akracer acts as a provider of underlying binaries for py_mini_racer, so the primary interaction is still through the py_mini_racer library itself.","symbol":"MiniRacer","correct":"from py_mini_racer import MiniRacer"}],"quickstart":{"code":"import os\nfrom py_mini_racer import MiniRacer\n\n# Initialize a MiniRacer context\ncontext = MiniRacer()\n\n# Evaluate JavaScript code\nresult = context.eval(\"1 + 1\")\nprint(f\"Result of '1 + 1': {result}\")\n\n# Call a JavaScript function\ncontext.eval(\"var add = function(a, b) { return a + b; };\")\nadd_result = context.call(\"add\", 5, 3)\nprint(f\"Result of add(5, 3): {add_result}\")\n\n# Example using a JavaScript file (simulate loading a file)\njs_content = \"\"\"\nvar greet = function(name) {\n    return 'Hello, ' + name + '!';\n};\n\"\"\"\ncontext.eval(js_content)\ngreet_result = context.call(\"greet\", \"World\")\nprint(f\"Result of greet('World'): {greet_result}\")","lang":"python","description":"This quickstart demonstrates basic usage of py_mini_racer, which akracer enables by providing the necessary underlying binaries, especially for ARM-based systems. It shows how to evaluate JavaScript expressions and call JavaScript functions within a Python environment."},"warnings":[{"fix":"Only install akracer if you are on a 64-bit ARM operating system and experiencing issues with py_mini_racer's native installation. Otherwise, `pip install py_mini_racer` might suffice.","message":"akracer primarily addresses dynamic library issues for py_mini_racer on 64-bit ARM operating systems. While installing akracer may not hurt on other architectures, its primary benefit is for ARM users. On x86-64, py_mini_racer typically installs and compiles correctly without akracer.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Monitor release notes and the GitHub repository for updates and potential breaking changes. Consider pinning to specific minor versions to mitigate unexpected issues.","message":"The project is currently in '4 - Beta' development status according to PyPI. This indicates that the API or stability might not be fully mature and could be subject to breaking changes in future releases.","severity":"breaking","affected_versions":"All versions (as of 0.0.14)"},{"fix":"Exercise caution and consult the latest security reports for the library. Implement robust security practices in projects using akracer, such as regular dependency scanning and ensuring isolated execution environments.","message":"A security analysis by ReversingLabs indicated that the akracer package contains 'risks' and 'known severe vulnerabilities' that are actively being exploited. Users should review the analysis results before use.","severity":"gotcha","affected_versions":"0.0.10 and potentially later versions"}],"env_vars":null,"last_verified":"2026-04-14T00:00:00.000Z","next_check":"2026-07-13T00:00:00.000Z","problems":[]}