jsoner-lib


Namejsoner-lib JSON
Version 0.5 PyPI version JSON
download
home_pagehttps://github.com/kradt/jsoner
Summary
upload_time2023-07-03 01:43:47
maintainer
docs_urlNone
authorkradt
requires_python>=3.11
licenseMIT
keywords jsoner
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Jsoner

Convenient and fast adding objects to json file

## Installation

`pip install jsoner-lib`

## A simple example
```python
from pydantic import BaseModel


class Dog(BaseModel):
    name: str
    angry: bool


class Cat(BaseModel):
    name: str
    lazy: bool


class Person(BaseModel):
    name: str
    age: str
    animals: list[Cat | Dog] | None

"""
    the so-called imaginary data that you get, for example, when parsing a website
"""
persons = [
    Person(name="Alex", age=40, animals=[Cat(name="Terminator", lazy=False)]),
    Person(name="Victor", age=24, animals=[Dog(name="Barsic", angry=True)]),
    Person(name="Michle", age=59, animals=[Cat(name="Barbon", lazy=True)]),
    Person(name="Tomas", age=42, animals=[Cat(name="Spider", lazy=False)]),
    Person(name="Robert", age=30, animals=[Cat(name="Kraul", lazy=True)]),
    Person(name="Antony", age=29, animals=[Cat(name="Green", lazy=False)])
]

jsn = Jsoner(models=[Person], filename="persons.json")


for psn in persons:
    jsn.append(psn)

jsn.save(indent=4)


## persons.json
"""
[
    {
        "name": "Alex",
        "age": "40",
        "animals": [
            {
                "name": "Terminator",
                "lazy": false
            }
        ]
    },
    {
        "name": "Victor",
        "age": "24",
        "animals": [
            {
                "name": "Barsic",
                "angry": true
            }
        ]
    },
    {
        "name": "Michle",
        "age": "59",
        "animals": [
            {
                "name": "Barbon",
                "lazy": true
            }
        ]
    },
...
...
"""
```

You can find examples in file /example/

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kradt/jsoner",
    "name": "jsoner-lib",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": "",
    "keywords": "jsoner",
    "author": "kradt",
    "author_email": "sidorenkoarem950@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/19/2e/6d4df56cdeac7180010a2b9fcb74bcd6bff8642e236d5dd1515ca7ce89f0/jsoner-lib-0.5.tar.gz",
    "platform": null,
    "description": "# Jsoner\n\nConvenient and fast adding objects to json file\n\n## Installation\n\n`pip install jsoner-lib`\n\n## A simple example\n```python\nfrom pydantic import BaseModel\n\n\nclass Dog(BaseModel):\n    name: str\n    angry: bool\n\n\nclass Cat(BaseModel):\n    name: str\n    lazy: bool\n\n\nclass Person(BaseModel):\n    name: str\n    age: str\n    animals: list[Cat | Dog] | None\n\n\"\"\"\n    the so-called imaginary data that you get, for example, when parsing a website\n\"\"\"\npersons = [\n    Person(name=\"Alex\", age=40, animals=[Cat(name=\"Terminator\", lazy=False)]),\n    Person(name=\"Victor\", age=24, animals=[Dog(name=\"Barsic\", angry=True)]),\n    Person(name=\"Michle\", age=59, animals=[Cat(name=\"Barbon\", lazy=True)]),\n    Person(name=\"Tomas\", age=42, animals=[Cat(name=\"Spider\", lazy=False)]),\n    Person(name=\"Robert\", age=30, animals=[Cat(name=\"Kraul\", lazy=True)]),\n    Person(name=\"Antony\", age=29, animals=[Cat(name=\"Green\", lazy=False)])\n]\n\njsn = Jsoner(models=[Person], filename=\"persons.json\")\n\n\nfor psn in persons:\n    jsn.append(psn)\n\njsn.save(indent=4)\n\n\n## persons.json\n\"\"\"\n[\n    {\n        \"name\": \"Alex\",\n        \"age\": \"40\",\n        \"animals\": [\n            {\n                \"name\": \"Terminator\",\n                \"lazy\": false\n            }\n        ]\n    },\n    {\n        \"name\": \"Victor\",\n        \"age\": \"24\",\n        \"animals\": [\n            {\n                \"name\": \"Barsic\",\n                \"angry\": true\n            }\n        ]\n    },\n    {\n        \"name\": \"Michle\",\n        \"age\": \"59\",\n        \"animals\": [\n            {\n                \"name\": \"Barbon\",\n                \"lazy\": true\n            }\n        ]\n    },\n...\n...\n\"\"\"\n```\n\nYou can find examples in file /example/\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "",
    "version": "0.5",
    "project_urls": {
        "Homepage": "https://github.com/kradt/jsoner"
    },
    "split_keywords": [
        "jsoner"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f601f69efd36eeedb5a828925794c9329c2a292126f26773ea43c4fb9930db8f",
                "md5": "bc8b1b28e232b53f0a01ab374b45c2e0",
                "sha256": "88c8ebf2e65b3c4f611e71a9b00db1e8f980b9e2b5077070865db09cb0381890"
            },
            "downloads": -1,
            "filename": "jsoner_lib-0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bc8b1b28e232b53f0a01ab374b45c2e0",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 3680,
            "upload_time": "2023-07-03T01:43:45",
            "upload_time_iso_8601": "2023-07-03T01:43:45.863273Z",
            "url": "https://files.pythonhosted.org/packages/f6/01/f69efd36eeedb5a828925794c9329c2a292126f26773ea43c4fb9930db8f/jsoner_lib-0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "192e6d4df56cdeac7180010a2b9fcb74bcd6bff8642e236d5dd1515ca7ce89f0",
                "md5": "6983209f7b73adfd5bda476c23192544",
                "sha256": "47d590a55cbbf2989ca2a1a5894f350860cd0c02ec9bec40a3dce868a4180322"
            },
            "downloads": -1,
            "filename": "jsoner-lib-0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "6983209f7b73adfd5bda476c23192544",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 3381,
            "upload_time": "2023-07-03T01:43:47",
            "upload_time_iso_8601": "2023-07-03T01:43:47.407600Z",
            "url": "https://files.pythonhosted.org/packages/19/2e/6d4df56cdeac7180010a2b9fcb74bcd6bff8642e236d5dd1515ca7ce89f0/jsoner-lib-0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-03 01:43:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kradt",
    "github_project": "jsoner",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "jsoner-lib"
}
        
Elapsed time: 0.09850s