{"id":23820941,"url":"https://github.com/chuongmep/jupyter-forge","last_synced_at":"2026-05-16T15:35:21.892Z","repository":{"id":270533504,"uuid":"904254565","full_name":"chuongmep/jupyter-forge","owner":"chuongmep","description":"Integrates viewer Autodesk Platform Services with Jupyter Notebooks","archived":false,"fork":false,"pushed_at":"2025-04-06T15:07:19.000Z","size":161031,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"dev","last_synced_at":"2026-02-19T07:29:56.806Z","etag":null,"topics":["acc","aps","autodesk","autodesk-platform-services","bim360","construction","forge","forge-viewer","tools","viewer"],"latest_commit_sha":null,"homepage":"https://chuongmep.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chuongmep.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","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-12-16T14:37:57.000Z","updated_at":"2026-02-15T04:19:26.000Z","dependencies_parsed_at":"2025-02-21T23:35:34.420Z","dependency_job_id":null,"html_url":"https://github.com/chuongmep/jupyter-forge","commit_stats":null,"previous_names":["chuongmep/jupyter-forge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chuongmep/jupyter-forge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuongmep%2Fjupyter-forge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuongmep%2Fjupyter-forge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuongmep%2Fjupyter-forge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuongmep%2Fjupyter-forge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chuongmep","download_url":"https://codeload.github.com/chuongmep/jupyter-forge/tar.gz/refs/heads/dev","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chuongmep%2Fjupyter-forge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33108207,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["acc","aps","autodesk","autodesk-platform-services","bim360","construction","forge","forge-viewer","tools","viewer"],"created_at":"2025-01-02T08:18:57.420Z","updated_at":"2026-05-16T15:35:21.886Z","avatar_url":"https://github.com/chuongmep.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Platform](https://img.shields.io/badge/platform-Windows/MacOS/Linux-lightgray.svg) [![License: Apache](https://img.shields.io/badge/License-Apache-yellow.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n![PyPI](https://img.shields.io/pypi/v/jupyter-forge?label=pypi%20jupyter-forge)\n![PyPI - Downloads](https://img.shields.io/pypi/dm/jupyter-forge?label=pipy-download)\n\n\u003ca href=\"https://twitter.com/intent/follow?screen_name=chuongmep\"\u003e\n\u003cimg src=\"https://img.shields.io/twitter/follow/chuongmep?style=social\u0026logo=twitter\"\nalt=\"follow on Twitter\"\u003e\u003c/a\u003e\n\n\n## 💖 Support This Project\n\nIf you like this project and want to support its development, please consider making a donation. Your contributions will help us continue to improve and maintain the project.\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://donate.stripe.com/dR67uk39keYD2Mo6ox\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Donate-Stripe-blue?style=for-the-badge\u0026logo=stripe\" alt=\"Donate with Stripe\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\n## 🍫Description\n\nJupyter Forge is a powerful library that seamlessly integrates [Autodesk Platform Services](https://aps.autodesk.com/) with [Jupyter Notebooks](https://jupyter.org/), enabling interactive 3D viewing and exploration within your notebook environment.\n\n![](./docs/quick-demo.gif)\n\n## ⚡Features\n\n- [x] Show 3d viewer from [Autodesk Platform Services](https://aps.autodesk.com/)\n- [x] Show 3d viewer from [Autodesk Platform Services](https://aps.autodesk.com/) with object ids\n- [x] Show 3d viewer from [Autodesk Platform Services](https://aps.autodesk.com/) with object ids and ajust width and height\n- [x] Zoom In, Zoom Out, Pan, Isolate,\n- [x] Clustering Viewer\n\n![](./docs/cluster.gif)\n\n- [x] Search Object by Name\n\n![](./docs/search.gif)\n\n\n## 🦞Installation\n\n```bash\npip install jupyter-forge --upgrade\n```\n\n## 🙋🏻‍♂️Requirements\n\n- Python 3.9+\n\n- Setting Environment Variables, see\n  Tutorial [Create an App](https://aps.autodesk.com/en/docs/oauth/v2/tutorials/create-app/)\n\nSet Environment Variables\n\n```bash\nAPS_CLIENT_ID=your_client_id\nAPS_CLIENT_SECRET=your_client_secret\n```\n\n## 🍽️Usage\n\n```python\nfrom jupyter_forge import JupyterForge\nfrom aps_toolkit import Auth\n\nurn = \"dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLlFsa1ZtVU5RUmYtanMtd3dLQ2dLM1E_dmVyc2lvbj0x\"\ntoken = Auth().auth2leg()\nforge_viewer = JupyterForge(urn, token)\n\n## CASE 1 : NONE OBJECTS IDS ISOLATE VIEWER\nforge_viewer.show(width=800, height=600)\n## CASE 2 : OBJECTS IDS ISOLATE VIEWER\n# object id from derivative api\nobject_ids = [123, 456]\nforge_viewer.show(object_ids, width=800, height=600)\n```\n\n## ©️License\n\nThis project is licensed under the Apache License - see the [LICENSE](./License.md) file for details.\n\n## 💥Contributing\n\nThis is project just research in my free time and don't have any power to keep it up to date. If you want to contribute,\nplease feel free to fork and submit a pull request.\n\n## 🎁 Sponsors\n\n![](https://upload.wikimedia.org/wikipedia/en/thumb/0/08/JetBrains_beam_logo.svg/220px-JetBrains_beam_logo.svg.png)\n\nThanks [JetBrains](https://www.jetbrains.com/) for providing a free All product IDE for this project.\n\n## Knowledge\n\n- [Jupyter Notebook](https://jupyter.org/)\n- [Autodesk Platform Services](https://aps.autodesk.com/)\n- [Visual Studio Code](https://code.visualstudio.com/)\n- [JetBrains](https://www.jetbrains.com/)\n- [Python](https://www.python.org/)\n- [Create App APS Tutorial](https://aps.autodesk.com/en/docs/oauth/v2/tutorials/create-app/)\n- [Understand About Derivative Urn APS](https://chuongmep.com/posts/2023-12-28-Derivative-Urn-Forge.html#but-wrong-urn)\n- [Easy To Snoop Info Item From ACC](https://chuongmep.com/posts/2024-04-02-APS-ACC-URN.html#how-to-get-urn-from-acc)\n\n## Q\u0026A\n\n\u003cdetails\u003e\u003csummary\u003eHow can I get URN input?\u003c/summary\u003e\n\n1. You can use `aps-toolkit` library to get URN of the item latest version.\n\n```python\nfrom aps_toolkit import *\n\ntoken = Auth().auth2leg()\nbim360 = BIM360(token)\nurn = bim360.get_latest_derivative_urn(\"\u003cproject_id\u003e\", \"\u003cfolder_id\u003e\")\n```\n\n2. You can batch report urn to dataframe from BIM360 class in `aps-toolkit` library.\n\n```python\nfrom aps_toolkit import BIM360\nfrom aps_toolkit import Auth\n\ntoken = Auth().auth3leg()\nbim360 = BIM360(token)\ndf = bim360.batch_report_items(\"\u003cproject_id\u003e\", \"\u003cfolder_id\u003e\", ['.rvt'], is_sub_folder=False)\n```\n\n\u003c/details\u003e\n\n\n## Developers\n\n#### Test Data Readme\n\n```python\npip\ninstall - e.\n```\n\n#### Fix server not starting\n\n```bash\n# start a server with dir \npython -m http.server 54364 --directory D:\\API\\Forge\\jupyter-forge\\src\\template\n``` \n\n#### Kill Port\n\n```bash\nnetstat -ano | findstr :54364\ntaskkill /F /PID 21008\n```\n\n- Kill all port relate to 54364\n\n```bash\ntaskkill /F /PID 21008\n```\n\n#### Start Debug\n\nhttp://localhost:54364/render.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchuongmep%2Fjupyter-forge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchuongmep%2Fjupyter-forge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchuongmep%2Fjupyter-forge/lists"}