Skip to main content

Type based synthesis framework using inhabitation in FCLP

Project description

CoSy

CoSy logo
Package PyPI - Version PyPI - Python Version
License License
Package CI - Test CD - Release CoSy
Docs Docs - Release Docs - Checks
Coverage codecov
Traits Hatch project Checked with mypy Checked with Ruff

CoSy enables synthesis of arbitrary artifacts from individual modular components. It efficiently handles specification and constraints of these modular components, describing how they connect and which performance criteria need to be satisfied.

APIs

CoSy can be used in two different ways.

  • Using the Synthesizer. This enables using all features but is more complicated to use.
  • Using the Maestro. This enables using less features, but is easy to use.

The Synthesizer is the recommended way for "power-users" to interact with CoSy. Publications that primarily focus on type-theoretic aspects usually use it.

The Maesto is the cute creature playing with building blocks (modular components) on the logo. This gifted architect is incredible at connecting these to satisfy any target a user may query for. The Maestro API is intended to be easy to use, but the trade-off is lower flexibility.

For most technological applications of combinatory synthesis to other fields, e.g. synthesizing physical structures, the Maestro is sufficient.

Examples

Examples currently all employ the Maestro.

  • For a simple example for a theoretically minded computer scientist, see: Fibonacci
  • For a simple example for a practically minded engineer, see: Robot Arm (WIP)

Installation

Installation is as simple as running:

pip install combinatory-synthesizer

CoSy itself has no dependencies at all, so it will play nice with any pre-existing projects.

Documentation

This README is intentionally left brief.
Please head over to the documentation to get started.

License

CoSy is distributed under the terms of the Apache-2.0 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

combinatory_synthesizer-0.0.1.dev2.tar.gz (72.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

combinatory_synthesizer-0.0.1.dev2-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

Details for the file combinatory_synthesizer-0.0.1.dev2.tar.gz.

File metadata

File hashes

Hashes for combinatory_synthesizer-0.0.1.dev2.tar.gz
Algorithm Hash digest
SHA256 732919a1fc297d5f6413469366a09844a36726c0cd96a9868f6c0c6bfc57da54
MD5 7ba3d13c1422c671dd4d7424e76522c0
BLAKE2b-256 96d6114fb5c9c0383a22f6edbbcb306d4d49d6dd470bfbcb60ba0db7f259807e

See more details on using hashes here.

Provenance

The following attestation bundles were made for combinatory_synthesizer-0.0.1.dev2.tar.gz:

Publisher: pre-release.yml on tudo-seal/cosy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file combinatory_synthesizer-0.0.1.dev2-py3-none-any.whl.

File metadata

File hashes

Hashes for combinatory_synthesizer-0.0.1.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 58e24c1f4c8df5e0be2bbb60268ea2c47ba86933f81789e92e24f4c82b40c5d4
MD5 7a8483357a55577de49b7877175d6c57
BLAKE2b-256 6c93fc6a4c06455327a1e80b6853091dbd85b1b11158f892d43f17f21e07a4ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for combinatory_synthesizer-0.0.1.dev2-py3-none-any.whl:

Publisher: pre-release.yml on tudo-seal/cosy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page