{"id":24529408,"url":"https://github.com/lillo42/cassowary-csharp","last_synced_at":"2025-06-25T15:08:07.512Z","repository":{"id":152196570,"uuid":"613588957","full_name":"lillo42/cassowary-csharp","owner":"lillo42","description":"A C#implementation of the Cassowary constraint solving algorithm","archived":false,"fork":false,"pushed_at":"2024-04-22T16:07:44.000Z","size":98,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-15T18:51:53.495Z","etag":null,"topics":["cassowary","cassowary-algorithm","constraint-solver","csharp","layout","linear-programming"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lillo42.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-03-13T21:43:54.000Z","updated_at":"2025-02-25T07:42:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"e6321565-8de4-4fa6-bc5d-c9fdfb374cb3","html_url":"https://github.com/lillo42/cassowary-csharp","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/lillo42/cassowary-csharp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lillo42%2Fcassowary-csharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lillo42%2Fcassowary-csharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lillo42%2Fcassowary-csharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lillo42%2Fcassowary-csharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lillo42","download_url":"https://codeload.github.com/lillo42/cassowary-csharp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lillo42%2Fcassowary-csharp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260507433,"owners_count":23019522,"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":["cassowary","cassowary-algorithm","constraint-solver","csharp","layout","linear-programming"],"created_at":"2025-01-22T07:37:17.874Z","updated_at":"2025-06-25T15:08:07.491Z","avatar_url":"https://github.com/lillo42.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cassowary-csharp\n\n![Build Status](https://github.com/lillo42/cassowary-csharp/actions/workflows/build-main.yml/badge.svg)\n\nThis is a C# implementation of the Cassowary constraint solving algorithm\n([Badros et. al 2001](https://constraints.cs.washington.edu/solvers/cassowary-tochi.pdf)).\nIt is based heavily on the implementation for Rust at\n[dylanede/cassowary-rs](https://github.com/dylanede/cassowary-rs). The implementation does\nhowever differ in some details.\n\nCassowary is designed for solving constraints to lay out user interfaces.\nConstraints typically take the form \"this button must line up with this\ntext box\", or \"this box should try to be 3 times the size of this other box\".\nIts most popular incarnation by far is in Apple's Autolayout\nsystem for Mac OS X and iOS user interfaces. UI libraries using the Cassowary\nalgorithm manage to achieve a much more natural approach to specifying UI\nlayouts than traditional approaches like those found in HTML.\n\nThis library is a low level interface to the solving algorithm, though it\ntries to be as convenient as possible. As a result it does not have any\nintrinsic knowledge of common user interface conventions like rectangular\nregions or even two dimensions. These abstractions belong in a higher level\ncrate.\n\n## Getting Started\n\nAdd the following to your csproj file:\n\n\n```bash\ndotnet add package cassowary-csharp\n```\n\n## License\n\nCassowary is licensed under the [GNU GENERAL PUBLIC LICENSE](LICENSE) license.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flillo42%2Fcassowary-csharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flillo42%2Fcassowary-csharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flillo42%2Fcassowary-csharp/lists"}