{"id":48356704,"url":"https://github.com/waterbear-cloud/paco.models","last_synced_at":"2026-04-05T11:33:30.028Z","repository":{"id":57408734,"uuid":"192623886","full_name":"waterbear-cloud/paco.models","owner":"waterbear-cloud","description":"Semantic, declarative cloud infrastructure configuration file format and object model","archived":false,"fork":false,"pushed_at":"2023-09-04T17:50:53.000Z","size":1330,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T19:46:21.435Z","etag":null,"topics":["aws","cloud","infrastructure-as-code","python","python3","semantic"],"latest_commit_sha":null,"homepage":"https://www.paco-cloud.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/waterbear-cloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-18T23:09:48.000Z","updated_at":"2021-12-30T02:37:58.000Z","dependencies_parsed_at":"2022-09-26T16:31:20.129Z","dependency_job_id":null,"html_url":"https://github.com/waterbear-cloud/paco.models","commit_stats":null,"previous_names":["waterbear-cloud/aim.models"],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/waterbear-cloud/paco.models","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterbear-cloud%2Fpaco.models","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterbear-cloud%2Fpaco.models/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterbear-cloud%2Fpaco.models/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterbear-cloud%2Fpaco.models/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/waterbear-cloud","download_url":"https://codeload.github.com/waterbear-cloud/paco.models/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/waterbear-cloud%2Fpaco.models/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31434624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T08:13:15.228Z","status":"ssl_error","status_checked_at":"2026-04-05T08:13:11.839Z","response_time":75,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["aws","cloud","infrastructure-as-code","python","python3","semantic"],"created_at":"2026-04-05T11:33:29.427Z","updated_at":"2026-04-05T11:33:30.020Z","avatar_url":"https://github.com/waterbear-cloud.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# paco.models\n\nAn object model for semantic cloud infrastructure.\n\n`paco.models` parses a directory of YAML files that compose an Paco project and loads them\ninto a complete object model.\n\n\n## What's in the model?\n\nThe model defines common logical cloud infrastructure concepts, such as networks, accounts,\napplications and environments.\n\nThe model uses network and applications as hierarchical trees of configuration that can\nhave their values over rode when they are placed into environments. Environments live in a\nnetwork and contain applications, and typically represent the stages of the software development\nlifecycle (SDLC), such as 'development', 'staging' and 'production'.\n\nThe model has a declarative schema that explicitly defines the fields for each object type in the model.\nThis schema declares not only type (e.g. string, integer) but can also declare defaults, min and max values,\nconstrain to specific values, and define invariants that ensure that if one field has a specific value, another\nfields value is compatabile with that. The model will validates these fields when it loads a Paco project.\n\n\n## Developing\n\nInstall this package with your Python tool of choice. Typically set-up a virtualenv\nand pip install the dependencies in there:\n\n    python -m venv env\n\n    ./env/bin/pip install -e .\n\nThere are unit tests using PyTest. If you are using VS Code you can turn on the\n\"Py Test Enabled\" setting and run \"Discover Unit Tests\" command.\n\n\n## Generated Vocabulary\n\nThe module `paco.models.gen_vocabulary` is dynamically generated by the script `paco_update_gen_vocabulary`.\n\nTo run this script first install the paco.models (pip install -e .) project. Then create an IAM User in\nan active AWS account with read-only access and save them in your `.aws/credentials` file. If you aren't\nusing the default profile name, you can set the AWS_PROFILE environment variable.\n\nThe paco.models buildout will create a handy profile.sh to set this up for you:\n\n    buildout\n    source profile.sh\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaterbear-cloud%2Fpaco.models","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwaterbear-cloud%2Fpaco.models","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwaterbear-cloud%2Fpaco.models/lists"}