{"id":31718698,"url":"https://github.com/speakeasy-api/django-openapi-example","last_synced_at":"2026-01-20T17:46:05.185Z","repository":{"id":260114075,"uuid":"880287757","full_name":"speakeasy-api/django-openapi-example","owner":"speakeasy-api","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-04T20:55:17.000Z","size":37,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-29T06:43:59.943Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/speakeasy-api.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-10-29T13:09:38.000Z","updated_at":"2025-08-04T20:55:20.000Z","dependencies_parsed_at":"2024-11-28T20:46:47.092Z","dependency_job_id":"3ea4af1c-860d-4f51-8ee5-e52b92f678cf","html_url":"https://github.com/speakeasy-api/django-openapi-example","commit_stats":null,"previous_names":["ritza-co/openapi-django","ritza-co/django-openapi-example","speakeasy-api/django-openapi-example"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/speakeasy-api/django-openapi-example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fdjango-openapi-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fdjango-openapi-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fdjango-openapi-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fdjango-openapi-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/speakeasy-api","download_url":"https://codeload.github.com/speakeasy-api/django-openapi-example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speakeasy-api%2Fdjango-openapi-example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000731,"owners_count":26082906,"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","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-10-09T02:54:58.628Z","updated_at":"2025-10-09T02:55:02.785Z","avatar_url":"https://github.com/speakeasy-api.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n \u003ca href=\"https://www.speakeasy.com/\" target=\"_blank\"\u003e\n  \u003cimg width=\"1500\" height=\"500\" alt=\"Speakeasy\" src=\"https://github.com/user-attachments/assets/0e56055b-02a3-4476-9130-4be299e5a39c\" /\u003e\n \u003c/a\u003e\n \u003cbr /\u003e\n \u003cbr /\u003e\n  \u003cdiv\u003e\n   \u003ca href=\"https://speakeasy.com/docs/create-client-sdks/\" target=\"_blank\"\u003e\u003cb\u003eDocs Quickstart\u003c/b\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;//\u0026nbsp;\u0026nbsp;\u003ca href=\"https://go.speakeasy.com/slack\" target=\"_blank\"\u003e\u003cb\u003eJoin us on Slack\u003c/b\u003e\u003c/a\u003e\n  \u003c/div\u003e\n \u003cbr /\u003e\n\n\u003c/div\u003e\n\n\u003ch2\u003eSpeakeasy Django OpenAPI Example\u003c/h2\u003e\n\n\nThis example Django app demonstrates the Speakeasy-recommended practices for generating clear OpenAPI specifications and SDKs.\n\nThis project was bootstrapped with Django:\n\n```bash\ndjango-admin openapi-django books_project\n```\n\n## Prerequisites\n\nThe only requirement is that you have a supported version of Python (version 3.8 or later) installed on your machine.\n\nIf you intend to generate an SDK, you'll either need the Speakeasy CLI installed on your machine or be comfortable using the Speakeasy dashboard UI.\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/speakeasy-api/django-openapi-example.git\n```\n\n2. Navigate into the directory:\n\n```bash\ncd django-openapi-example\n```\n\n3. Create a virtual environment and install all dependencies with the following commands:\n\n```bash\npython -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\n```\n\n## Running the application\n\n1. Apply database migrations:\n\n```bash\npython manage.py makemigrations\npython manage.py migrate\n```\n\n2. Start the development server:\n\n```bash\npython manage.py runserver\n```\n\n### Working with the OpenAPI specification\n\n1. [Install Speakeasy CLI](https://github.com/speakeasy-api/speakeasy#installation) on Linux:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/speakeasy-api/speakeasy/main/install.sh | sh\n```\n\n2. To generate the OpenAPI specification file in YAML format, run:\n\n```bash\npython manage.py spectacular --file schema.yaml\n```\n\n3. To generate an SDK, run:\n\n```bash\nspeakeasy quickstart\n```\n\nFollow the onscreen prompts to provide the necessary configuration details for your new SDK, such as the name, schema location, and output path. When prompted, enter `schema.yaml` for the OpenAPI document location, select a language, and generate.\n\n## License\n\nThis project is licensed under the terms of the Apache 2.0 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeakeasy-api%2Fdjango-openapi-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspeakeasy-api%2Fdjango-openapi-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeakeasy-api%2Fdjango-openapi-example/lists"}