{"library":"pydbml","title":"PyDBML","description":"PyDBML is a Python library for parsing and building DBML (Database Markup Language) files. It allows developers to convert DBML definitions into SQL DDL statements and vice-versa, facilitating database schema design and management. The current version is 1.2.1, and the project maintains an active release cadence with regular bug fixes and feature enhancements.","language":"python","status":"active","last_verified":"Thu Apr 16","install":{"commands":["pip install pydbml"],"cli":null},"imports":["from pydbml import parse"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from pydbml import parse\n\n# Define a DBML string\ndbml_content = \"\"\"\nProject \"MyProject\" {\n    database_type: 'PostgreSQL'\n    Note: 'A simple example project'\n}\n\nTable \"users\" {\n    id int [pk, increment]\n    username varchar [unique, not null]\n    email varchar [unique]\n    created_at timestamp [default: `now()`]\n}\n\nTable \"posts\" {\n    id int [pk, increment]\n    title varchar [not null]\n    content text\n    user_id int [ref: > users.id]\n    created_at timestamp [default: `now()`]\n}\n\"\"\"\n\n# Parse the DBML content\ntry:\n    parsed_dbml = parse(dbml_content)\n    print(\"DBML parsed successfully.\")\n\n    # Render to SQL DDL\n    sql_output = parsed_dbml.sql()\n    print(\"\\n--- Generated SQL ---\")\n    print(sql_output)\n\n    # Optionally, render back to DBML (can differ slightly in formatting)\n    dbml_output = parsed_dbml.dbml()\n    print(\"\\n--- Generated DBML (re-rendered) ---\")\n    print(dbml_output)\n\nexcept Exception as e:\n    print(f\"An error occurred during parsing or rendering: {e}\")","lang":"python","description":"This quickstart demonstrates how to parse a DBML string using `pydbml.parse` and then render the parsed object to SQL DDL and back to DBML format.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}