phenosentry


Namephenosentry JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryA tool and library for quality control and validation of GA4GH Phenopackets.
upload_time2025-07-25 16:30:37
maintainerNone
docs_urlNone
authorMichael Gargano
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # phenosentry

A Python package for ensuring data quality in phenopackets and collections of phenopackets.

## Features
- Validate phenopacket with quality checks

## Installation

Install with [Poetry](https://python-poetry.org/):

```bash
poetry add phenosentry
```
or with pip:

```bash
pip install phenosentry
```

# Usage
command line interface (CLI):
```bash
phenosentry validate
```

or in Python code:

```python
from phenosentry.model import AuditorLevel
from phenosentry.validation import get_phenopacket_auditor
from phenosentry.io import read_phenopacket
from pathlib import Path
import logging
# Single Phenopacket Validation
path = "path/to/phenopacket.json"
logger = logging.getLogger("phenosentry")
phenopacket = read_phenopacket(
        directory=Path(path),
        logger=logger
)
# Strict Validation
auditor = get_phenopacket_auditor(AuditorLevel.STRICT)
notepad = auditor.prepare_notepad(auditor.id())
auditor.audit(
    item=phenopacket,
    notepad=notepad,
)
if notepad.has_errors_or_warnings(include_subsections=True):
    return "Not Valid Phenopacket"
else:
    return "Valid Phenopacket"
```

# Development
Run tests with:

```bash
poetry run pytest
```

Run lint with:
```bash
poetry run ruff check phenosentry
```

# License 
MIT License
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "phenosentry",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Michael Gargano",
    "author_email": "Michael.Gargano@jax.org",
    "download_url": "https://files.pythonhosted.org/packages/60/e7/2e02b824069f18678bb2cdd3cd12e7bcbb17851730c4cd48fd5f42c9151d/phenosentry-0.2.1.tar.gz",
    "platform": null,
    "description": "# phenosentry\n\nA Python package for ensuring data quality in phenopackets and collections of phenopackets.\n\n## Features\n- Validate phenopacket with quality checks\n\n## Installation\n\nInstall with [Poetry](https://python-poetry.org/):\n\n```bash\npoetry add phenosentry\n```\nor with pip:\n\n```bash\npip install phenosentry\n```\n\n# Usage\ncommand line interface (CLI):\n```bash\nphenosentry validate\n```\n\nor in Python code:\n\n```python\nfrom phenosentry.model import AuditorLevel\nfrom phenosentry.validation import get_phenopacket_auditor\nfrom phenosentry.io import read_phenopacket\nfrom pathlib import Path\nimport logging\n# Single Phenopacket Validation\npath = \"path/to/phenopacket.json\"\nlogger = logging.getLogger(\"phenosentry\")\nphenopacket = read_phenopacket(\n        directory=Path(path),\n        logger=logger\n)\n# Strict Validation\nauditor = get_phenopacket_auditor(AuditorLevel.STRICT)\nnotepad = auditor.prepare_notepad(auditor.id())\nauditor.audit(\n    item=phenopacket,\n    notepad=notepad,\n)\nif notepad.has_errors_or_warnings(include_subsections=True):\n    return \"Not Valid Phenopacket\"\nelse:\n    return \"Valid Phenopacket\"\n```\n\n# Development\nRun tests with:\n\n```bash\npoetry run pytest\n```\n\nRun lint with:\n```bash\npoetry run ruff check phenosentry\n```\n\n# License \nMIT License",
    "bugtrack_url": null,
    "license": null,
    "summary": "A tool and library for quality control and validation of GA4GH Phenopackets.",
    "version": "0.2.1",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6caf38adadac19e254ced9b0c6e382648b9e97a8e239f1ee74b4d01d6aa3b85e",
                "md5": "1f1c7088b079c0e3152ca0031cdbdb0a",
                "sha256": "e2c4304b9a0e813e15cd87ce53316d06632492c94a1220b3934193e6da9a5d30"
            },
            "downloads": -1,
            "filename": "phenosentry-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1f1c7088b079c0e3152ca0031cdbdb0a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 9114,
            "upload_time": "2025-07-25T16:30:36",
            "upload_time_iso_8601": "2025-07-25T16:30:36.016138Z",
            "url": "https://files.pythonhosted.org/packages/6c/af/38adadac19e254ced9b0c6e382648b9e97a8e239f1ee74b4d01d6aa3b85e/phenosentry-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "60e72e02b824069f18678bb2cdd3cd12e7bcbb17851730c4cd48fd5f42c9151d",
                "md5": "6f0a915e86a530c903b4b9179c8f89bb",
                "sha256": "43ab57ad19dbd4cdaa15c5b5c8743735484a7684fd241246d274d54037109d48"
            },
            "downloads": -1,
            "filename": "phenosentry-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6f0a915e86a530c903b4b9179c8f89bb",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 6987,
            "upload_time": "2025-07-25T16:30:37",
            "upload_time_iso_8601": "2025-07-25T16:30:37.111312Z",
            "url": "https://files.pythonhosted.org/packages/60/e7/2e02b824069f18678bb2cdd3cd12e7bcbb17851730c4cd48fd5f42c9151d/phenosentry-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-25 16:30:37",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "phenosentry"
}
        
Elapsed time: 1.50799s