Name | tmkit JSON |
Version |
0.0.5
JSON |
| download |
home_page | https://github.com/2003100127/tmkit |
Summary | TMKit is a scalable Python programming interface holding a bundle of function modules to allow a variety of transmembrane protein studies. |
upload_time | 2024-01-19 22:44:23 |
maintainer | |
docs_url | None |
author | Jianfeng Sun |
requires_python | >=3.10,<3.11 |
license | GNU GPL v3.0 |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
<h1>
<img src="https://github.com/2003100127/tmkit/blob/main/tmkit/util/tmkit_sign.png?raw=true" width="300" height="100">
<br>
</h1>
![](https://img.shields.io/pypi/v/tmkit?logo=PyPI)
![Test](https://github.com/2003100127/tmkit/actions/workflows/test.yml/badge.svg)
![](https://img.shields.io/badge/last_released-Jul14._2023-green.svg)
![](https://img.shields.io/badge/tmkit-executable-519dd9.svg)
![Coverage Report](assets/images/coverage.svg)
[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/2003100127/tmkit/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)
[![Anaconda](https://github.com/2003100127/tmkit/actions/workflows/conda.yml/badge.svg)](https://github.com/2003100127/tmkit/actions/workflows/conda.yml)
[![run with docker](https://img.shields.io/badge/run%20with-Docker-0db7ed?logo=docker)](https://www.docker.com/2003100127/tmkit)
[![Downloads](https://pepy.tech/badge/tmkitx)](https://pepy.tech/project/tmkitx)
<!-- ![Build](https://github.com/2003100127/tmkit/actions/workflows/build.yml/badge.svg) -->
###### tags: `bioinformatics`, `protein-protein interfaces`
## Overview
```angular2html
_____ __ __ _ ___ _
|_ _| \/ | |/ (_) |_
| | | |\/| | ' /| | __|
| | | | | | . \| | |_
|_| |_| |_|_|\_\_|\__|
```
TMKit is a scalable Python programming interface holding a bundle of function modules to allow a variety of transmembrane protein studies.
## Documentation
Website: https://tmkit-guide.herokuapp.com/doc/overview
Source: https://github.com/2003100127/tmkit-guide
We also provided a jupyter notebook (`examples.ipynb`) to demonstrate the usage of TMKit.
## Installation
### Using pip (recommended)
```sh
# create a conda environment
conda create --name tmkit python=3.10
# activate the conda environment
conda activate tmkit
# a stable version 0.0.5 (recommended)
pip install tmkit==0.0.5
```
### Using conda
If you want to install TMKit with some optional packages, including hh-suite, pymol, and hmmer, you can select the conda option. You should have [miniconda](https://docs.conda.io/en/latest/miniconda.html) installed first. Please run the following commands to create a new conda environment and install TMKit.
```sh
# create a conda environment
conda create --name tmkit python=3.10
# activate the conda environment
conda activate tmkit
conda install -c 2003100127 -c conda-forge -c bioconda tmkit
```
### Using docker
You can also use docker to run TMKit. You should have [docker](https://docs.docker.com/get-docker/) installed first. Then run the following commands to pull the docker image.
```sh
docker pull 2003100127/tmkit:latest
```
## For developers
If you want to contribute to TMKit, be sure to review the [contribution guidelines](CONTRIBUTING.md). Please fork the repository and create a new branch for development. We provided a [docker image](https://hub.docker.com/r/2003100127/tmkit-dev/tags) and a `Makefile` to help you get started quickly. After cloned the repo and connected to the docker container, you can run the following commands to get started.
```sh
# install poetry
make poetry-download
# create a virtual environment
make create-venv
# install dependencies
make install
# install pre-commit hooks
make pre-commit-install
# happy coding :)
# ...
# after coding, run the following commands to check your code before making a pull request
make test
```
The development environment is managed by [Poetry](https://python-poetry.org/). [`pre-commit`](https://github.com/pre-commit/pre-commit) is used to manage the git hooks, which include code formatting, linting, security check, etc, and is configured in the `.pre-commit-config.yaml` file. Using `pre-commit` is highly recommended to ensure the code quality.
### Makefile usage
[`Makefile`](https://github.com/2003100127/tmkit/blob/main/Makefile) contains a lot of functions for faster development.
<details>
<summary>1. Download and remove Poetry</summary>
<p>
To download and install Poetry run:
```bash
make poetry-download
```
To uninstall
```bash
make poetry-remove
```
</p>
</details>
<details>
<summary>2. Install all dependencies and pre-commit hooks</summary>
<p>
Install requirements:
```bash
make install
```
Pre-commit hooks coulb be installed after `git init` via
```bash
make pre-commit-install
```
</p>
</details>
<details>
<summary>3. Codestyle</summary>
<p>
Automatic formatting uses `pyupgrade`, `isort` and `black`.
```bash
make codestyle
# or use synonym
make formatting
```
Codestyle checks only, without rewriting files:
```bash
make check-codestyle
```
> Note: `check-codestyle` uses `isort`, `black` and `darglint` library
Update all dev libraries to the latest version using one comand
```bash
make update-dev-deps
```
</p>
</details>
<details>
<summary>4. Code security</summary>
<p>
```bash
make check-safety
```
This command launches `Poetry` integrity checks as well as identifies security issues with `Safety` and `Bandit`.
```bash
make check-safety
```
</p>
</details>
<details>
<summary>5. Type checks</summary>
<p>
Run `mypy` static type checker
```bash
make mypy
```
</p>
</details>
<details>
<summary>6. Tests with coverage badges</summary>
<p>
Run `pytest`
```bash
make test
```
</p>
</details>
<details>
<summary>7. All linters</summary>
<p>
Of course there is a command to ~~rule~~ run all linters in one:
```bash
make lint
```
the same as:
```bash
make test && make check-codestyle && make mypy && make check-safety
```
</p>
</details>
<details>
<summary>8. Docker</summary>
<p>
```bash
make docker-build
```
which is equivalent to:
```bash
make docker-build VERSION=latest
```
Remove docker image with
```bash
make docker-remove
```
More information [about docker](https://github.com/2003100127/tmkit/tree/master/docker).
</p>
</details>
<details>
<summary>9. Cleanup</summary>
<p>
Delete pycache files
```bash
make pycache-remove
```
Remove package build
```bash
make build-remove
```
Delete .DS_STORE files
```bash
make dsstore-remove
```
Remove .mypycache
```bash
make mypycache-remove
```
Or to remove all above run:
```bash
make cleanup
```
</p>
</details>
## Citation
Please cite our work if you use TMKit in your research.
## Contact
Please report any questions on [issue](https://github.com/2003100127/tmkit/issues) pages.
Raw data
{
"_id": null,
"home_page": "https://github.com/2003100127/tmkit",
"name": "tmkit",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<3.11",
"maintainer_email": "",
"keywords": "",
"author": "Jianfeng Sun",
"author_email": "jianfeng.sun@ndorms.ox.ac.uk",
"download_url": "https://files.pythonhosted.org/packages/f0/31/e04e2cd822bb3b3a8b199ebabbf67c194ff2c22ee1fe374aa700aa4a59e4/tmkit-0.0.5.tar.gz",
"platform": null,
"description": "<h1>\n <img src=\"https://github.com/2003100127/tmkit/blob/main/tmkit/util/tmkit_sign.png?raw=true\" width=\"300\" height=\"100\">\n <br>\n</h1>\n\n![](https://img.shields.io/pypi/v/tmkit?logo=PyPI)\n![Test](https://github.com/2003100127/tmkit/actions/workflows/test.yml/badge.svg)\n![](https://img.shields.io/badge/last_released-Jul14._2023-green.svg)\n![](https://img.shields.io/badge/tmkit-executable-519dd9.svg)\n![Coverage Report](assets/images/coverage.svg)\n[![Dependencies Status](https://img.shields.io/badge/dependencies-up%20to%20date-brightgreen.svg)](https://github.com/2003100127/tmkit/pulls?utf8=%E2%9C%93&q=is%3Apr%20author%3Aapp%2Fdependabot)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)\n[![Anaconda](https://github.com/2003100127/tmkit/actions/workflows/conda.yml/badge.svg)](https://github.com/2003100127/tmkit/actions/workflows/conda.yml)\n[![run with docker](https://img.shields.io/badge/run%20with-Docker-0db7ed?logo=docker)](https://www.docker.com/2003100127/tmkit)\n[![Downloads](https://pepy.tech/badge/tmkitx)](https://pepy.tech/project/tmkitx)\n\n<!-- ![Build](https://github.com/2003100127/tmkit/actions/workflows/build.yml/badge.svg) -->\n\n###### tags: `bioinformatics`, `protein-protein interfaces`\n\n## Overview\n\n```angular2html\n _____ __ __ _ ___ _\n|_ _| \\/ | |/ (_) |_\n | | | |\\/| | ' /| | __|\n | | | | | | . \\| | |_\n |_| |_| |_|_|\\_\\_|\\__|\n```\n\nTMKit is a scalable Python programming interface holding a bundle of function modules to allow a variety of transmembrane protein studies.\n\n## Documentation\n\nWebsite: https://tmkit-guide.herokuapp.com/doc/overview\n\nSource: https://github.com/2003100127/tmkit-guide\n\nWe also provided a jupyter notebook (`examples.ipynb`) to demonstrate the usage of TMKit.\n\n## Installation\n\n### Using pip (recommended)\n\n```sh\n# create a conda environment\nconda create --name tmkit python=3.10\n\n# activate the conda environment\nconda activate tmkit\n\n# a stable version 0.0.5 (recommended)\npip install tmkit==0.0.5\n```\n\n### Using conda\n\nIf you want to install TMKit with some optional packages, including hh-suite, pymol, and hmmer, you can select the conda option. You should have [miniconda](https://docs.conda.io/en/latest/miniconda.html) installed first. Please run the following commands to create a new conda environment and install TMKit.\n\n```sh\n# create a conda environment\nconda create --name tmkit python=3.10\n\n# activate the conda environment\nconda activate tmkit\n\nconda install -c 2003100127 -c conda-forge -c bioconda tmkit\n```\n\n### Using docker\n\nYou can also use docker to run TMKit. You should have [docker](https://docs.docker.com/get-docker/) installed first. Then run the following commands to pull the docker image.\n\n```sh\ndocker pull 2003100127/tmkit:latest\n```\n\n## For developers\n\nIf you want to contribute to TMKit, be sure to review the [contribution guidelines](CONTRIBUTING.md). Please fork the repository and create a new branch for development. We provided a [docker image](https://hub.docker.com/r/2003100127/tmkit-dev/tags) and a `Makefile` to help you get started quickly. After cloned the repo and connected to the docker container, you can run the following commands to get started.\n\n```sh\n# install poetry\nmake poetry-download\n\n# create a virtual environment\nmake create-venv\n\n# install dependencies\nmake install\n\n# install pre-commit hooks\nmake pre-commit-install\n\n# happy coding :)\n# ...\n\n# after coding, run the following commands to check your code before making a pull request\nmake test\n```\n\nThe development environment is managed by [Poetry](https://python-poetry.org/). [`pre-commit`](https://github.com/pre-commit/pre-commit) is used to manage the git hooks, which include code formatting, linting, security check, etc, and is configured in the `.pre-commit-config.yaml` file. Using `pre-commit` is highly recommended to ensure the code quality.\n\n### Makefile usage\n\n[`Makefile`](https://github.com/2003100127/tmkit/blob/main/Makefile) contains a lot of functions for faster development.\n\n<details>\n<summary>1. Download and remove Poetry</summary>\n<p>\n\nTo download and install Poetry run:\n\n```bash\nmake poetry-download\n```\n\nTo uninstall\n\n```bash\nmake poetry-remove\n```\n\n</p>\n</details>\n\n<details>\n<summary>2. Install all dependencies and pre-commit hooks</summary>\n<p>\n\nInstall requirements:\n\n```bash\nmake install\n```\n\nPre-commit hooks coulb be installed after `git init` via\n\n```bash\nmake pre-commit-install\n```\n\n</p>\n</details>\n\n<details>\n<summary>3. Codestyle</summary>\n<p>\n\nAutomatic formatting uses `pyupgrade`, `isort` and `black`.\n\n```bash\nmake codestyle\n\n# or use synonym\nmake formatting\n```\n\nCodestyle checks only, without rewriting files:\n\n```bash\nmake check-codestyle\n```\n\n> Note: `check-codestyle` uses `isort`, `black` and `darglint` library\n\nUpdate all dev libraries to the latest version using one comand\n\n```bash\nmake update-dev-deps\n```\n\n</p>\n</details>\n\n<details>\n<summary>4. Code security</summary>\n<p>\n\n```bash\nmake check-safety\n```\n\nThis command launches `Poetry` integrity checks as well as identifies security issues with `Safety` and `Bandit`.\n\n```bash\nmake check-safety\n```\n\n</p>\n</details>\n\n<details>\n<summary>5. Type checks</summary>\n<p>\n\nRun `mypy` static type checker\n\n```bash\nmake mypy\n```\n\n</p>\n</details>\n\n<details>\n<summary>6. Tests with coverage badges</summary>\n<p>\n\nRun `pytest`\n\n```bash\nmake test\n```\n\n</p>\n</details>\n\n<details>\n<summary>7. All linters</summary>\n<p>\n\nOf course there is a command to ~~rule~~ run all linters in one:\n\n```bash\nmake lint\n```\n\nthe same as:\n\n```bash\nmake test && make check-codestyle && make mypy && make check-safety\n```\n\n</p>\n</details>\n\n<details>\n<summary>8. Docker</summary>\n<p>\n\n```bash\nmake docker-build\n```\n\nwhich is equivalent to:\n\n```bash\nmake docker-build VERSION=latest\n```\n\nRemove docker image with\n\n```bash\nmake docker-remove\n```\n\nMore information [about docker](https://github.com/2003100127/tmkit/tree/master/docker).\n\n</p>\n</details>\n\n<details>\n<summary>9. Cleanup</summary>\n<p>\nDelete pycache files\n\n```bash\nmake pycache-remove\n```\n\nRemove package build\n\n```bash\nmake build-remove\n```\n\nDelete .DS_STORE files\n\n```bash\nmake dsstore-remove\n```\n\nRemove .mypycache\n\n```bash\nmake mypycache-remove\n```\n\nOr to remove all above run:\n\n```bash\nmake cleanup\n```\n\n</p>\n</details>\n\n## Citation\n\nPlease cite our work if you use TMKit in your research.\n\n## Contact\n\nPlease report any questions on [issue](https://github.com/2003100127/tmkit/issues) pages.\n",
"bugtrack_url": null,
"license": "GNU GPL v3.0",
"summary": "TMKit is a scalable Python programming interface holding a bundle of function modules to allow a variety of transmembrane protein studies.",
"version": "0.0.5",
"project_urls": {
"Homepage": "https://github.com/2003100127/tmkit",
"Repository": "https://github.com/2003100127/tmkit"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f031e04e2cd822bb3b3a8b199ebabbf67c194ff2c22ee1fe374aa700aa4a59e4",
"md5": "1541a31ea0ce269fc6cc8024f75b4d40",
"sha256": "18c20a8873f0a04349a3b0db70338432f7a06a66587fb5fa26a258a75cd82975"
},
"downloads": -1,
"filename": "tmkit-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "1541a31ea0ce269fc6cc8024f75b4d40",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<3.11",
"size": 120336,
"upload_time": "2024-01-19T22:44:23",
"upload_time_iso_8601": "2024-01-19T22:44:23.172710Z",
"url": "https://files.pythonhosted.org/packages/f0/31/e04e2cd822bb3b3a8b199ebabbf67c194ff2c22ee1fe374aa700aa4a59e4/tmkit-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-01-19 22:44:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "2003100127",
"github_project": "tmkit",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "tmkit"
}