{"id":18422437,"url":"https://github.com/sri-csl/libpoly","last_synced_at":"2025-11-28T17:05:50.237Z","repository":{"id":16225618,"uuid":"18972985","full_name":"SRI-CSL/libpoly","owner":"SRI-CSL","description":"LibPoly is a C library for manipulating polynomials","archived":false,"fork":false,"pushed_at":"2024-12-19T08:45:16.000Z","size":1706,"stargazers_count":51,"open_issues_count":13,"forks_count":17,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-02T11:05:03.240Z","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":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SRI-CSL.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-04-20T20:16:12.000Z","updated_at":"2025-03-12T00:39:20.000Z","dependencies_parsed_at":"2023-10-31T18:45:57.973Z","dependency_job_id":"d577d7c5-9211-464f-a142-7e1aae483396","html_url":"https://github.com/SRI-CSL/libpoly","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Flibpoly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Flibpoly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Flibpoly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SRI-CSL%2Flibpoly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SRI-CSL","download_url":"https://codeload.github.com/SRI-CSL/libpoly/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248036067,"owners_count":21037092,"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":"2024-11-06T04:29:59.425Z","updated_at":"2025-11-28T17:05:50.225Z","avatar_url":"https://github.com/SRI-CSL.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![CI](https://github.com/SRI-CSL/libpoly/actions/workflows/ci.yml/badge.svg)](https://github.com/SRI-CSL/libpoly/actions/workflows/ci.yml)\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/5716/badge.svg)](https://scan.coverity.com/projects/5716)\n[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/SRI-CSL/libpoly)\n\n\u003cimg width=\"100\" style=\"display: block; margin: auto;\" src=\"https://avatars.githubusercontent.com/u/8029212\"/\u003e\n\n# SRI LibPoly\n\nSRI LibPoly is a C library for manipulating polynomials. The target applications\nare symbolic reasoning engines, such as SMT solvers, that need to reason about\npolynomial constraints. It is research software under development, so the\nfeatures and the API might change rapidly.\n\n## Prerequisites\n\nTo compile on an Ubuntu machine you can install the prerequisites with\n\n```\nsudo apt-get install gcc cmake make libgmp-dev python2.7-dev python-sympy\n```\n\nTo compile on a Mac you can install the prerequisites with\n\n```\nbrew install gmp cmake python\nsudo easy_install pip\npip install sympy\n```\n\nPython (and sympy) is not necessary and is used for testing the library\nthrough the Python bindings (these are also useful for playing with the library).\n\n## Compiling\n\nTo compile and install perform\n\n```\ncd build\ncmake .. -DCMAKE_BUILD_TYPE=$type -DCMAKE_INSTALL_PREFIX=$prefix\nmake\nmake install\n```\n\nThe $type above is should be either \"Debug\" or \"Release\", and $prefix is the\ntarget directory where the library will be installed. The prefix can be\nomitted, in which case the library will be installed in the default system\nlocation (such as ```/usr/local```).\n\nIf the tests are enabled, you can do a sanity check of the library by doing a\n```make check```.\n\nThe most up-to-date build instructions can be seen by looking at our CI\nbuild script ```.github/workflows/ci.yml```.\n\n## Python bindings\n\nCMake will pick up the default python available in your shell. If you'd like to\nforce a different version you can use the `Python_ADDITIONAL_VERSIONS` variable.\nFor example, to use Python3 you can configure the project with\n\n```\ncmake .. -DPython_ADDITIONAL_VERSIONS=3\n```\n\n### Python Version Skew\n\nOn some platforms (i.e. Mac) cmake picks different python installations for the headers and library. If this happens,\nyou might try:\n```cmake\ncmake  .. -DCMAKE_BUILD_TYPE=$type  -DPYTHON_LIBRARY=$pythonlibrary  -DPYTHON_INCLUDE_DIR=$pythonheaderfiledir\n```\nFor example:\n```\ncmake  .. -DCMAKE_BUILD_TYPE=Release  -DPYTHON_LIBRARY=/opt/homebrew/Cellar/python@3.9/3.9.4/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib  -DPYTHON_INCLUDE_DIR=/opt/homebrew/Cellar/python@3.9/3.9.4/Frameworks/Python.framework/Versions/3.9/include/python3.9/\n```\n## Installing Prebuilt Binaries\n\nCurrently you can install the libpoly library (without python support) either using\nHomebrew or Aptitude.\n\n#### Homebrew\n\nInstalling on Darwin using homebrew can be achieved via:\n\n```\nbrew install SRI-CSL/sri-csl/libpoly\n```\n\n#### Aptitude\n\nTo install libpoly on Ubuntu or Debian, do the following:\n\n```\nsudo add-apt-repository ppa:sri-csl/formal-methods\nsudo apt-get update\nsudo apt-get install libpoly-dev\n```\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsri-csl%2Flibpoly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsri-csl%2Flibpoly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsri-csl%2Flibpoly/lists"}