{"id":13722785,"url":"https://github.com/datamol-io/datamol","last_synced_at":"2025-04-08T08:13:30.632Z","repository":{"id":37563978,"uuid":"341603042","full_name":"datamol-io/datamol","owner":"datamol-io","description":"Molecular Processing Made Easy.","archived":false,"fork":false,"pushed_at":"2024-06-10T19:22:38.000Z","size":119384,"stargazers_count":463,"open_issues_count":8,"forks_count":48,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-10-29T17:37:32.249Z","etag":null,"topics":["cheminformatics","drug-design","drug-discovery","medicinal-chemistry","molecule","molecules","python","rdkit"],"latest_commit_sha":null,"homepage":"https://docs.datamol.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/datamol-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-23T15:39:33.000Z","updated_at":"2024-10-19T16:26:28.000Z","dependencies_parsed_at":"2024-01-03T06:50:29.770Z","dependency_job_id":"81194d7c-5d73-43fc-a652-50d3093f27c8","html_url":"https://github.com/datamol-io/datamol","commit_stats":{"total_commits":1320,"total_committers":26,"mean_commits":50.76923076923077,"dds":"0.25681818181818183","last_synced_commit":"0312388b956e2b4eeb72d791167cfdb873c7beab"},"previous_names":["datamol-org/datamol"],"tags_count":103,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamol-io%2Fdatamol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamol-io%2Fdatamol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamol-io%2Fdatamol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datamol-io%2Fdatamol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datamol-io","download_url":"https://codeload.github.com/datamol-io/datamol/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247801169,"owners_count":20998339,"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":["cheminformatics","drug-design","drug-discovery","medicinal-chemistry","molecule","molecules","python","rdkit"],"created_at":"2024-08-03T01:01:32.926Z","updated_at":"2025-04-08T08:13:30.594Z","avatar_url":"https://github.com/datamol-io.png","language":"Python","funding_links":[],"categories":["Software and products"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"docs/images/logo-title.svg\" width=\"100%\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cb\u003edatamol - molecular processing made easy\u003c/b\u003e \u003cbr /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://docs.datamol.io/stable/\" target=\"_blank\"\u003e\n      Docs\n  \u003c/a\u003e |\n  \u003ca href=\"https://datamol.io/\" target=\"_blank\"\u003e\n      Homepage\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n[![DOI](https://zenodo.org/badge/341603042.svg)](https://zenodo.org/badge/latestdoi/341603042)\n[![Binder](http://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/datamol-io/datamol/main?urlpath=lab/tree/docs/tutorials/The_Basics.ipynb)\n[![PyPI](https://img.shields.io/pypi/v/datamol)](https://pypi.org/project/datamol/)\n[![Conda](https://img.shields.io/conda/v/conda-forge/datamol?label=conda\u0026color=success)](https://anaconda.org/conda-forge/datamol)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/datamol)](https://pypi.org/project/datamol/)\n[![Conda](https://img.shields.io/conda/dn/conda-forge/datamol)](https://anaconda.org/conda-forge/datamol)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/datamol)](https://pypi.org/project/datamol/)\n[![license](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/datamol-io/datamol/blob/main/LICENSE)\n[![GitHub Repo stars](https://img.shields.io/github/stars/datamol-io/datamol)](https://github.com/datamol-io/datamol/stargazers)\n[![GitHub Repo stars](https://img.shields.io/github/forks/datamol-io/datamol)](https://github.com/datamol-io/datamol/network/members)\n[![Codecov](https://codecov.io/gh/datamol-io/datamol/branch/main/graph/badge.svg?token=2ETG8SA7IG)](https://codecov.io/gh/datamol-io/datamol)\n\nDatamol is a python library to work with molecules. It's a layer built on top of [RDKit](https://www.rdkit.org/) and aims to be as light as possible.\n\n- 🐍 Simple pythonic API\n- ⚗️ RDKit first: all you manipulate are `rdkit.Chem.Mol` objects.\n- ✅ Manipulating molecules often relies on many options; Datamol provides good defaults by design.\n- 🧠 Performance matters: built-in efficient parallelization when possible with an optional progress bar.\n- 🕹️ Modern IO: out-of-the-box support for remote paths using `fsspec` to read and write multiple formats (sdf, xlsx, csv, etc).\n\n## Try Online\n\nVisit [![Binder](http://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/datamol-io/datamol/main?urlpath=lab/tree/docs/tutorials/The_Basics.ipynb) and try Datamol online.\n\n## Documentation\n\nVisit \u003chttps://docs.datamol.io\u003e.\n\n## Installation\n\nUse conda:\n\n```bash\nmamba install -c conda-forge datamol\n```\n\n## Quick API Tour\n\n```python\nimport datamol as dm\n\n# Common functions\nmol = dm.to_mol(\"O=C(C)Oc1ccccc1C(=O)O\", sanitize=True)\nfp = dm.to_fp(mol)\nselfies = dm.to_selfies(mol)\ninchi = dm.to_inchi(mol)\n\n# Standardize and sanitize\nmol = dm.to_mol(\"O=C(C)Oc1ccccc1C(=O)O\")\nmol = dm.fix_mol(mol)\nmol = dm.sanitize_mol(mol)\nmol = dm.standardize_mol(mol)\n\n# Dataframe manipulation\ndf = dm.data.freesolv()\nmols = dm.from_df(df)\n\n# 2D viz\nlegends = [dm.to_smiles(mol) for mol in mols[:10]]\ndm.viz.to_image(mols[:10], legends=legends)\n\n# Generate conformers\nsmiles = \"O=C(C)Oc1ccccc1C(=O)O\"\nmol = dm.to_mol(smiles)\nmol_with_conformers = dm.conformers.generate(mol)\n\n# 3D viz (using nglview)\ndm.viz.conformers(mol, n_confs=10)\n\n# Compute SASA from conformers\nsasa = dm.conformers.sasa(mol_with_conformers)\n\n# Easy IO\nmols = dm.read_sdf(\"s3://my-awesome-data-lake/smiles.sdf\", as_df=False)\ndm.to_sdf(mols, \"gs://data-bucket/smiles.sdf\")\n```\n\n## How to cite\n\nPlease cite Datamol if you use it in your research: [![DOI](https://zenodo.org/badge/341603042.svg)](https://zenodo.org/badge/latestdoi/341603042).\n\n## Compatibilities\n\nVersion compatibilities are an essential topic for production-software stacks. We are cautious about documenting compatibility between `datamol`, `python` and `rdkit`.\n\nSee below the associated versions of Python and RDKit, for which a minor version of Datamol **has been tested** during its whole lifecycle. _It does not mean other combinations does not work but that those are not tested._\n\n| `datamol` | `python`            | `rdkit`                       |\n| --------- | ------------------- | ----------------------------- |\n| `0.12.x`  | `[3.10, 3.11]`      | `[2023.03, 2023.09]`          |\n| `0.11.x`  | `[3.9, 3.10, 3.11]` | `[2022.09, 2023.03]`          |\n| `0.10.x`  | `[3.9, 3.10, 3.11]` | `[2022.03, 2022.09]`          |\n| `0.9.x`   | `[3.9, 3.10, 3.11]` | `[2022.03, 2022.09]`          |\n| `0.8.x`   | `[3.8, 3.9, 3.10]`  | `[2021.09, 2022.03, 2022.09]` |\n| `0.7.x`   | `[3.8, 3.9]`        | `[2021.09, 2022.03]`          |\n| `0.6.x`   | `[3.8, 3.9]`        | `[2021.09]`                   |\n| `0.5.x`   | `[3.8, 3.9]`        | `[2021.03, 2021.09]`          |\n| `0.4.x`   | `[3.8, 3.9]`        | `[2020.09, 2021.03]`          |\n| `0.3.x`   | `[3.8, 3.9]`        | `[2020.09, 2021.03]`          |\n\n## CI Status\n\nThe CI runs tests and performs code quality checks for the following combinations:\n\n- The three major platforms: Windows, OSX and Linux.\n- The two latest Python versions.\n- The two latest RDKit versions.\n\n|                                         | `main`                                                                                                                                                                    |\n| --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Lib build \u0026 Testing                     | [![test](https://github.com/datamol-io/datamol/actions/workflows/test.yml/badge.svg)](https://github.com/datamol-io/datamol/actions/workflows/test.yml)                   |\n| Code Sanity (linting and type analysis) | [![code-check](https://github.com/datamol-io/datamol/actions/workflows/code-check.yml/badge.svg)](https://github.com/datamol-io/datamol/actions/workflows/code-check.yml) |\n| Documentation Build                     | [![doc](https://github.com/datamol-io/datamol/actions/workflows/doc.yml/badge.svg)](https://github.com/datamol-io/datamol/actions/workflows/doc.yml)                      |\n\n## License\n\nUnder the Apache-2.0 license. See [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatamol-io%2Fdatamol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatamol-io%2Fdatamol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatamol-io%2Fdatamol/lists"}