Metadata-Version: 2.1
Name: progpysmt
Version: 0.1.0
Summary: A Python parser for SMT-LIB, SyGuS and ProgSynth formats.
License: MIT
Author: Gaëtan MARGUERITTE
Author-email: gamargueritte@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: cython (>=3.0.8,<4.0.0)
Description-Content-Type: text/markdown

# progpysmt - A SMT-LIB, SyGuS and ProgSynth parser

This repository is a modification of [pySMT: a Python API for SMT](https://github.com/pysmt/pysmt). The goal of this project is to extend the parser in order to accept the [SyGuS](https://sygus-org.github.io/) format and adapts the output to the [ProgSynth](https://github.com/nathanael-fijalkow/ProgSynth/tree/main) format. 

# Usage
In order to use the SMT-LIB parser from the original `pySMT` repository, please follow the instructions on their personal github. 
In order to use the parser on a given file of name `file_name`:
```Python
from  progpysmt.smtlib.parser  import  ProgSmtLibParser
from  progpysmt.pslobject  import  PSLObject

parser = ProgSmtLibParser()
with open(file_name) as f:
	pslobject = parser.get_script(f, file_name)
```   
This will create a `PSLObject` that contains all the values required to use ProgSynth.

# Installation
## From source
If you install this from source, you will need Python 3.7 or higher.
## Poetry
 

