{"id":16564075,"url":"https://github.com/perone/shine","last_synced_at":"2025-10-06T16:30:43.817Z","repository":{"id":141570461,"uuid":"1517018","full_name":"perone/shine","owner":"perone","description":"Shine - A symbolic regression machine","archived":false,"fork":false,"pushed_at":"2011-03-29T01:55:47.000Z","size":211,"stargazers_count":11,"open_issues_count":6,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-09T01:17:16.668Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/perone.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-03-23T16:17:33.000Z","updated_at":"2021-02-17T11:44:10.000Z","dependencies_parsed_at":"2023-03-12T05:40:38.201Z","dependency_job_id":null,"html_url":"https://github.com/perone/shine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/perone/shine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perone%2Fshine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perone%2Fshine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perone%2Fshine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perone%2Fshine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perone","download_url":"https://codeload.github.com/perone/shine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perone%2Fshine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278643311,"owners_count":26021082,"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","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2024-10-11T20:43:13.318Z","updated_at":"2025-10-06T16:30:43.336Z","avatar_url":"https://github.com/perone.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Shine - Symbolic Regression Machine\n-----------------------------------\n\nThis is a library under development, the first Release Candidate is about to be\nreleased soon.\n\n1) What is Shine ?\n\nShine is a library that automatically makes the code generation of the LLVM IR \n(Intermediate Representation) from Genetic Programming trees. It also provides\nan easy API for optimizing and JITing Genetic Programming ASTs into native code.\nShine follow this flow:\n\na. Load LLVM bitcode\n    This LLVM bitcode can be from any language supported by the LLVM compiler\n    infrastructure.\nb. Load Genetic Programming trees\n    In this phase, each node representing a non-terminal (a function) is resolved\n    and matched again the previous loaded LLVM bitcode file.\nc. Codegen the AST\n    Shine converts this AST into LLVM IR.\nd. Optimization\n    Shine run LLVM optimization passes in the merged LLVM IR module representing\n    each tree.\ne. JIT\n    Shine uses LLVM to convert this LLVM IR into native code and then returns\n    a function pointer to that native function.\n\n2) What license uses Shine ?\n\nShine is licensed under LPGL.\n\n3) Language bindings ?\n\nPython language bindings are under development, actually, Shine is a component of\na bigger project to use state-of-art compiler technology such as optimizations and\nJIT compiling for a Genetic Programming system. In future, Pyevolve will use \nShine to JIT its Genetic Programming trees into native code.\n\n4) How to install or compile ?\n\nRequirements:\n    LLVM 2.9 rc1+\n    glib-2.0 for tests\n    g++ and cmake (for compiling)\n\nGet the trunk in a directory, let's call it \"shine_lib\".\n\na. Creating a developer build with tests:\n\n# cd shine_lib\n# mkdir build\n# cd build\n# cmake -DCMAKE_BUILD_TYPE=Developer -DBUILD_TESTING=true ..\n\n-- The C compiler identification is GNU\n-- The CXX compiler identification is GNU\n-- Check for working C compiler: /usr/bin/gcc\n-- Check for working C compiler: /usr/bin/gcc -- works\n-- Detecting C compiler ABI info\n-- Detecting C compiler ABI info - done\n-- Check for working CXX compiler: /usr/bin/c++\n-- Check for working CXX compiler: /usr/bin/c++ -- works\n-- Detecting CXX compiler ABI info\n-- Detecting CXX compiler ABI info - done\n-- You have selected the building of the tests.\n-- checking for module 'glib-2.0'\n--   found glib-2.0, version 2.26.1\n-- Found Doxygen: /usr/bin/doxygen\n-- Configuring done\n-- Generating done\n-- Build files have been written to: /home/tarantula/shine_lib/dev\n\n# make\n\n(wait for the compilation)\n\n# sudo make install\n\nb. Creating the docs\n\nInside the created \"build\" directory.\n\n# make doxygen\n\nA new directory called \"doc\" will be created with the API documentation.\n\n5) Creating a distribution package\n\nInside the created \"build\" directory.\n\n# cpack -G DEB\n\n- Christian S. Perone\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperone%2Fshine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperone%2Fshine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperone%2Fshine/lists"}