{"id":18521011,"url":"https://github.com/charlescreativecontent/plugin-template","last_synced_at":"2025-04-09T09:33:01.769Z","repository":{"id":237455436,"uuid":"641297860","full_name":"CharlesCreativeContent/Plugin-Template","owner":"CharlesCreativeContent","description":"ChatGPT Plugin Templates","archived":false,"fork":false,"pushed_at":"2023-05-16T07:26:19.000Z","size":9,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T04:35:28.328Z","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CharlesCreativeContent.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-05-16T07:26:16.000Z","updated_at":"2023-11-23T23:41:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"7cd9aada-ba90-4e87-a9da-bc73f176d7c2","html_url":"https://github.com/CharlesCreativeContent/Plugin-Template","commit_stats":null,"previous_names":["charlescreativecontent/plugin-template"],"tags_count":0,"template":false,"template_full_name":"TimeSurgeLabs/weather-chatgpt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesCreativeContent%2FPlugin-Template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesCreativeContent%2FPlugin-Template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesCreativeContent%2FPlugin-Template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CharlesCreativeContent%2FPlugin-Template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CharlesCreativeContent","download_url":"https://codeload.github.com/CharlesCreativeContent/Plugin-Template/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248012784,"owners_count":21033244,"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":[],"created_at":"2024-11-06T17:23:54.347Z","updated_at":"2025-04-09T09:33:01.764Z","avatar_url":"https://github.com/CharlesCreativeContent.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Weather ChatGPT Plugin Template\n\nThis repository contains a template for creating ChatGPT Plugins using FastAPI and OpenAPI. This specific template demonstrates how to build a plugin that interacts with a weather API to retrieve weather information for a specified city.\n\n## What are ChatGPT Plugins?\n\nChatGPT Plugins are designed to connect OpenAI's ChatGPT to third-party applications, enhancing its capabilities and allowing it to interact with APIs defined by developers. With these plugins, ChatGPT can perform a wide range of actions such as:\n\n* Retrieve real-time information (e.g., sports scores, stock prices, latest news)\n* Access knowledge-base information (e.g., company docs, personal notes)\n* Perform actions on behalf of the user (e.g., booking a flight, ordering food)\n\n## Features\n\n* FastAPI for API development\n  + OpenAPI for API documentation is automatically generated, accelerating development\n* Uvicorn for ASGI server\n* Docker support\n* Justfile for task automation\n\n## Getting Started\n\n1. Clone this repository.\n2. Install dependencies using `pipenv install`.\n3. Start the shell using `pipenv shell`.\n4. Run the development server using the Justfile task: `just dev`.\n5. Add your plugin to ChatGPT. See [here](https://platform.openai.com/docs/plugins/introduction/plugin-flow).\n\n## Development\n\nMake sure that you update `ai-plugin.json` with a detailed name and description for both ChatGPT and your potential users. You should also update the `Pipfile` with the correct dependencies for your plugin.\n\nWhen you are developing your plugin, you can use the Justfile tasks to build and run your plugin. The `just dev` task will start the development server, which will automatically reload when you make changes to your code. The `just build` task will build a Docker image for your plugin. The `just run` task will run your plugin in a Docker container. Make sure you update the Justfile with the correct image name and tag.\n\n## Files and Folders\n\n* `Dockerfile`: Docker configuration file.\n* `Justfile`: Justfile with tasks for development, building, and deploying.\n* `Pipfile`: Pipenv configuration file for managing dependencies.\n* `ai-plugin.json`: ChatGPT plugin configuration file.\n* `main.py`: FastAPI application entry point.\n* `models.py`: Pydantic models for API schema validation.\n* `weather.py`: Module containing the function to fetch weather data.\n\n## Deployment\n\nWhen deploying, make sure you update the `ai-plugin.json` file with the correct URL for your plugin.\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharlescreativecontent%2Fplugin-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcharlescreativecontent%2Fplugin-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcharlescreativecontent%2Fplugin-template/lists"}