synkit


Namesynkit JSON
Version 0.0.14 PyPI version JSON
download
home_pageNone
SummaryUtility for reaction modeling using graph grammar
upload_time2025-07-31 14:54:11
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseMIT
keywords
VCS
bugtrack_url
requirements scikit-learn seaborn fgutils rdkit pandas requests numpy regex
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SynKit
[![PyPI version](https://img.shields.io/pypi/v/synkit.svg)](https://pypi.org/project/synkit/)
[![Conda version](https://img.shields.io/conda/vn/tieulongphan/synkit.svg)](https://anaconda.org/tieulongphan/synkit)
[![Docker Pulls](https://img.shields.io/docker/pulls/tieulongphan/synkit.svg)](https://hub.docker.com/r/tieulongphan/synkit)
[![Docker Image Version](https://img.shields.io/docker/v/tieulongphan/synkit/latest?label=container)](https://hub.docker.com/r/tieulongphan/synkit)
[![License](https://img.shields.io/github/license/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/blob/main/LICENSE)
[![Release](https://img.shields.io/github/v/release/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/releases)
[![Last Commit](https://img.shields.io/github/last-commit/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/commits)
[![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.15269901.svg)](https://doi.org/10.5281/zenodo.15269901)
[![CI](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml/badge.svg?branch=main)](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml)
[![Dependency PRs](https://img.shields.io/github/issues-pr-raw/tieulongphan/synkit?label=dependency%20PRs)](https://github.com/tieulongphan/synkit/pulls?q=is%3Apr+label%3Adependencies)
[![Stars](https://img.shields.io/github/stars/tieulongphan/synkit.svg?style=social&label=Star)](https://github.com/tieulongphan/synkit/stargazers)

**Toolkit for Synthesis Planning**

SynKit is a collection of tools designed to support the planning and execution of chemical synthesis. 

![SynKit](https://raw.githubusercontent.com/TieuLongPhan/SynKit/main/Data/Figure/synkit.png)

Our tools are tailored to assist researchers and chemists in navigating complex chemical reactions and synthesis pathways, leveraging the power of modern computational chemistry. Whether you're designing novel compounds or optimizing existing processes, ``synkit`` aims to provide the critical tools you need.

For more details on each utility within the repository, please refer to the documentation provided in the respective folders.

## Table of Contents
- [Installation](#installation)
- [Contribute to `SynKit`](#contribute)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgments](#acknowledgments)

## Installation

1. **Python Installation:**
  Ensure that Python 3.11 or later is installed on your system. You can download it from [python.org](https://www.python.org/downloads/).

2. **Creating a Virtual Environment (Optional but Recommended):**
  It's recommended to use a virtual environment to avoid conflicts with other projects or system-wide packages. Use the following commands to create and activate a virtual environment:

  ```bash
  python -m venv synkit-env
  source synkit-env/bin/activate  
  ```
  Or Conda

  ```bash
  conda create --name synkit-env python=3.11
  conda activate synkit-env
  ```

3. **Install from PyPi:**
  The easiest way to use SynTemp is by installing the PyPI package 
  [synkit](https://pypi.org/project/synkit/).

  ```
  pip install synkit
  ```
  Optional if you want to install full version
  ```
  pip install synkit[all]
  ```

4. **Install via Docker**  
   Pull the image: 

   ```bash
   docker pull tieulongphan/synkit:latest
   # or a specific version:
   docker pull tieulongphan/synkit:0.1.0
   ```
   Run a container (sanity check):
   ```
   docker run --rm tieulongphan/synkit:latest
   ```

## Contribute

We're welcoming new contributors to build this project better. Please not hesitate to inquire me via [email][tieu@bioinf.uni-leipzig.de].

Before you start, ensure your local development environment is set up correctly. Pull the latest version of the `main` branch to start with the most recent stable code.

```bash
git checkout main
git pull
```

### Working on New Features

1. **Create a New Branch**:  
   For every new feature or bug fix, create a new branch from the `main` branch. Name your branch meaningfully, related to the feature or fix you are working on.

   ```bash
   git checkout -b feature/your-feature-name
   ```

2. **Develop and Commit Changes**:  
   Make your changes locally, commit them to your branch. Keep your commits small and focused; each should represent a logical unit of work.

   ```bash
   git commit -m "Describe the change"
   ```

3. **Run Quality Checks**:  
   Before finalizing your feature, run the following commands to ensure your code meets our formatting standards and passes all tests:

   ```bash
   ./lint.sh # Check code format
   pytest Test # Run tests
   ```

   Fix any issues or errors highlighted by these checks.

### Integrating Changes

1. **Rebase onto Staging**:  
   Once your feature is complete and tests pass, rebase your changes onto the `staging` branch to prepare for integration.

   ```bash
   git fetch origin
   git rebase origin/staging
   ```

   Carefully resolve any conflicts that arise during the rebase.

2. **Push to Your Feature Branch**:
   After successfully rebasing, push your branch to the remote repository.

   ```bash
   git push origin feature/your-feature-name
   ```

3. **Create a Pull Request**:
   Open a pull request from your feature branch to the `staging` branch. Ensure the pull request description clearly describes the changes and any additional context necessary for review.

## Contributing
- [Tieu-Long Phan](https://tieulongphan.github.io/)
- [Klaus Weinbauer](https://github.com/klausweinbauer)
- [Phuoc-Chung Nguyen Van](https://github.com/phuocchung123)

## Publication

[**SynKit**: An Advanced Cheminformatics Python Library for Efficient Manipulation and Analysis of Chemical Reaction Data]()


## License

This project is licensed under MIT License - see the [License](LICENSE) file for details.

## Acknowledgments

This project has received funding from the European Unions Horizon Europe Doctoral Network programme under the Marie-Skłodowska-Curie grant agreement No 101072930 ([TACsy](https://tacsy.eu/) -- Training Alliance for Computational)
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "synkit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Tieu Long Phan <tieu@bioinf.uni-leipzig.de>",
    "download_url": "https://files.pythonhosted.org/packages/b9/c9/df89f742bd64a368e903dcf715edbc8ef5adfbb48c8f3778db58af9ddfd0/synkit-0.0.14.tar.gz",
    "platform": null,
    "description": "# SynKit\n[![PyPI version](https://img.shields.io/pypi/v/synkit.svg)](https://pypi.org/project/synkit/)\n[![Conda version](https://img.shields.io/conda/vn/tieulongphan/synkit.svg)](https://anaconda.org/tieulongphan/synkit)\n[![Docker Pulls](https://img.shields.io/docker/pulls/tieulongphan/synkit.svg)](https://hub.docker.com/r/tieulongphan/synkit)\n[![Docker Image Version](https://img.shields.io/docker/v/tieulongphan/synkit/latest?label=container)](https://hub.docker.com/r/tieulongphan/synkit)\n[![License](https://img.shields.io/github/license/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/blob/main/LICENSE)\n[![Release](https://img.shields.io/github/v/release/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/releases)\n[![Last Commit](https://img.shields.io/github/last-commit/tieulongphan/synkit.svg)](https://github.com/tieulongphan/synkit/commits)\n[![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.15269901.svg)](https://doi.org/10.5281/zenodo.15269901)\n[![CI](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml/badge.svg?branch=main)](https://github.com/tieulongphan/synkit/actions/workflows/test-and-lint.yml)\n[![Dependency PRs](https://img.shields.io/github/issues-pr-raw/tieulongphan/synkit?label=dependency%20PRs)](https://github.com/tieulongphan/synkit/pulls?q=is%3Apr+label%3Adependencies)\n[![Stars](https://img.shields.io/github/stars/tieulongphan/synkit.svg?style=social&label=Star)](https://github.com/tieulongphan/synkit/stargazers)\n\n**Toolkit for Synthesis Planning**\n\nSynKit is a collection of tools designed to support the planning and execution of chemical synthesis. \n\n![SynKit](https://raw.githubusercontent.com/TieuLongPhan/SynKit/main/Data/Figure/synkit.png)\n\nOur tools are tailored to assist researchers and chemists in navigating complex chemical reactions and synthesis pathways, leveraging the power of modern computational chemistry. Whether you're designing novel compounds or optimizing existing processes, ``synkit`` aims to provide the critical tools you need.\n\nFor more details on each utility within the repository, please refer to the documentation provided in the respective folders.\n\n## Table of Contents\n- [Installation](#installation)\n- [Contribute to `SynKit`](#contribute)\n- [Contributing](#contributing)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n\n## Installation\n\n1. **Python Installation:**\n  Ensure that Python 3.11 or later is installed on your system. You can download it from [python.org](https://www.python.org/downloads/).\n\n2. **Creating a Virtual Environment (Optional but Recommended):**\n  It's recommended to use a virtual environment to avoid conflicts with other projects or system-wide packages. Use the following commands to create and activate a virtual environment:\n\n  ```bash\n  python -m venv synkit-env\n  source synkit-env/bin/activate  \n  ```\n  Or Conda\n\n  ```bash\n  conda create --name synkit-env python=3.11\n  conda activate synkit-env\n  ```\n\n3. **Install from PyPi:**\n  The easiest way to use SynTemp is by installing the PyPI package \n  [synkit](https://pypi.org/project/synkit/).\n\n  ```\n  pip install synkit\n  ```\n  Optional if you want to install full version\n  ```\n  pip install synkit[all]\n  ```\n\n4. **Install via Docker**  \n   Pull the image: \n\n   ```bash\n   docker pull tieulongphan/synkit:latest\n   # or a specific version:\n   docker pull tieulongphan/synkit:0.1.0\n   ```\n   Run a container (sanity check):\n   ```\n   docker run --rm tieulongphan/synkit:latest\n   ```\n\n## Contribute\n\nWe're welcoming new contributors to build this project better. Please not hesitate to inquire me via [email][tieu@bioinf.uni-leipzig.de].\n\nBefore you start, ensure your local development environment is set up correctly. Pull the latest version of the `main` branch to start with the most recent stable code.\n\n```bash\ngit checkout main\ngit pull\n```\n\n### Working on New Features\n\n1. **Create a New Branch**:  \n   For every new feature or bug fix, create a new branch from the `main` branch. Name your branch meaningfully, related to the feature or fix you are working on.\n\n   ```bash\n   git checkout -b feature/your-feature-name\n   ```\n\n2. **Develop and Commit Changes**:  \n   Make your changes locally, commit them to your branch. Keep your commits small and focused; each should represent a logical unit of work.\n\n   ```bash\n   git commit -m \"Describe the change\"\n   ```\n\n3. **Run Quality Checks**:  \n   Before finalizing your feature, run the following commands to ensure your code meets our formatting standards and passes all tests:\n\n   ```bash\n   ./lint.sh # Check code format\n   pytest Test # Run tests\n   ```\n\n   Fix any issues or errors highlighted by these checks.\n\n### Integrating Changes\n\n1. **Rebase onto Staging**:  \n   Once your feature is complete and tests pass, rebase your changes onto the `staging` branch to prepare for integration.\n\n   ```bash\n   git fetch origin\n   git rebase origin/staging\n   ```\n\n   Carefully resolve any conflicts that arise during the rebase.\n\n2. **Push to Your Feature Branch**:\n   After successfully rebasing, push your branch to the remote repository.\n\n   ```bash\n   git push origin feature/your-feature-name\n   ```\n\n3. **Create a Pull Request**:\n   Open a pull request from your feature branch to the `staging` branch. Ensure the pull request description clearly describes the changes and any additional context necessary for review.\n\n## Contributing\n- [Tieu-Long Phan](https://tieulongphan.github.io/)\n- [Klaus Weinbauer](https://github.com/klausweinbauer)\n- [Phuoc-Chung Nguyen Van](https://github.com/phuocchung123)\n\n## Publication\n\n[**SynKit**: An Advanced Cheminformatics Python Library for Efficient Manipulation and Analysis of Chemical Reaction Data]()\n\n\n## License\n\nThis project is licensed under MIT License - see the [License](LICENSE) file for details.\n\n## Acknowledgments\n\nThis project has received funding from the European Unions Horizon Europe Doctoral Network programme under the Marie-Sk\u0142odowska-Curie grant agreement No 101072930 ([TACsy](https://tacsy.eu/) -- Training Alliance for Computational)",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Utility for reaction modeling using graph grammar",
    "version": "0.0.14",
    "project_urls": {
        "documentation": "https://tieulongphan.github.io/SynKit/",
        "homepage": "https://github.com/TieuLongPhan/SynKit",
        "issues": "https://github.com/TieuLongPhan/SynKit/issues",
        "source": "https://github.com/TieuLongPhan/SynKit"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2e27cb7e3794cd853198b1b00293ae3c76841b229f95dba92e37a0ddde3715d7",
                "md5": "6de6fa89fbb82a1d280c313014152b84",
                "sha256": "da9ea440ecd9f03723f3cce30dc99ef8e518078624e9aaf8eaf64610afb78e2f"
            },
            "downloads": -1,
            "filename": "synkit-0.0.14-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "6de6fa89fbb82a1d280c313014152b84",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 303327,
            "upload_time": "2025-07-31T14:54:10",
            "upload_time_iso_8601": "2025-07-31T14:54:10.234517Z",
            "url": "https://files.pythonhosted.org/packages/2e/27/cb7e3794cd853198b1b00293ae3c76841b229f95dba92e37a0ddde3715d7/synkit-0.0.14-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b9c9df89f742bd64a368e903dcf715edbc8ef5adfbb48c8f3778db58af9ddfd0",
                "md5": "3f5f56a23d7a85f6608937af86513b75",
                "sha256": "c8323311e52d630edc81aa2a7765f47a4308412b3dc5988580cefd20d18ee549"
            },
            "downloads": -1,
            "filename": "synkit-0.0.14.tar.gz",
            "has_sig": false,
            "md5_digest": "3f5f56a23d7a85f6608937af86513b75",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 3137428,
            "upload_time": "2025-07-31T14:54:11",
            "upload_time_iso_8601": "2025-07-31T14:54:11.995621Z",
            "url": "https://files.pythonhosted.org/packages/b9/c9/df89f742bd64a368e903dcf715edbc8ef5adfbb48c8f3778db58af9ddfd0/synkit-0.0.14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-31 14:54:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "TieuLongPhan",
    "github_project": "SynKit",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "scikit-learn",
            "specs": [
                [
                    ">=",
                    "1.4.0"
                ]
            ]
        },
        {
            "name": "seaborn",
            "specs": [
                [
                    ">=",
                    "0.13.2"
                ]
            ]
        },
        {
            "name": "fgutils",
            "specs": []
        },
        {
            "name": "rdkit",
            "specs": [
                [
                    ">=",
                    "2025.3.1"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "requests",
            "specs": [
                [
                    ">=",
                    "2.32.3"
                ]
            ]
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "2.2.0"
                ]
            ]
        },
        {
            "name": "regex",
            "specs": [
                [
                    ">=",
                    "2024.11.6"
                ]
            ]
        }
    ],
    "lcname": "synkit"
}
        
Elapsed time: 1.07975s