{"id":47687012,"url":"https://github.com/sileod/reasoning-core","last_synced_at":"2026-04-02T14:54:14.613Z","repository":{"id":314096358,"uuid":"945930963","full_name":"sileod/reasoning-core","owner":"sileod","description":"Procedural symbolic reasoning data generators suite for synthetic pretraining","archived":false,"fork":false,"pushed_at":"2026-03-26T10:23:44.000Z","size":377,"stargazers_count":35,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-27T03:52:35.207Z","etag":null,"topics":["data-generators","dataset","dataset-generation","grpo","llm","logic","pre-pre-training","pre-training","procedural","procedural-dataset","procedural-generation","reasoning","rlvr","symbolic","verifiers"],"latest_commit_sha":null,"homepage":"","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/sileod.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-10T10:54:32.000Z","updated_at":"2026-03-26T10:23:49.000Z","dependencies_parsed_at":"2025-09-19T11:12:22.088Z","dependency_job_id":null,"html_url":"https://github.com/sileod/reasoning-core","commit_stats":null,"previous_names":["sileod/reasoning_core","sileod/reasoning-core"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sileod/reasoning-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileod%2Freasoning-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileod%2Freasoning-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileod%2Freasoning-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileod%2Freasoning-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sileod","download_url":"https://codeload.github.com/sileod/reasoning-core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sileod%2Freasoning-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31308447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["data-generators","dataset","dataset-generation","grpo","llm","logic","pre-pre-training","pre-training","procedural","procedural-dataset","procedural-generation","reasoning","rlvr","symbolic","verifiers"],"created_at":"2026-04-02T14:54:13.913Z","updated_at":"2026-04-02T14:54:14.602Z","avatar_url":"https://github.com/sileod.png","language":"Python","readme":"# Reasoning Core ◉\n\n\nreasoning-core is a suite of procedural data generators for LLM pre-training and post-training.\nIt is centered on expressive symbolic tasks, including full fledged first-order-logic, formal mathematics with TPTP, planning, and CFG syntax tasks.\n\nWe release pre-generated data scaled to more than 10B tokens  \n🤗 [https://hf.co/collections/reasoning-core/datasets](https://huggingface.co/collections/reasoning-core/datasets)\n\n# Standalone\n```python\npip install reasoning_core\n\nfrom reasoning_core import list_tasks, get_task, score_answer\n\nT = get_task('arithmetics')()\nx = T.generate_example()\nassert score_answer(x.answer, x)==1\n```\n\n# Parallel generation script\nRun `bash run_generate.sh` for multi-threaded generation to json files (readable by Huggingface Datasets).\n\n\n# Task examples and task authoring guide\n[GALLERY](https://github.com/sileod/reasoning_core/blob/main/GALLERY.md) (names link to task code)  \n[TASK_AUTHORING_GUIDE](https://github.com/sileod/reasoning_core/blob/main/TASK_AUTHORING_GUIDE.md)\n\n# Integrations\n\n### Prime Environment Hub\n```python\n#!pip install uv #install uv if needed\n!uv tool install prime --with openai  -q\n!uv tool run prime -- env install sileod/reasoning-core-env\n\nfrom verifiers import load_environment\nimport os; from openai import OpenAI\n\nenv = load_environment(\"reasoning-core-env\")\n\nclient = OpenAI( base_url=\"https://openrouter.ai/api/v1\", api_key=os.getenv(\"OPENROUTER_API_KEY\")) #🔑\nresults = env.evaluate(client=client, model=\"gpt-4.1-mini\", num_examples=20, rollouts_per_example=1)\ndf=env.make_dataset(results).to_pandas()\n```\n\n### Reasoning gym integration\n\nWe use a custom interface but compatible interface. Our tasks, which are mostly orthogonal to RG, can be imported in it.\n```python\nimport reasoning_gym, reasoning_core\nfrom reasoning_gym.composite import DatasetSpec\n\nreasoning_core.register_to_reasoning_gym() # registers RC tasks into RG\n\nspecs = [\n    DatasetSpec(name='leg_counting', weight=1, config={}),  #from reasoning_gym 🏋\n    DatasetSpec(name='arithmetics', weight=1, config={}),  #from reasoning_core ◉\n]\nD=reasoning_gym.create_dataset('composite', size=10, seed=42, datasets=specs)\n```\n\nAnd the other way around:\n```python\nfrm reasoning_core import get_task\nt=get_task('reasoning_gym')\nt.generate_example(level=1, rg_task='lcm') #or unspecified for random task\n```\n\n## Citation and paper\nhttps://arxiv.org/abs/2603.02208\n```\n@article{reasoningcore2026,\n  title={Reasoning Core: A Scalable Procedural Data Generation Suite for Symbolic Pre-training and Post-Training},\n  author={Lacombe, Valentin and Quesnel, Valentin and Sileo, Damien},\n  journal={arXiv preprint arXiv:2603.02208},\n  year={2026},\n  url={https://arxiv.org/abs/2603.02208}\n}\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsileod%2Freasoning-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsileod%2Freasoning-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsileod%2Freasoning-core/lists"}