pyjaniml


Namepyjaniml JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://gitlab.com/clade-gmbh/pyjaniml
SummaryClasses for AniML handling
upload_time2023-10-19 11:28:41
maintainer
docs_urlNone
authorCLADE GmbH
requires_python>=3.8
licenseMIT
keywords animl json
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # pyjaniml

[![Version](https://img.shields.io/pypi/v/pyjaniml?label=Version&style=for-the-badge)](https://pypi.org/project/pyjaniml/)
![License: MIT](https://img.shields.io/pypi/l/pyjaniml?style=for-the-badge)
[![Python Versions: see setup.py](https://img.shields.io/pypi/pyversions/pyjaniml?label=Python&style=for-the-badge)](https://gitlab.com/clade-public/pyjaniml/)

A package to serialize and deserialize janiml json documents using marshmallow.

## Based on
https://docs.google.com/document/d/1vpPbkAqPFc22efJ0IXvGGSzAn_4VFNG_OiaEfn42zx4/edit?usp=sharing

https://github.com/AnIML/schemas/blob/master/animl-core.xsd

## Installation
Install directly from the GitLab repository
`$ pip install pyjaniml`

## Usage

### Example usage

### Not yet implemented
- Nested categories
- Signature Set
- Audit Trail

## Contributing

The project uses [black](https://pypi.org/project/black/) and
[isort](https://pypi.org/project/isort/) for formatting its code.
[flake8](https://pypi.org/project/flake8/) is used for linting.
[mypy](http://www.mypy-lang.org/) is used for type checking. All these are
combined into [pre-commit](https://pre-commit.com/) to run before each commit
and push. To set it up:

```console
(env)$ python -m pip install pre-commit
(env)$ pre-commit install -t pre-commit -t pre-push --install-hooks
```

To run the unit tests you need some additional utilities that need to be
installed before you can run the tests.

```console
(env)$ python -m pip install -r requirements/tests.txt .
(env)$ python -m pip install -e .
(env)$ pytest --cov
```

### Issuing a new Release

1. Determine the next version you want to release. For that, check the
   [CHANGELOG](https://gitlab.com/clade-public/pyjaniml/-/blob/main/CHANGELOG.md)
   and the chances made since the last release. Let's call it `$VERSION`.

1. Start a new branch `release/$VERSION`.

   ```console
   (env)$ git checkout main
   (env)$ git pull
   (env)$ git checkout -b "release/$VERSION"
   ```

1. Update the
   [CHANGELOG](https://gitlab.com/clade-public/pyjaniml/-/blob/main/CHANGELOG.md)
   with the new desired version. Also ensure the notes for the new release make
   sense and are coherant. Remember, the target audience for this changelog.

1. Commit the changes an push them. Then open a merge request.

   ```console
   (env)$ git add CHANGELOG.md
   (env)$ git commit -m "Release $VERSION"
   (env)$ git push -o merge_request.create -u origin "release/$VERSION"
   ```

1. Once the merge request has been approved and merged, pull the changes, add a
   git tag and push it:

   ```console
   (env)$ git checkout main
   (env)$ git pull
   (env)$ # If you have a GPG key, please sign the tag:
   (env)$ git tag -s -m "Release $VERSION" "$VERSION"
   (env)$ # If you do not have a GPG key:
   (env)$ git tag -m "Release $VERSION" "$VERSION"
   (env)$ git push --tags
   ```

1. [Check the build pipeline](https://gitlab.com/clade-public/pyjaniml/-/pipelines?scope=tags)

### Converting Bruker OPUS Files

Bruker OPUS Files can be converted into json using the following snippet:
```Python
file_path=/Path/To/Files
import pyjaniml
 converter = Converter()
_ = converter.convert_folder_and_zip(file_path)
```

or directly via the console

```console
python3 pyjaniml /Path/To/Files
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://gitlab.com/clade-gmbh/pyjaniml",
    "name": "pyjaniml",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "AniML,json",
    "author": "CLADE GmbH",
    "author_email": "info@clade.io",
    "download_url": "https://files.pythonhosted.org/packages/3a/89/7fec2750dc43caed7eab0ebd67c9b4d2b47a11897ccf220c8450ebd532db/pyjaniml-1.0.0.tar.gz",
    "platform": null,
    "description": "# pyjaniml\n\n[![Version](https://img.shields.io/pypi/v/pyjaniml?label=Version&style=for-the-badge)](https://pypi.org/project/pyjaniml/)\n![License: MIT](https://img.shields.io/pypi/l/pyjaniml?style=for-the-badge)\n[![Python Versions: see setup.py](https://img.shields.io/pypi/pyversions/pyjaniml?label=Python&style=for-the-badge)](https://gitlab.com/clade-public/pyjaniml/)\n\nA package to serialize and deserialize janiml json documents using marshmallow.\n\n## Based on\nhttps://docs.google.com/document/d/1vpPbkAqPFc22efJ0IXvGGSzAn_4VFNG_OiaEfn42zx4/edit?usp=sharing\n\nhttps://github.com/AnIML/schemas/blob/master/animl-core.xsd\n\n## Installation\nInstall directly from the GitLab repository\n`$ pip install pyjaniml`\n\n## Usage\n\n### Example usage\n\n### Not yet implemented\n- Nested categories\n- Signature Set\n- Audit Trail\n\n## Contributing\n\nThe project uses [black](https://pypi.org/project/black/) and\n[isort](https://pypi.org/project/isort/) for formatting its code.\n[flake8](https://pypi.org/project/flake8/) is used for linting.\n[mypy](http://www.mypy-lang.org/) is used for type checking. All these are\ncombined into [pre-commit](https://pre-commit.com/) to run before each commit\nand push. To set it up:\n\n```console\n(env)$ python -m pip install pre-commit\n(env)$ pre-commit install -t pre-commit -t pre-push --install-hooks\n```\n\nTo run the unit tests you need some additional utilities that need to be\ninstalled before you can run the tests.\n\n```console\n(env)$ python -m pip install -r requirements/tests.txt .\n(env)$ python -m pip install -e .\n(env)$ pytest --cov\n```\n\n### Issuing a new Release\n\n1. Determine the next version you want to release. For that, check the\n   [CHANGELOG](https://gitlab.com/clade-public/pyjaniml/-/blob/main/CHANGELOG.md)\n   and the chances made since the last release. Let's call it `$VERSION`.\n\n1. Start a new branch `release/$VERSION`.\n\n   ```console\n   (env)$ git checkout main\n   (env)$ git pull\n   (env)$ git checkout -b \"release/$VERSION\"\n   ```\n\n1. Update the\n   [CHANGELOG](https://gitlab.com/clade-public/pyjaniml/-/blob/main/CHANGELOG.md)\n   with the new desired version. Also ensure the notes for the new release make\n   sense and are coherant. Remember, the target audience for this changelog.\n\n1. Commit the changes an push them. Then open a merge request.\n\n   ```console\n   (env)$ git add CHANGELOG.md\n   (env)$ git commit -m \"Release $VERSION\"\n   (env)$ git push -o merge_request.create -u origin \"release/$VERSION\"\n   ```\n\n1. Once the merge request has been approved and merged, pull the changes, add a\n   git tag and push it:\n\n   ```console\n   (env)$ git checkout main\n   (env)$ git pull\n   (env)$ # If you have a GPG key, please sign the tag:\n   (env)$ git tag -s -m \"Release $VERSION\" \"$VERSION\"\n   (env)$ # If you do not have a GPG key:\n   (env)$ git tag -m \"Release $VERSION\" \"$VERSION\"\n   (env)$ git push --tags\n   ```\n\n1. [Check the build pipeline](https://gitlab.com/clade-public/pyjaniml/-/pipelines?scope=tags)\n\n### Converting Bruker OPUS Files\n\nBruker OPUS Files can be converted into json using the following snippet:\n```Python\nfile_path=/Path/To/Files\nimport pyjaniml\n converter = Converter()\n_ = converter.convert_folder_and_zip(file_path)\n```\n\nor directly via the console\n\n```console\npython3 pyjaniml /Path/To/Files\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Classes for AniML handling",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://gitlab.com/clade-gmbh/pyjaniml"
    },
    "split_keywords": [
        "animl",
        "json"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "571844615042e1b111b51d2a31cf1b89d5a62de797f1a89b1a960978c1c34468",
                "md5": "7f46fe4568ab3be27c83389f6de3608b",
                "sha256": "95c86319e544528c5291fb1f321c97da6fabd9f4419e6de919538abe28030dc4"
            },
            "downloads": -1,
            "filename": "pyjaniml-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7f46fe4568ab3be27c83389f6de3608b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 9999,
            "upload_time": "2023-10-19T11:28:40",
            "upload_time_iso_8601": "2023-10-19T11:28:40.638814Z",
            "url": "https://files.pythonhosted.org/packages/57/18/44615042e1b111b51d2a31cf1b89d5a62de797f1a89b1a960978c1c34468/pyjaniml-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3a897fec2750dc43caed7eab0ebd67c9b4d2b47a11897ccf220c8450ebd532db",
                "md5": "5c05c1c722c51c79f91d0e4cf5ec6dfe",
                "sha256": "410c2d1dd7f9f50cb0640158cbda3908d35d69741292401405ed6fdb138626bf"
            },
            "downloads": -1,
            "filename": "pyjaniml-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "5c05c1c722c51c79f91d0e4cf5ec6dfe",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 25569,
            "upload_time": "2023-10-19T11:28:41",
            "upload_time_iso_8601": "2023-10-19T11:28:41.857683Z",
            "url": "https://files.pythonhosted.org/packages/3a/89/7fec2750dc43caed7eab0ebd67c9b4d2b47a11897ccf220c8450ebd532db/pyjaniml-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-19 11:28:41",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "clade-gmbh",
    "gitlab_project": "pyjaniml",
    "lcname": "pyjaniml"
}
        
Elapsed time: 0.13944s