8000 GitHub - PidgeyUsedGust/pyprose: Python wrapper around Microsoft's PROSE program synthesis framework.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Python wrapper around Microsoft's PROSE program synthesis framework.

License

Notifications You must be signed in to change notification settings

PidgeyUsedGust/pyprose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyprose

Python wrapper around the Microsoft PROSE framework. This package only provides easy wrappers around compiled DSLs, not the option for creating new DSLs.

How to use

As a simple example, we show how to use Transformation.Text, which implements the FlashFill system for learning string transformation programs (example taken from here).

from pyprose.transformation.text import learn_program, make_examples

p = learn_program(make_examples([
    (["Greta", "Hermansson"], "Hermansson, G."),
    (["Kettil", "Hansson"], "Hansson, K.")
]))

The learned program can be ran on new inputs—a list of two strings in this case. In this case, calling p(["Etelka", "Bala"]) then returns a new string "Bala, E.".

More information and examples can be found in the documentation.

Installation

This package requires pythonnet and compiled PROSE assemblies. The documentation contains detailed instructions for obtaining these prerequisites.

Once they are satisfied, a simple

pip install git+https://github.com/pidgeyusedgust/pyprose

should suffice.

Progress

Progress on implementation of DSLs.

  • Transformation.Text (FlashFill)
  • Matching.Text (FlashProfile)
  • Split.Text (in progress)

If you are interested in seeing a specific DSL integrated sooner, don't hesitate to contact me!

Contact

Questions or feedback? Don't hesitate to contact me at gust.verbruggen@kuleuven.be!

About

Python wrapper around Microsoft's PROSE program synthesis framework.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0