{"id":24388218,"url":"https://github.com/frewtypebbles/x86_64-assembly-python-aot-compiler-and-bindings","last_synced_at":"2025-12-28T08:30:16.117Z","repository":{"id":267349830,"uuid":"900972640","full_name":"FrewtyPebbles/x86_64-assembly-python-AOT-compiler-and-bindings","owner":"FrewtyPebbles","description":"x86_64 AOT compiler and bindings for python.","archived":false,"fork":false,"pushed_at":"2025-01-17T03:22:05.000Z","size":232,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-19T13:56:40.044Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FrewtyPebbles.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-09T20:07:12.000Z","updated_at":"2025-01-17T03:22:06.000Z","dependencies_parsed_at":"2025-01-17T05:32:47.469Z","dependency_job_id":null,"html_url":"https://github.com/FrewtyPebbles/x86_64-assembly-python-AOT-compiler-and-bindings","commit_stats":null,"previous_names":["frewtypebbles/x86_64-assembly-python-aot-compiler-and-bindings"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrewtyPebbles%2Fx86_64-assembly-python-AOT-compiler-and-bindings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrewtyPebbles%2Fx86_64-assembly-python-AOT-compiler-and-bindings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrewtyPebbles%2Fx86_64-assembly-python-AOT-compiler-and-bindings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FrewtyPebbles%2Fx86_64-assembly-python-AOT-compiler-and-bindings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FrewtyPebbles","download_url":"https://codeload.github.com/FrewtyPebbles/x86_64-assembly-python-AOT-compiler-and-bindings/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243294929,"owners_count":20268308,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-19T13:56:41.561Z","updated_at":"2025-12-28T08:30:16.112Z","avatar_url":"https://github.com/FrewtyPebbles.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# x86_64-assembly-python-AOT-compiler-and-bindings\r\n\r\nThese python bindings for x86 assembly enable you to generate, compile, and run assembly instructions during the runtime of your python program.  The bindings also include a python function compiler that can compile decorated functions by traversing the AST (abstract syntax tree) of the function and generating statically typed equivalent assembly functions.  The compiler is limited in functionality, but is capable of utilizing different scalar types such as int, boolean, and float.  All basic operators mimic the behavior of their python equivalent such as div(/), floordiv(//), mul(*), mod(%), add(+), sub(-), lt(\u003c), gt(\u003e), eq(==), ne(!=), and(and), or(or), ge(\u003e=), and le(\u003c=).  Three way comparisons are also supported, for example: -10 \u003c x \u003c 10.  Template functions are also supported and generate different assembly for different template calls to the function.  Array size type hint values can also be passed via template.\r\n\r\nTo use the compiler, you must have the yasm assembler and gcc (for the ld linker) installed.\r\n\r\n## For Contributions\r\n\r\n - This project uses ruff formatter.\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrewtypebbles%2Fx86_64-assembly-python-aot-compiler-and-bindings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrewtypebbles%2Fx86_64-assembly-python-aot-compiler-and-bindings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrewtypebbles%2Fx86_64-assembly-python-aot-compiler-and-bindings/lists"}