{"id":24056919,"url":"https://github.com/morph-data/morph","last_synced_at":"2025-04-04T14:03:01.807Z","repository":{"id":268680935,"uuid":"905006864","full_name":"morph-data/morph","owner":"morph-data","description":" Python + Markdown framework for building internal apps.","archived":false,"fork":false,"pushed_at":"2025-03-24T03:42:05.000Z","size":1501,"stargazers_count":96,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"develop","last_synced_at":"2025-03-28T13:04:21.445Z","etag":null,"topics":["data-analysis","data-science","data-visualization","deep-learning","developer-tools","generative-ai","machine-learning","mdx","morph","python","react","sql"],"latest_commit_sha":null,"homepage":"https://www.morph-data.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/morph-data.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"License.md","code_of_conduct":"CODE_OF_CONDUCT.md","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-12-18T01:15:44.000Z","updated_at":"2025-03-26T05:58:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"f7d5714d-9297-4cc2-b764-688b0996a9da","html_url":"https://github.com/morph-data/morph","commit_stats":null,"previous_names":["morph-data/morph"],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morph-data%2Fmorph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morph-data%2Fmorph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morph-data%2Fmorph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/morph-data%2Fmorph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/morph-data","download_url":"https://codeload.github.com/morph-data/morph/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247183555,"owners_count":20897612,"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":["data-analysis","data-science","data-visualization","deep-learning","developer-tools","generative-ai","machine-learning","mdx","morph","python","react","sql"],"created_at":"2025-01-09T05:28:01.808Z","updated_at":"2025-04-04T14:03:01.787Z","avatar_url":"https://github.com/morph-data.png","language":"Python","readme":"![Header](https://data.morphdb.io/assets/header.png)\n\n## Features\n\n[Morph](https://www.morph-data.io/) is a python-centric full-stack framework for building and deploying AI apps.\n\n- **Fast to start** 🚀 - Allows you to get up and running with just three commands.\n- **Deploy and operate 🌐** - Easily deploy your AI apps and manage them in production. Managed cloud is available for user authentication and secure data connection.\n- **No HTML/CSS knowledge required🔰** - With **Markdown-based syntax** and **pre-made components**, you can create flexible, visually appealing designs without writing a single line of HTML or CSS.\n- **Customizable 🛠️** - **Chain Python and SQL** for advanced AI workflows. Custom CSS and custom React components are available for building tailored UI.\n\n## Quick start\n\n1. Install morph\n\n```bash\npip install morph-data\n```\n\n2. Create a new project\n\n```bash\nmorph new\n```\n\n3. Start dev server\n\n```bash\nmorph serve\n```\n\n4. Visit `http://localhsot:8080` on browser.\n\n## How it works\n\nUnderstanding the concept of developing an AI app in Morph will let you do a flying start.\n\n1. Develop the AI workflow in Python and give it an alias.\n2. Create an .mdx file. Each .mdx file becomes a page of your app.\n3. Place the component in the MDX file and specify the alias to connect to.\n\n```\n.\n├─ pages\n│  └─ index.mdx\n└─ python\n   └─ chat.py\n```\n\n## Building AI Apps\n\n### A little example\n\n1. Create each files in `python` and `pages` directories.\n\nPython: Using Langchain to create a AI workflow.\n\n```python\nimport morph\nfrom morph import MorphGlobalContext\nfrom morph_lib.stream import stream_chat\nfrom langchain_openai import ChatOpenAI\nfrom langchain_core.messages import HumanMessage\n\n@morph.func\ndef langchain_chat(context: MorphGlobalContext):\n    llm = ChatOpenAI(model=\"gpt-4o\")\n    messages = [HumanMessage(context.vars[\"prompt\"])]\n    for token in llm.stream(messages):\n        yield stream_chat(token.content)\n```\n\nMDX: Define the page and connect the data.\n\n```typescript\n# 🦜🔗 Langchain Chat\n\n\u003cChat postData=\"langchain_chat\" height={300} /\u003e\n```\n\n2. Run `morph serve` to open the app!\n\n![AI App](https://data.morphdb.io/assets/gif/langchain-demo.gif)\n\n## Documentation\n\nVisit https://docs.morph-data.io for more documentation.\n\n## Contributing\n\nThanks for your interest in helping improve Morph ❤️\n\n- Before contributing, please read the [CONTRIBUTING.md](CONTRIBUTING.md).\n- If you find any issues, please let us know and open [an issue](https://github.com/morph-data/morph/issues/new/choose).\n\n## Lisence\n\nMorph is [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) licensed.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorph-data%2Fmorph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorph-data%2Fmorph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorph-data%2Fmorph/lists"}