{"id":36644138,"url":"https://github.com/datalab-org/datalab","last_synced_at":"2026-06-06T00:01:42.324Z","repository":{"id":65727757,"uuid":"338164950","full_name":"datalab-org/datalab","owner":"datalab-org","description":"datalab is a place to store experimental data and the connections between them.","archived":false,"fork":false,"pushed_at":"2026-06-02T20:42:22.000Z","size":36459,"stargazers_count":87,"open_issues_count":327,"forks_count":23,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-06-02T22:25:02.069Z","etag":null,"topics":["chemistry","data-management","datalab","experimental-data","materials-science"],"latest_commit_sha":null,"homepage":"https://docs.datalab-org.io","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/datalab-org.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2021-02-11T22:06:21.000Z","updated_at":"2026-06-02T17:05:03.000Z","dependencies_parsed_at":"2024-07-17T13:33:08.633Z","dependency_job_id":"504f503d-929a-49a1-a695-0eb0b7d7b818","html_url":"https://github.com/datalab-org/datalab","commit_stats":null,"previous_names":["datalab-org/datalab"],"tags_count":58,"template":false,"template_full_name":null,"purl":"pkg:github/datalab-org/datalab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalab-org%2Fdatalab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalab-org%2Fdatalab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalab-org%2Fdatalab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalab-org%2Fdatalab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datalab-org","download_url":"https://codeload.github.com/datalab-org/datalab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datalab-org%2Fdatalab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33964367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-05T02:00:06.157Z","response_time":120,"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":["chemistry","data-management","datalab","experimental-data","materials-science"],"created_at":"2026-01-12T09:57:02.907Z","updated_at":"2026-06-06T00:01:40.267Z","avatar_url":"https://github.com/datalab-org.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: Introduction\n---\n\n\n# \u003cdiv align=\"center\"\u003e\u003ci\u003edatalab\u003c/i\u003e\u003c/div\u003e\n\n\u003cdiv align=\"center\" style=\"padding-bottom: 5px\"\u003e\n\u003ca href=\"https://demo.datalab-org.io\"\u003e\u003cimg src=\"https://img.shields.io/badge/try_it_out!-public_demo_server-orange?logo=firefox\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://github.com/datalab-org/datalab/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/datalab-org/datalab?color=blue\u0026logo=github\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/datalab-org/datalab#MIT-1-ov-file\"\u003e\u003cimg src=\"https://img.shields.io/github/license/datalab-org/datalab?color=purple\u0026logo=github\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://github.com/datalab-org/datalab/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/datalab-org/datalab/ci.yml?logo=github\"\u003e\u003c/a\u003e\n\u003ca href=\"https://cloud.cypress.io/projects/4kqx5i/runs\"\u003e\u003cimg src=\"https://img.shields.io/endpoint?url=https://cloud.cypress.io/badge/simple/4kqx5i/main\u0026style=flat\u0026logo=cypress\"\u003e\u003c/a\u003e\n\u003ca href=\"https://the-datalab.readthedocs.io/en/latest/?badge=latest\"\u003e\u003cimg src=\"https://img.shields.io/readthedocs/the-datalab?logo=readthedocs\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://github.com/datalab-org/datalab-ansible-terraform\"\u003e\n  \u003cimg alt=\"Static Badge\" src=\"https://img.shields.io/badge/Ansible-playbook-white?logo=ansible\"\u003e\n\u003c/a\u003e\n\u003ca href=\"https://pypi.org/project/datalab-api\"\u003e\n  \u003cimg alt=\"PyPI - Version\" src=\"https://img.shields.io/pypi/v/datalab-api?logo=pypi\u0026label=Python%20API\"\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://join.slack.com/t/datalab-world/shared_invite/zt-2h58ev3pc-VV496~5je~QoT2TgFIwn4g\"\u003e\u003cimg src=\"https://img.shields.io/badge/Slack-chat_with_us-yellow?logo=slack\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n_datalab_ is a user-friendly, open-source platform that can capture all the experimental data and metadata produced in a scientific lab, targeted (broadly) at materials chemistry but with customisability and extensability in mind.\n_datalab_ records data and metadata securely and makes it accessible and reusable by both humans and machines _via_ the web UI and API, respectively.\n_datalab_ can be self-hosted and managed deployments are also available.\n\nYou can try the demo deployment at [demo.datalab-org.io](https://demo.datalab-org.io/) and read the online documentation at [docs.datalab-org.io](https://docs.datalab-org.io) with release notes and changelog available on [GitHub](https://github.com/datalab-org/datalab/releases/) and [online](https://docs.datalab-org.io/en/latest/CHANGELOG).\n\nFeatures:\n\n* Capture and store sample and device metadata\n* Connect and sync raw data directly and from laboratory instruments\n* Built-in support for multiple characterisation techniques (XRD, NMR, echem, TEM, TGA, Mass Spec, Raman and more).\n* Capture scientific context: store the graph of relationships between research objects.\n* [Python API](https://github.com/datalab-org/datalab-api) for programmatic access to your lab's data enabling custom analysis and automation.\n* Join the [_datalab_ federation](https://github.com/datalab-org/datalab-federation): you can add your _datalab_ to the federation for additional shared features.\n* [Plugin ecosystem](https://docs.datalab-org.io/en/latest/plugins) allowing for custom data blocks, [AI integration](https://github.com/datalab-org/yellowhammer) and other instance-specific code.\n* [Deployment and infrastructure automation](https://github.com/datalab-industries/datalab-ansible-terraform) via Ansible playbooks.\n\n\u003cdiv align=\"center\"\u003e\n\u003cvideo width=\"400\" controls src=\"https://github.com/datalab-org/datalab/assets/7916000/0065cdd6-a5f0-4391-b192-0137fe208acc\"\u003e\n\u003c/video\u003e\n\u003c/div\u003e\n\n\u003e [!NOTE]\n\u003e You may be looking for the identically named project [DataLab](https://datalab-platform.com) for signal processing, which also has plugins, clients and other similar concepts!\n\n## Getting started\n\nTo set up your own _datalab_ instance or to get started with development, you can follow the installation and deployment instructions in the [online documentation](https://docs.datalab-org.io/en/latest/INSTALL).\n\nWe can also provide paid managed deployments via [_datalab industries ltd._](https://datalab.industries): contact us at [hello@datalab.industries](mailto:hello@datalab.industries).\n\n## Design philosophy and architecture\n\nThe _datalab_ architecture is shown below:\n\n\u003ccenter\u003e\n\n```mermaid\ngraph TD\nclassDef actor fill:#0066CC,fill-opacity:0.3,stroke:#333,stroke-width:2px,color:#000;\nclassDef clientInterface fill:#00AA44,fill-opacity:0.3,stroke:#333,stroke-width:2px,color:#000;\nclassDef coreComponent fill:#FF6600,fill-opacity:0.3,stroke:#333,stroke-width:2px,color:#000;\nclassDef umbrellaLabel fill:#666666,fill-opacity:0.3,stroke:#666,stroke-width:1px,color:#000,rx:5,ry:5,text-align:center;\nclassDef subgraphStyle fill:#f9f9f9,fill-opacity:0.1,stroke:#ccc,stroke-width:1px;\n\n    subgraph ExternalActors [External actors]\n        direction TB\n        User[User]\n        Machine[Machine]\n    end\n    class User,Machine actor;\n    class ExternalActors subgraphStyle;\n\n    UmbrellaDesc[\"Raw instrument data,\u003cbr\u003eannotations, connections\"]\n    class UmbrellaDesc umbrellaLabel;\n\n    subgraph ClientInterfaces [Client interfaces]\n        direction TB\n        BrowserApp[_datalab_\u003cbr\u003eBrowser app]\n        PythonAPI[_datalab_\u003cbr\u003ePython API]\n    end\n    class BrowserApp,PythonAPI clientInterface;\n    class ClientInterfaces subgraphStyle;\n\n    subgraph Backend\n        direction TB\n        RESTAPI[_datalab_\u003cbr\u003eREST API]\n        MongoDB[MongoDB Database]\n        DataLake[Data Lake]\n    end\n    class RESTAPI,MongoDB,DataLake coreComponent;\n    class Backend subgraphStyle;\n\n    User      \u003c-- \"User data I/O\" --\u003e UmbrellaDesc;\n    Machine   \u003c-- \"Machine data I/O\" --\u003e UmbrellaDesc;\n\n    UmbrellaDesc \u003c-- \"_via_ GUI\" --\u003e BrowserApp;\n    UmbrellaDesc \u003c-- \"_via_ scripts\" --\u003e PythonAPI;\n\n    BrowserApp  \u003c-- \"HTTP (Data exchange)\" --\u003e RESTAPI;\n    PythonAPI   \u003c-- \"API calls (Data exchange)\" --\u003e RESTAPI;\n\n    RESTAPI \u003c-- \"Annotations, connections\" --\u003e MongoDB;\n    RESTAPI \u003c-- \"Raw and structured characterisation data\" --\u003e DataLake;\n\n    linkStyle 0 stroke:#666,stroke-width:3px\n    linkStyle 1 stroke:#666,stroke-width:3px\n    linkStyle 2 stroke:#666,stroke-width:3px\n    linkStyle 3 stroke:#666,stroke-width:3px\n    linkStyle 4 stroke:#666,stroke-width:3px\n    linkStyle 5 stroke:#666,stroke-width:3px\n    linkStyle 6 stroke:#666,stroke-width:3px\n    linkStyle 7 stroke:#666,stroke-width:3px\n\n    click PythonAPI \"https://github.com/datalab-org/datalab-api\" \"datalab Python API on GitHub\" _blank\n    click BrowserApp \"https://github.com/datalab-org/datalab/tree/main/webapp\" \"datalab Browser App on GitHub\" _blank\n    click RESTAPI \"https://github.com/datalab-org/datalab/tree/main/pydatalab\" \"pydatalab REST API on GitHub\" _blank\n```\n\n\u003c/center\u003e\n\nThe main aim of *datalab* is to provide a platform for capturing the significant amounts of long-tail experimental data and metadata produced in a typical lab, and enable storage, filtering and future data re-use by humans and machines. *datalab* is targeted (broadly) at materials chemistry labs but with customisability and extensability in mind.\n\nThe platform provides researchers with a way to record sample- and cell-specific metadata, attach and sync raw data from instruments, and perform analysis and visualisation of many characterisation techniques in the browser (XRD, NMR, electrochemical cycling, TEM, TGA, Mass Spec, Raman).\n\nImportantly, *datalab* stores a network of interconnected research objects in the lab, such that individual pieces of data are stored with the context needed to make them scientifically useful.\n\n## License\n\nThis software is released under the conditions of the MIT license.\nPlease see [LICENSE](./LICENSE) for the full text of the license.\n\n## Citation\n\nShould you use _datalab_ in your research, please consider citing the following preprint:\n\n\u003e Matthew L. Evans, Joshua D. Bocarsly, Benjamin Charmes, Ben E. Smith, Gian-Marco Rignanese, David Waroquiers, Clare P. Grey, **datalab: Federated data management infrastructure for materials chemistry and beyond**, ChemRxiv (2026). DOI: [10.26434/chemrxiv.15001945/v1](https://doi.org/10.26434/chemrxiv.15001945/v1)\n\n## Contact\n\nWe are available for consultations on setting up and managing *datalab* deployments, as well as collaborating on or sponsoring additions of new features and techniques. Please contact Josh or Matthew on their academic emails, or join the [public *datalab* Slack workspace](https://join.slack.com/t/datalab-world/shared_invite/zt-2h58ev3pc-VV496~5je~QoT2TgFIwn4g).\n\n## Contributions\n\nThis software was conceived and developed by:\n\n- [Prof Joshua Bocarsly](https://jdbocarsly.github.io) ([Department of Chemistry, University of Houston](https://www.uh.edu/nsm/chemistry), previously [Department of Chemistry, University of Cambridge](https://www.ch.cam.ac.uk/))\n- [Dr Matthew Evans](https://ml-evs.science) ([Department of Chemistry, University of Cambridge](https://www.ch.cam.ac.uk/), previously [MODL-IMCN,\n  UCLouvain](https://uclouvain.be/en/research-institutes/imcn/modl) \u0026 [Matgenix](https://matgenix.com))\n\nwith support from the group of [Professor Clare Grey](https://grey.group.ch.cam.ac.uk/group) (University of Cambridge), and major contributions from:\n\n- [Benjamin Charmes](https://github.com/BenjaminCharmes)\n- [Dr Ben Smith](https://github.com/be-smith/)\n- [Dr Yue Wu](https://github.com/yue-here)\n\nplus many contributions, feedback and testing performed by other members of the community, in particular, the groups of [Prof Matt Cliffe](https://cliffegroup.co.uk) (University of Cambridge) and [Dr Peter Kraus](https://www.tu.berlin/en/concat) (TUBerlin) and the company [Matgenix SRL](https://matgenix.com).\n\nA full list of code contributions can be found on [GitHub](https://github.com/datalab-org/datalab/graphs/contributors).\n\n## Funding\n\nContributions to _datalab_ have been supported by a mixture of academic funding and consultancy work through [_datalab industries ltd_](https://datalab.industries).\n\nIn particular, the developers thank:\n\n- Initial proof-of-concept funding from the European Union's Horizon 2020 research and innovation programme under grant agreement 957189 (DOI: [10.3030/957189](https://doi.org/10.3030/957189)), the [Battery Interface Genome - Materials Acceleration Platform (BIG-MAP)](https://www.big-map.eu), as an external stakeholder project.\n- The [Faraday Institution](https://www.faraday.ac.uk) CATMAT project (FIRG016) for support of Dr Joshua Bocarsly during initial development of *datalab*.\n- The [Leverhulme Trust](https://leverhulme.ac.uk) and [Isaac Newton Trust](https://newtontrust.cam.ac.uk) for support provided by an early career fellowship for Dr Matthew Evans.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatalab-org%2Fdatalab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatalab-org%2Fdatalab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatalab-org%2Fdatalab/lists"}