Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

CoSy

CoSy logo
Package PyPI - Version PyPI - Python Version
License License
Package CI - Test CD - Release CoSy
Docs Docs - Release Docs - Checks
Coverage codecov 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

  • 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)

While the examples above use Maestro, the following example uses the Synthesizer:

  • For a simple example on the usage of evolutionary algorithms for searching the synthesized solution spaces, see: Symbolic Regression

Installation

Installation is as simple as running:

pip install --pre combinatory-synthesizer

Since CoSy is still in pre-release state, PyPi distributions are likely to be outdated most of the time.

If you want to stay up to date with a nightly build:

pip install https://github.com/tudo-seal/cosy/releases/download/nightly/combinatory_synthesizer-nightly.tar.gz

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.

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.dev39.tar.gz (159.8 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.dev39-py3-none-any.whl (79.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for combinatory_synthesizer-0.0.1.dev39.tar.gz
Algorithm Hash digest
SHA256 1a5b1a9cdfa75a515b0223977f98313baa7fd3d7718b2c60ddd891f9ae3366a7
MD5 3de660a8627afbf9a37e9cd8eaa01ec0
BLAKE2b-256 a1c20fb5e2eb12cec8768c4bbf4920da2e680aa6611d7fd588af70a1146e496f

See more details on using hashes here.

Provenance

The following attestation bundles were made for combinatory_synthesizer-0.0.1.dev39.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.dev39-py3-none-any.whl.

File metadata

File hashes

Hashes for combinatory_synthesizer-0.0.1.dev39-py3-none-any.whl
Algorithm Hash digest
SHA256 aa53f22e9379de0610cd4915b8cee1c805b7c10ba8cfc47f6a0cb644299bd6a7
MD5 4fa24843f25a4af1c4faeb8117357e61
BLAKE2b-256 cb4dbf35b99ee79f63368259c9b1c02ed1da3b5234d7799c21fff9dd54e3d36f

See more details on using hashes here.

Provenance

The following attestation bundles were made for combinatory_synthesizer-0.0.1.dev39-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.
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page