# jsonype
## Usage
See [documentation](https://jsonype.readthedocs.io/v0.5.0/).
## Similar tools
- [typedload](https://github.com/ltworf/typedload) is also a package to
"Load and dump json-like data into typed data structures in Python3". It uses
a less permissive license.
- [Pydantic](https://docs.pydantic.dev) is a widely used data validation library for Python.
It is often used for converting to and from JSON, but offers much more than that. Unlike in case of
jsonype classes that should be converted from/to JSON need to inherit from a base class (`BaseModel`).
## Development
### Prerequisites
- Python >= 3.11:
Can be installed with [pyenv](https://github.com/pyenv/pyenv):
- `pyenv install 3.11`
- [Poetry](https://python-poetry.org/) >=1.2: Can be installed with [pipx](https://pipx.pypa.io/):
- `pipx install poetry`
See [Poetry's documentation](https://python-poetry.org/docs/#installation)
for alternative installation options, but make sure that poetry plugins can be installed.
- [make](https://www.gnu.org/software/make/) for building documentation
### Setup virtual env
```bash
poetry self add poetry-setuptools-scm-plugin@latest
poetry install
poetry self add poetry-plugin-shell # only required for poetry >= 2
poetry shell
```
All commands below assume that they are executed in a corresponding
virtual environment (e.g. in a shell started by `poetry shell`) and the
current directory is set to the project's root folder.
### Run checks
```bash
./check.sh
```
### Run build
```bash
./build.sh
```
### Release
```bash
./release.sh [#.#.#]
git push [GITHUB-REPO] v[#.#.#]
```
### Documentation
#### Add new modules/packages
```bash
cd docs
sphinx-apidoc -o source ../jsonype/
```
Raw data
{
"_id": null,
"home_page": "https://github.com/volkerstampa/jsonype",
"name": "jsonype",
"maintainer": "Volker Stampa",
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": "Volker.Stampa@gmx.net",
"keywords": "json",
"author": "Volker Stampa",
"author_email": "Volker.Stampa@gmx.net",
"download_url": "https://files.pythonhosted.org/packages/2c/8e/11c047b1d06b3daf13ad6d5cb4f518d48899b62975e8559e25f565380705/jsonype-0.5.0.tar.gz",
"platform": null,
"description": "# jsonype\n\n## Usage\n\nSee [documentation](https://jsonype.readthedocs.io/v0.5.0/).\n\n## Similar tools\n\n- [typedload](https://github.com/ltworf/typedload) is also a package to \n \"Load and dump json-like data into typed data structures in Python3\". It uses \n a less permissive license.\n- [Pydantic](https://docs.pydantic.dev) is a widely used data validation library for Python.\n It is often used for converting to and from JSON, but offers much more than that. Unlike in case of\n jsonype classes that should be converted from/to JSON need to inherit from a base class (`BaseModel`).\n\n## Development\n\n### Prerequisites\n\n- Python >= 3.11:\n Can be installed with [pyenv](https://github.com/pyenv/pyenv):\n - `pyenv install 3.11`\n- [Poetry](https://python-poetry.org/) >=1.2: Can be installed with [pipx](https://pipx.pypa.io/):\n - `pipx install poetry`\n\n See [Poetry's documentation](https://python-poetry.org/docs/#installation)\n for alternative installation options, but make sure that poetry plugins can be installed.\n- [make](https://www.gnu.org/software/make/) for building documentation\n\n### Setup virtual env\n\n```bash\npoetry self add poetry-setuptools-scm-plugin@latest\npoetry install\npoetry self add poetry-plugin-shell # only required for poetry >= 2\npoetry shell\n```\n\nAll commands below assume that they are executed in a corresponding\nvirtual environment (e.g. in a shell started by `poetry shell`) and the\ncurrent directory is set to the project's root folder.\n\n### Run checks\n\n```bash\n./check.sh\n```\n\n### Run build\n\n```bash\n./build.sh\n```\n\n### Release\n\n```bash\n./release.sh [#.#.#]\ngit push [GITHUB-REPO] v[#.#.#]\n```\n\n### Documentation\n\n#### Add new modules/packages\n\n```bash\ncd docs\nsphinx-apidoc -o source ../jsonype/\n```\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "A package for converting classes with type hints to/from JSON",
"version": "0.5.0",
"project_urls": {
"Homepage": "https://github.com/volkerstampa/jsonype"
},
"split_keywords": [
"json"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "61c44602dd07c7b642501edaf215f98bda59b588dd7c7c9f6b4b8a0b0515ca36",
"md5": "52fca70d705cdab8068cdf3a7973dee6",
"sha256": "50eb22084967184c7dddb97597407eb23ca8ab9d412ff6dd8c89e31d942135c1"
},
"downloads": -1,
"filename": "jsonype-0.5.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "52fca70d705cdab8068cdf3a7973dee6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 19806,
"upload_time": "2025-02-23T16:23:38",
"upload_time_iso_8601": "2025-02-23T16:23:38.873375Z",
"url": "https://files.pythonhosted.org/packages/61/c4/4602dd07c7b642501edaf215f98bda59b588dd7c7c9f6b4b8a0b0515ca36/jsonype-0.5.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2c8e11c047b1d06b3daf13ad6d5cb4f518d48899b62975e8559e25f565380705",
"md5": "ec81e03c6fa230d520848a40b1ff3703",
"sha256": "1ce555a9687bc0351e2e11afbd4ab186d5bbfa4bcdd906eb4751b4ea82439b91"
},
"downloads": -1,
"filename": "jsonype-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "ec81e03c6fa230d520848a40b1ff3703",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 17227,
"upload_time": "2025-02-23T16:23:40",
"upload_time_iso_8601": "2025-02-23T16:23:40.162443Z",
"url": "https://files.pythonhosted.org/packages/2c/8e/11c047b1d06b3daf13ad6d5cb4f518d48899b62975e8559e25f565380705/jsonype-0.5.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-23 16:23:40",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "volkerstampa",
"github_project": "jsonype",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "jsonype"
}