{"id":14988278,"url":"https://github.com/apache/incubator-devlake-playground","last_synced_at":"2025-10-19T13:31:02.239Z","repository":{"id":225942641,"uuid":"765651522","full_name":"apache/incubator-devlake-playground","owner":"apache","description":"Apache DevLake is an open-source dev data platform to ingest, analyze, and visualize the fragmented data from DevOps tools, extracting insights for engineering excellence, developer experience, and community growth.","archived":false,"fork":false,"pushed_at":"2024-12-23T23:54:51.000Z","size":463,"stargazers_count":5,"open_issues_count":3,"forks_count":2,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-01-30T10:06:43.687Z","etag":null,"topics":["dashboard-friendly","data","data-analysis","data-engineering","data-integration","data-transfers","devops","domain-layer","dora","etl","hacktoberfest","integration","jira","open-source","python","user-friendly"],"latest_commit_sha":null,"homepage":"https://devlake.apache.org/","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/apache.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":"2024-03-01T10:51:15.000Z","updated_at":"2024-11-25T06:09:19.000Z","dependencies_parsed_at":"2024-06-21T23:45:20.054Z","dependency_job_id":"9ff75d64-42b4-467f-8cb6-9dc3679a7bbb","html_url":"https://github.com/apache/incubator-devlake-playground","commit_stats":{"total_commits":16,"total_committers":3,"mean_commits":5.333333333333333,"dds":0.4375,"last_synced_commit":"533a8e8bba30a0a1d55f5ccb9e373f7d39b58017"},"previous_names":["apache/incubator-devlake-playground"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fincubator-devlake-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fincubator-devlake-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fincubator-devlake-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fincubator-devlake-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/incubator-devlake-playground/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237133493,"owners_count":19260494,"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":["dashboard-friendly","data","data-analysis","data-engineering","data-integration","data-transfers","devops","domain-layer","dora","etl","hacktoberfest","integration","jira","open-source","python","user-friendly"],"created_at":"2024-09-24T14:16:24.498Z","updated_at":"2025-10-19T13:30:56.937Z","avatar_url":"https://github.com/apache.png","language":"Python","readme":"\u003c!--\nLicensed to the Apache Software Foundation (ASF) under one or more\ncontributor license agreements.  See the NOTICE file distributed with\nthis work for additional information regarding copyright ownership.\nThe ASF licenses this file to You under the Apache License, Version 2.0\n(the \"License\"); you may not use this file except in compliance with\nthe License.  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n--\u003e\n\n# DevLake Jupyter Playground\n\n[DevLake](https://devlake.apache.org/) offers an abundance of data for exploration.\nThis playground contains a basic set-up to interact with the data using [Jupyter Notebooks](https://jupyter.org/) and [Pandas](https://pandas.pydata.org/).\n\n\n# How to play\n\n## Prerequisites\n- [Python \u003e= 3.12](https://www.python.org/downloads/)\n- [Poetry](https://python-poetry.org/docs/#installation)\n- Access to a DevLake database\n- Optional: An IDE or plugin that supports running Jupyter Notebooks directly (e.g. [Visual Studio Code](https://code.visualstudio.com/))\n\n\n## Usage\n1. Have a local clone of this repository.\n2. Run `poetry install` in the root directory.\n3. Either:\n    - navigate to the `notebooks` directory and run the jupyter server `poetry run jupyter notebook` \n    - navigate to one of the notebook files (`.ipynb`) in the `notebooks` directory from your IDE directly\n4. Make sure the notebook uses the virtual environment created by poetry.\n5. Configure your database URL in the notebook code.\n6. Run the notebook.\n7. Start exploring the data in your own notebooks!\n\n\n## Create your own Jupyter Notebook\n\nA good starting point for creating a new notebook is `template.ipynb`.\nIt contains the basic steps you need to go from query to output.\n\nTo define a query, use the [Domain Layer Schema](https://devlake.apache.org/docs/DataModels/DevLakeDomainLayerSchema#schema-diagram) to get an overview of the available tables and fields.\n\nUse [Pandas](https://pandas.pydata.org/) api to organize, transform, and analyze the query results.\n\n\n## Predefined notebooks and utilities\n\nA notebook might offer a valuable perspective on the data not available within the capabilities of a Grafana dashboard.\nIn this case, it's worthwhile to contribute this notebook to the community as a predefined notebook, e.g., `process_analysis.ipynb` (it depends on [graphviz](https://graphviz.org/) for its visualization).\n\nThe same goes for utility methods with, for example, predefined Pandas data transformations offering an interesting view on the data.\n\n\n## Contributing\n\nPlease check the [contributing guidelines](https://github.com/apache/incubator-devlake/blob/main/README.md#-how-to-contribute).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fincubator-devlake-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fincubator-devlake-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fincubator-devlake-playground/lists"}